refac: file handling

This commit is contained in:
Timothy J. Baek 2024-07-17 22:01:39 +02:00
parent 8b71ce23bb
commit 8ec3ed1830

View File

@ -706,6 +706,7 @@
let _response = null; let _response = null;
const responseMessage = history.messages[responseMessageId]; const responseMessage = history.messages[responseMessageId];
const userMessage = history.messages[responseMessage.parentId];
// Wait until history/message have been updated // Wait until history/message have been updated
await tick(); await tick();
@ -772,11 +773,12 @@
if (model?.info?.meta?.knowledge ?? false) { if (model?.info?.meta?.knowledge ?? false) {
files.push(...model.info.meta.knowledge); files.push(...model.info.meta.knowledge);
} }
if (responseMessage?.files) { files.push(
files.push( ...(userMessage?.files ?? []).filter((item) =>
...responseMessage?.files.filter((item) => ['web_search_results'].includes(item.type)) ['doc', 'file', 'collection'].includes(item.type)
); ),
} ...(responseMessage?.files ?? []).filter((item) => ['web_search_results'].includes(item.type))
);
eventTarget.dispatchEvent( eventTarget.dispatchEvent(
new CustomEvent('chat:start', { new CustomEvent('chat:start', {
@ -1006,17 +1008,20 @@
const sendPromptOpenAI = async (model, userPrompt, responseMessageId, _chatId) => { const sendPromptOpenAI = async (model, userPrompt, responseMessageId, _chatId) => {
let _response = null; let _response = null;
const responseMessage = history.messages[responseMessageId]; const responseMessage = history.messages[responseMessageId];
const userMessage = history.messages[responseMessage.parentId];
let files = JSON.parse(JSON.stringify(chatFiles)); let files = JSON.parse(JSON.stringify(chatFiles));
if (model?.info?.meta?.knowledge ?? false) { if (model?.info?.meta?.knowledge ?? false) {
files.push(...model.info.meta.knowledge); files.push(...model.info.meta.knowledge);
} }
if (responseMessage?.files) { files.push(
files.push( ...(userMessage?.files ?? []).filter((item) =>
...responseMessage?.files.filter((item) => ['web_search_results'].includes(item.type)) ['doc', 'file', 'collection'].includes(item.type)
); ),
} ...(responseMessage?.files ?? []).filter((item) => ['web_search_results'].includes(item.type))
);
scrollToBottom(); scrollToBottom();