added small change to add LLM name to the chats.

This commit is contained in:
Patrick Wiltrout 2024-11-07 13:31:01 -05:00
parent 1e99fe8d69
commit 8117815346
4 changed files with 26 additions and 1 deletions

View file

@ -5,6 +5,8 @@ export const messages = sqliteTable('messages', {
content: text('content').notNull(), content: text('content').notNull(),
chatId: text('chatId').notNull(), chatId: text('chatId').notNull(),
messageId: text('messageId').notNull(), messageId: text('messageId').notNull(),
llmName: text('llmName').default(""),
llmProvider: text('llmProvider').default(""),
role: text('type', { enum: ['assistant', 'user'] }), role: text('type', { enum: ['assistant', 'user'] }),
metadata: text('metadata', { metadata: text('metadata', {
mode: 'json', mode: 'json',

View file

@ -18,6 +18,8 @@ type Message = {
messageId: string; messageId: string;
chatId: string; chatId: string;
content: string; content: string;
llmName: string;
llmProvider: string;
}; };
type WSMessage = { type WSMessage = {
@ -42,6 +44,8 @@ const handleEmitterEvents = (
ws: WebSocket, ws: WebSocket,
messageId: string, messageId: string,
chatId: string, chatId: string,
llmName: string,
llmProvider: string,
) => { ) => {
let recievedMessage = ''; let recievedMessage = '';
let sources = []; let sources = [];
@ -76,6 +80,8 @@ const handleEmitterEvents = (
content: recievedMessage, content: recievedMessage,
chatId: chatId, chatId: chatId,
messageId: messageId, messageId: messageId,
llmName: llmName,
llmProvider: llmProvider,
role: 'assistant', role: 'assistant',
metadata: JSON.stringify({ metadata: JSON.stringify({
createdAt: new Date(), createdAt: new Date(),
@ -143,7 +149,7 @@ export const handleMessage = async (
parsedWSMessage.optimizationMode, parsedWSMessage.optimizationMode,
); );
handleEmitterEvents(emitter, ws, aiMessageId, parsedMessage.chatId); handleEmitterEvents(emitter, ws, aiMessageId, parsedMessage.chatId, parsedMessage.llmName, parsedMessage.llmProvider);
const chat = await db.query.chats.findFirst({ const chat = await db.query.chats.findFirst({
where: eq(chats.id, parsedMessage.chatId), where: eq(chats.id, parsedMessage.chatId),
@ -172,6 +178,8 @@ export const handleMessage = async (
content: parsedMessage.content, content: parsedMessage.content,
chatId: parsedMessage.chatId, chatId: parsedMessage.chatId,
messageId: humanMessageId, messageId: humanMessageId,
llmName: parsedMessage.llmName,
llmProvider: parsedMessage.llmProvider,
role: 'user', role: 'user',
metadata: JSON.stringify({ metadata: JSON.stringify({
createdAt: new Date(), createdAt: new Date(),

View file

@ -16,6 +16,8 @@ export type Message = {
chatId: string; chatId: string;
createdAt: Date; createdAt: Date;
content: string; content: string;
llmName: string;
llmProvider: string;
role: 'user' | 'assistant'; role: 'user' | 'assistant';
suggestions?: string[]; suggestions?: string[];
sources?: Document[]; sources?: Document[];
@ -353,6 +355,8 @@ const ChatWindow = ({ id }: { id?: string }) => {
messageId: messageId, messageId: messageId,
chatId: chatId!, chatId: chatId!,
content: message, content: message,
llmName: localStorage.getItem('chatModel') || 'NOT_SET',
llmProvider: localStorage.getItem('chatModelProvider') || 'NOT_SET',
}, },
focusMode: focusMode, focusMode: focusMode,
optimizationMode: optimizationMode, optimizationMode: optimizationMode,
@ -368,6 +372,8 @@ const ChatWindow = ({ id }: { id?: string }) => {
chatId: chatId!, chatId: chatId!,
role: 'user', role: 'user',
createdAt: new Date(), createdAt: new Date(),
llmName: localStorage.getItem('chatModel') || 'NOT_SET',
llmProvider: localStorage.getItem('chatModelProvider') || 'NOT_SET',
}, },
]); ]);
@ -392,6 +398,8 @@ const ChatWindow = ({ id }: { id?: string }) => {
role: 'assistant', role: 'assistant',
sources: sources, sources: sources,
createdAt: new Date(), createdAt: new Date(),
llmName: localStorage.getItem('chatModel') || 'NOT_SET',
llmProvider: localStorage.getItem('chatModelProvider') || 'NOT_SET',
}, },
]); ]);
added = true; added = true;
@ -410,6 +418,8 @@ const ChatWindow = ({ id }: { id?: string }) => {
role: 'assistant', role: 'assistant',
sources: sources, sources: sources,
createdAt: new Date(), createdAt: new Date(),
llmName: localStorage.getItem('chatModel') || 'NOT_SET',
llmProvider: localStorage.getItem('chatModelProvider') || 'NOT_SET',
}, },
]); ]);
added = true; added = true;

View file

@ -77,10 +77,15 @@ const MessageBox = ({
{message.role === 'assistant' && ( {message.role === 'assistant' && (
<div className="flex flex-col space-y-9 lg:space-y-0 lg:flex-row lg:justify-between lg:space-x-9"> <div className="flex flex-col space-y-9 lg:space-y-0 lg:flex-row lg:justify-between lg:space-x-9">
<div <div
ref={dividerRef} ref={dividerRef}
className="flex flex-col space-y-6 w-full lg:w-9/12" className="flex flex-col space-y-6 w-full lg:w-9/12"
> >
<div className="flex flex-col space-y-2">
<h3 className="text-black dark:text-white font-medium text-xl">{message.llmName}</h3>
</div>
{message.sources && message.sources.length > 0 && ( {message.sources && message.sources.length > 0 && (
<div className="flex flex-col space-y-2"> <div className="flex flex-col space-y-2">
<div className="flex flex-row items-center space-x-2"> <div className="flex flex-row items-center space-x-2">