From 985502787692a08a1543991da6706e1b2565a6f5 Mon Sep 17 00:00:00 2001 From: heimoshuiyu Date: Tue, 15 Oct 2024 15:11:21 +0800 Subject: [PATCH] refac: @/utils/buildForSearch.ts --- src/app.tsx | 32 ++----------------- src/chatbox.tsx | 64 ++++++++++++++++++------------------- src/const.ts | 2 +- src/utils/buildForSearch.ts | 27 ++++++++++++++++ src/utils/totalCost.ts | 2 +- 5 files changed, 64 insertions(+), 63 deletions(-) create mode 100644 src/utils/buildForSearch.ts diff --git a/src/app.tsx b/src/app.tsx index ccb6aad..1e50c51 100644 --- a/src/app.tsx +++ b/src/app.tsx @@ -12,35 +12,9 @@ import { newChatStore } from "@/types/newChatstore"; import { STORAGE_NAME, STORAGE_NAME_INDEXES, - STORAGE_NAME_SELECTED -} from '@/const'; - - -export function BuildFiledForSearch(chatStore: ChatStore): string[] { - const contents_for_index: string[] = []; - - if (chatStore.systemMessageContent.trim()) { - contents_for_index.push(chatStore.systemMessageContent.trim()); - } - - for (const msg of chatStore.history) { - if (typeof msg.content === "string") { - contents_for_index.push(msg.content); - continue; - } - - for (const chunk of msg.content) { - if (chunk.type === "text") { - const text = chunk.text; - if (text?.trim()) { - contents_for_index.push(text); - } - } - } - } - - return contents_for_index; -} + STORAGE_NAME_SELECTED, +} from "@/const"; +import { BuildFiledForSearch } from "@/utils/buildForSearch"; export function App() { // init selected index diff --git a/src/chatbox.tsx b/src/chatbox.tsx index ba13ac1..36ee71f 100644 --- a/src/chatbox.tsx +++ b/src/chatbox.tsx @@ -95,7 +95,7 @@ export default function ChatBOX(props: { const update_total_tokens = () => { // manually estimate token client.total_tokens = calculate_token_length( - chatStore.systemMessageContent + chatStore.systemMessageContent, ); for (const msg of chatStore.history .filter(({ hide }) => !hide) @@ -151,7 +151,7 @@ export default function ChatBOX(props: { // update tool call arguments const tool = allChunkTool.find( - (tool) => tool.index === tool_call.index + (tool) => tool.index === tool_call.index, ); if (!tool) { @@ -166,7 +166,7 @@ export default function ChatBOX(props: { allChunkMessage.join("") + allChunkTool.map((tool) => { return `Tool Call ID: ${tool.id}\nType: ${tool.type}\nFunction: ${tool.function.name}\nArguments: ${tool.function.arguments}`; - }) + }), ); } setShowGenerating(false); @@ -304,7 +304,7 @@ export default function ChatBOX(props: { setShowGenerating(true); const response = await client._fetch( chatStore.streamMode, - chatStore.logprobs + chatStore.logprobs, ); const contentType = response.headers.get("content-type"); if (contentType?.startsWith("text/event-stream")) { @@ -374,33 +374,33 @@ export default function ChatBOX(props: { const [templates, _setTemplates] = useState( JSON.parse( - localStorage.getItem(STORAGE_NAME_TEMPLATE) || "[]" - ) as TemplateChatStore[] + localStorage.getItem(STORAGE_NAME_TEMPLATE) || "[]", + ) as TemplateChatStore[], ); const [templateAPIs, _setTemplateAPIs] = useState( JSON.parse( - localStorage.getItem(STORAGE_NAME_TEMPLATE_API) || "[]" - ) as TemplateAPI[] + localStorage.getItem(STORAGE_NAME_TEMPLATE_API) || "[]", + ) as TemplateAPI[], ); const [templateAPIsWhisper, _setTemplateAPIsWhisper] = useState( JSON.parse( - localStorage.getItem(STORAGE_NAME_TEMPLATE_API_WHISPER) || "[]" - ) as TemplateAPI[] + localStorage.getItem(STORAGE_NAME_TEMPLATE_API_WHISPER) || "[]", + ) as TemplateAPI[], ); const [templateAPIsTTS, _setTemplateAPIsTTS] = useState( JSON.parse( - localStorage.getItem(STORAGE_NAME_TEMPLATE_API_TTS) || "[]" - ) as TemplateAPI[] + localStorage.getItem(STORAGE_NAME_TEMPLATE_API_TTS) || "[]", + ) as TemplateAPI[], ); const [templateAPIsImageGen, _setTemplateAPIsImageGen] = useState( JSON.parse( - localStorage.getItem(STORAGE_NAME_TEMPLATE_API_IMAGE_GEN) || "[]" - ) as TemplateAPI[] + localStorage.getItem(STORAGE_NAME_TEMPLATE_API_IMAGE_GEN) || "[]", + ) as TemplateAPI[], ); const [toolsTemplates, _setToolsTemplates] = useState( JSON.parse( - localStorage.getItem(STORAGE_NAME_TEMPLATE_TOOLS) || "[]" - ) as TemplateTools[] + localStorage.getItem(STORAGE_NAME_TEMPLATE_TOOLS) || "[]", + ) as TemplateTools[], ); const setTemplates = (templates: TemplateChatStore[]) => { localStorage.setItem(STORAGE_NAME_TEMPLATE, JSON.stringify(templates)); @@ -409,35 +409,35 @@ export default function ChatBOX(props: { const setTemplateAPIs = (templateAPIs: TemplateAPI[]) => { localStorage.setItem( STORAGE_NAME_TEMPLATE_API, - JSON.stringify(templateAPIs) + JSON.stringify(templateAPIs), ); _setTemplateAPIs(templateAPIs); }; const setTemplateAPIsWhisper = (templateAPIWhisper: TemplateAPI[]) => { localStorage.setItem( STORAGE_NAME_TEMPLATE_API_WHISPER, - JSON.stringify(templateAPIWhisper) + JSON.stringify(templateAPIWhisper), ); _setTemplateAPIsWhisper(templateAPIWhisper); }; const setTemplateAPIsTTS = (templateAPITTS: TemplateAPI[]) => { localStorage.setItem( STORAGE_NAME_TEMPLATE_API_TTS, - JSON.stringify(templateAPITTS) + JSON.stringify(templateAPITTS), ); _setTemplateAPIsTTS(templateAPITTS); }; const setTemplateAPIsImageGen = (templateAPIImageGen: TemplateAPI[]) => { localStorage.setItem( STORAGE_NAME_TEMPLATE_API_IMAGE_GEN, - JSON.stringify(templateAPIImageGen) + JSON.stringify(templateAPIImageGen), ); _setTemplateAPIsImageGen(templateAPIImageGen); }; const setTemplateTools = (templateTools: TemplateTools[]) => { localStorage.setItem( STORAGE_NAME_TEMPLATE_TOOLS, - JSON.stringify(templateTools) + JSON.stringify(templateTools), ); _setToolsTemplates(templateTools); }; @@ -808,49 +808,49 @@ export default function ChatBOX(props: { if (!newChatStore.apiEndpoint) { newChatStore.apiEndpoint = getDefaultParams( "api", - chatStore.apiEndpoint + chatStore.apiEndpoint, ); } if (!newChatStore.apiKey) { newChatStore.apiKey = getDefaultParams( "key", - chatStore.apiKey + chatStore.apiKey, ); } if (!newChatStore.whisper_api) { newChatStore.whisper_api = getDefaultParams( "whisper-api", - chatStore.whisper_api + chatStore.whisper_api, ); } if (!newChatStore.whisper_key) { newChatStore.whisper_key = getDefaultParams( "whisper-key", - chatStore.whisper_key + chatStore.whisper_key, ); } if (!newChatStore.tts_api) { newChatStore.tts_api = getDefaultParams( "tts-api", - chatStore.tts_api + chatStore.tts_api, ); } if (!newChatStore.tts_key) { newChatStore.tts_key = getDefaultParams( "tts-key", - chatStore.tts_key + chatStore.tts_key, ); } if (!newChatStore.image_gen_api) { newChatStore.image_gen_api = getDefaultParams( "image-gen-api", - chatStore.image_gen_api + chatStore.image_gen_api, ); } if (!newChatStore.image_gen_key) { newChatStore.image_gen_key = getDefaultParams( "image-gen-key", - chatStore.image_gen_key + chatStore.image_gen_key, ); } newChatStore.cost = 0; @@ -907,7 +907,7 @@ export default function ChatBOX(props: {
↖{Tr("Click the conor to create a new chat")}
⚠ {Tr( - "All chat history and settings are stored in the local browser" + "All chat history and settings are stored in the local browser", )}

@@ -1150,7 +1150,7 @@ export default function ChatBOX(props: { } else { return content.map((c) => c?.text).join(" "); } - }) + }), ) .concat([inputMsg]) .join(" "); @@ -1164,7 +1164,7 @@ export default function ChatBOX(props: { await navigator.mediaDevices.getUserMedia({ audio: true, }), - { audioBitsPerSecond: 64 * 1000 } + { audioBitsPerSecond: 64 * 1000 }, ); // mount mediaRecorder to ref diff --git a/src/const.ts b/src/const.ts index 8692abd..275a9a3 100644 --- a/src/const.ts +++ b/src/const.ts @@ -11,4 +11,4 @@ export const STORAGE_NAME_TEMPLATE_API = `${STORAGE_NAME_TEMPLATE}-api`; export const STORAGE_NAME_TEMPLATE_API_WHISPER = `${STORAGE_NAME_TEMPLATE}-api-whisper`; export const STORAGE_NAME_TEMPLATE_API_TTS = `${STORAGE_NAME_TEMPLATE}-api-tts`; export const STORAGE_NAME_TEMPLATE_API_IMAGE_GEN = `${STORAGE_NAME_TEMPLATE}-api-image-gen`; -export const STORAGE_NAME_TEMPLATE_TOOLS = `${STORAGE_NAME_TEMPLATE}-tools`; \ No newline at end of file +export const STORAGE_NAME_TEMPLATE_TOOLS = `${STORAGE_NAME_TEMPLATE}-tools`; diff --git a/src/utils/buildForSearch.ts b/src/utils/buildForSearch.ts new file mode 100644 index 0000000..b7c9236 --- /dev/null +++ b/src/utils/buildForSearch.ts @@ -0,0 +1,27 @@ +import { ChatStore } from "@/types/chatstore"; + +export function BuildFiledForSearch(chatStore: ChatStore): string[] { + const contents_for_index: string[] = []; + + if (chatStore.systemMessageContent.trim()) { + contents_for_index.push(chatStore.systemMessageContent.trim()); + } + + for (const msg of chatStore.history) { + if (typeof msg.content === "string") { + contents_for_index.push(msg.content); + continue; + } + + for (const chunk of msg.content) { + if (chunk.type === "text") { + const text = chunk.text; + if (text?.trim()) { + contents_for_index.push(text); + } + } + } + } + + return contents_for_index; +} diff --git a/src/utils/totalCost.ts b/src/utils/totalCost.ts index 5b2d702..7c8c592 100644 --- a/src/utils/totalCost.ts +++ b/src/utils/totalCost.ts @@ -8,7 +8,7 @@ export function addTotalCost(cost: number) { export function getTotalCost(): number { let totalCost = parseFloat( - localStorage.getItem(STORAGE_NAME_TOTALCOST) ?? "0" + localStorage.getItem(STORAGE_NAME_TOTALCOST) ?? "0", ); return totalCost; }