fix: message from quick ask not get the selected model (#2307)

Signed-off-by: James <james@jan.ai>
Co-authored-by: James <james@jan.ai>
This commit is contained in:
NamH 2024-03-11 21:24:31 +07:00 committed by GitHub
parent f5786a85a5
commit 86af902d19
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -79,6 +79,8 @@ export default function useSendChatMessage() {
const setIsGeneratingResponse = useSetAtom(isGeneratingResponseAtom) const setIsGeneratingResponse = useSetAtom(isGeneratingResponseAtom)
const activeThreadRef = useRef<Thread | undefined>() const activeThreadRef = useRef<Thread | undefined>()
const selectedModelRef = useRef<Model | undefined>()
useEffect(() => { useEffect(() => {
modelRef.current = activeModel modelRef.current = activeModel
}, [activeModel]) }, [activeModel])
@ -91,6 +93,10 @@ export default function useSendChatMessage() {
activeThreadRef.current = activeThread activeThreadRef.current = activeThread
}, [activeThread]) }, [activeThread])
useEffect(() => {
selectedModelRef.current = selectedModel
}, [selectedModel])
const resendChatMessage = async (currentMessage: ThreadMessage) => { const resendChatMessage = async (currentMessage: ThreadMessage) => {
if (!activeThreadRef.current) { if (!activeThreadRef.current) {
console.error('No active thread') console.error('No active thread')
@ -128,11 +134,13 @@ export default function useSendChatMessage() {
type: MessageRequestType.Thread, type: MessageRequestType.Thread,
messages: messages, messages: messages,
threadId: activeThreadRef.current.id, threadId: activeThreadRef.current.id,
model: activeThreadRef.current.assistants[0].model ?? selectedModel, model:
activeThreadRef.current.assistants[0].model ?? selectedModelRef.current,
} }
const modelId = const modelId =
selectedModel?.id ?? activeThreadRef.current.assistants[0].model.id selectedModelRef.current?.id ??
activeThreadRef.current.assistants[0].model.id
if (modelRef.current?.id !== modelId) { if (modelRef.current?.id !== modelId) {
setQueuedMessage(true) setQueuedMessage(true)
@ -213,7 +221,7 @@ export default function useSendChatMessage() {
{ {
role: ChatCompletionRole.User, role: ChatCompletionRole.User,
content: content:
selectedModel && base64Blob selectedModelRef.current && base64Blob
? [ ? [
{ {
type: ChatCompletionMessageContentType.Text, type: ChatCompletionMessageContentType.Text,
@ -242,7 +250,7 @@ export default function useSendChatMessage() {
) )
let modelRequest = let modelRequest =
selectedModel ?? activeThreadRef.current.assistants[0].model selectedModelRef?.current ?? activeThreadRef.current.assistants[0].model
if (runtimeParams.stream == null) { if (runtimeParams.stream == null) {
runtimeParams.stream = true runtimeParams.stream = true
} }
@ -344,7 +352,8 @@ export default function useSendChatMessage() {
?.addNewMessage(threadMessage) ?.addNewMessage(threadMessage)
const modelId = const modelId =
selectedModel?.id ?? activeThreadRef.current.assistants[0].model.id selectedModelRef.current?.id ??
activeThreadRef.current.assistants[0].model.id
if (modelRef.current?.id !== modelId) { if (modelRef.current?.id !== modelId) {
setQueuedMessage(true) setQueuedMessage(true)