chore: fix convo summary
This commit is contained in:
parent
d27fa7962f
commit
c9cfebd7d3
@ -109,10 +109,10 @@ async function validateModelStatus(): Promise<InitModelResponse> {
|
||||
return { error: undefined };
|
||||
}
|
||||
}
|
||||
return { error: "Model is not loaded successfully" };
|
||||
return { error: "Model loading failed" };
|
||||
})
|
||||
.catch((err) => {
|
||||
return { error: `Model is not loaded successfully. ${err.message}` };
|
||||
return { error: `Model loading failed. ${err.message}` };
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@ -20,11 +20,10 @@ export const useCreateConversation = () => {
|
||||
const addNewConvoState = useSetAtom(addNewConversationStateAtom)
|
||||
|
||||
const requestCreateConvo = async (model: Model) => {
|
||||
const summary = model.name
|
||||
const mappedConvo: Thread = {
|
||||
id: generateConversationId(),
|
||||
modelId: model.id,
|
||||
summary,
|
||||
summary: model.name,
|
||||
createdAt: new Date().toISOString(),
|
||||
updatedAt: new Date().toISOString(),
|
||||
messages: [],
|
||||
|
||||
@ -20,8 +20,8 @@ export default function useDeleteModel() {
|
||||
// reload models
|
||||
setDownloadedModels(downloadedModels.filter((e) => e.id !== model.id))
|
||||
toaster({
|
||||
title: 'Delete a Model',
|
||||
description: `Model ${model.id} has been deleted.`,
|
||||
title: 'Model Deletion Successful',
|
||||
description: `The model ${model.id} has been successfully deleted.`,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@ -16,6 +16,8 @@ import { ulid } from 'ulid'
|
||||
|
||||
import { currentPromptAtom } from '@/containers/Providers/Jotai'
|
||||
|
||||
import { useActiveModel } from './useActiveModel'
|
||||
|
||||
import {
|
||||
addNewMessageAtom,
|
||||
getCurrentChatMessagesAtom,
|
||||
@ -34,24 +36,21 @@ export default function useSendChatMessage() {
|
||||
const updateConvWaiting = useSetAtom(updateConversationWaitingForResponseAtom)
|
||||
const [currentPrompt, setCurrentPrompt] = useAtom(currentPromptAtom)
|
||||
const currentMessages = useAtomValue(getCurrentChatMessagesAtom)
|
||||
|
||||
let timeout: NodeJS.Timeout | undefined = undefined
|
||||
const { activeModel } = useActiveModel()
|
||||
|
||||
function updateConvSummary(newMessage: MessageRequest) {
|
||||
if (timeout) {
|
||||
clearTimeout(timeout)
|
||||
}
|
||||
timeout = setTimeout(() => {
|
||||
const conv = currentConvo
|
||||
if (
|
||||
!currentConvo?.summary ||
|
||||
currentConvo &&
|
||||
newMessage.messages &&
|
||||
newMessage.messages.length > 2 &&
|
||||
(!currentConvo.summary ||
|
||||
currentConvo.summary === '' ||
|
||||
currentConvo.summary.startsWith('Prompt:')
|
||||
currentConvo.summary === activeModel?.name)
|
||||
) {
|
||||
const summaryMsg: ChatCompletionMessage = {
|
||||
role: ChatCompletionRole.User,
|
||||
content:
|
||||
'summary this conversation in 5 words, the response should just include the summary',
|
||||
'summary this conversation in a few words, the response should just include the summary',
|
||||
}
|
||||
// Request convo summary
|
||||
setTimeout(async () => {
|
||||
@ -59,16 +58,17 @@ export default function useSendChatMessage() {
|
||||
.get<InferencePlugin>(PluginType.Inference)
|
||||
?.inferenceRequest({
|
||||
...newMessage,
|
||||
messages: newMessage.messages?.concat([summaryMsg]),
|
||||
messages: newMessage.messages?.slice(0, -1).concat([summaryMsg]),
|
||||
})
|
||||
|
||||
if (
|
||||
currentConvo &&
|
||||
currentConvo.id === newMessage.threadId &&
|
||||
result?.message &&
|
||||
result.message.split(' ').length <= 10 &&
|
||||
conv?.id
|
||||
result?.message?.trim().length > 0 &&
|
||||
result.message.split(' ').length <= 10
|
||||
) {
|
||||
const updatedConv = {
|
||||
...conv,
|
||||
...currentConvo,
|
||||
summary: result.message,
|
||||
}
|
||||
updateConversation(updatedConv)
|
||||
@ -81,7 +81,6 @@ export default function useSendChatMessage() {
|
||||
}
|
||||
}, 1000)
|
||||
}
|
||||
}, 100)
|
||||
}
|
||||
|
||||
const sendChatMessage = async () => {
|
||||
@ -124,15 +123,6 @@ export default function useSendChatMessage() {
|
||||
addNewMessage(threadMessage)
|
||||
|
||||
events.emit(EventName.OnNewMessageRequest, messageRequest)
|
||||
if (!currentConvo?.summary && currentConvo) {
|
||||
const updatedConv: Thread = {
|
||||
...currentConvo,
|
||||
summary: `Prompt: ${prompt}`,
|
||||
}
|
||||
|
||||
updateConversation(updatedConv)
|
||||
}
|
||||
|
||||
updateConvSummary(messageRequest)
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user