From a2ca6a685f6f0bfac2389094336c2578932933d6 Mon Sep 17 00:00:00 2001 From: Louis Date: Tue, 21 Jan 2025 15:43:02 +0700 Subject: [PATCH 1/2] chore: bump llama.cpp to the latest version --- extensions/inference-cortex-extension/download.bat | 2 +- extensions/inference-cortex-extension/download.sh | 2 +- extensions/inference-cortex-extension/rollup.config.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/extensions/inference-cortex-extension/download.bat b/extensions/inference-cortex-extension/download.bat index a167a9cde..6e70cf6f3 100644 --- a/extensions/inference-cortex-extension/download.bat +++ b/extensions/inference-cortex-extension/download.bat @@ -2,7 +2,7 @@ set BIN_PATH=./bin set SHARED_PATH=./../../electron/shared set /p CORTEX_VERSION=<./bin/version.txt -set ENGINE_VERSION=0.1.42-hotfix +set ENGINE_VERSION=0.1.49 @REM Download cortex.llamacpp binaries set DOWNLOAD_URL=https://github.com/janhq/cortex.llamacpp/releases/download/v%ENGINE_VERSION%/cortex.llamacpp-%ENGINE_VERSION%-windows-amd64 diff --git a/extensions/inference-cortex-extension/download.sh b/extensions/inference-cortex-extension/download.sh index f5db76030..0b2371712 100755 --- a/extensions/inference-cortex-extension/download.sh +++ b/extensions/inference-cortex-extension/download.sh @@ -2,7 +2,7 @@ # Read CORTEX_VERSION CORTEX_VERSION=$(cat ./bin/version.txt) -ENGINE_VERSION=0.1.42-hotfix +ENGINE_VERSION=0.1.49 CORTEX_RELEASE_URL="https://github.com/janhq/cortex.cpp/releases/download" ENGINE_DOWNLOAD_URL="https://github.com/janhq/cortex.llamacpp/releases/download/v${ENGINE_VERSION}/cortex.llamacpp-${ENGINE_VERSION}" CUDA_DOWNLOAD_URL="https://github.com/janhq/cortex.llamacpp/releases/download/v${ENGINE_VERSION}" diff --git a/extensions/inference-cortex-extension/rollup.config.ts b/extensions/inference-cortex-extension/rollup.config.ts index 6cfe982b4..6acfc2a70 100644 --- a/extensions/inference-cortex-extension/rollup.config.ts +++ b/extensions/inference-cortex-extension/rollup.config.ts @@ -120,7 +120,7 @@ export default [ SETTINGS: JSON.stringify(defaultSettingJson), CORTEX_API_URL: JSON.stringify('http://127.0.0.1:39291'), CORTEX_SOCKET_URL: JSON.stringify('ws://127.0.0.1:39291'), - CORTEX_ENGINE_VERSION: JSON.stringify('v0.1.42-hotfix'), + CORTEX_ENGINE_VERSION: JSON.stringify('v0.1.49'), }), // Allow json resolution json(), From 156dbc21d0670defbdbfc9590fce308b872af34c Mon Sep 17 00:00:00 2001 From: Louis Date: Wed, 22 Jan 2025 11:03:38 +0700 Subject: [PATCH 2/2] fix: thread title summarization doesn't work well on reasoning models --- web/containers/Providers/ModelHandler.tsx | 24 +++++++---------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/web/containers/Providers/ModelHandler.tsx b/web/containers/Providers/ModelHandler.tsx index 42376c081..d7ea0a786 100644 --- a/web/containers/Providers/ModelHandler.tsx +++ b/web/containers/Providers/ModelHandler.tsx @@ -132,7 +132,7 @@ export default function ModelHandler() { return } - const messageContent = message.content[0]?.text?.value + let messageContent = message.content[0]?.text?.value if (!messageContent) { console.warn( `Failed to update title for thread ${message.thread_id}: Responded content is null!` @@ -144,27 +144,17 @@ export default function ModelHandler() { // And no new line character is present // And non-alphanumeric characters should be removed if (messageContent.includes('\n')) { - console.warn( - `Failed to update title for thread ${message.thread_id}: Title can't contain new line character!` - ) - return + messageContent = messageContent.replace(/\n/g, ' ') + } + const match = messageContent.match(/<\/think>(.*)$/) + if (match) { + messageContent = match[1] } - // Remove non-alphanumeric characters const cleanedMessageContent = messageContent .replace(/[^\p{L}\s]+/gu, '') .trim() - // Split the message into words - const words = cleanedMessageContent.split(' ') - - if (words.length >= maxWordForThreadTitle) { - console.warn( - `Failed to update title for thread ${message.thread_id}: Title can't be greater than ${maxWordForThreadTitle} words!` - ) - return - } - // Do not persist empty message if (!cleanedMessageContent.trim().length) return @@ -361,7 +351,7 @@ export default function ModelHandler() { if (!threadMessages || threadMessages.length === 0) return - const summarizeFirstPrompt = `Summarize in a ${maxWordForThreadTitle}-word Title. Give the title only. "${threadMessages[0]?.content[0]?.text?.value}"` + const summarizeFirstPrompt = `Summarize in a ${maxWordForThreadTitle}-word Title. Give the title only. Here is the message: "${threadMessages[0]?.content[0]?.text?.value}"` // Prompt: Given this query from user {query}, return to me the summary in 10 words as the title const msgId = ulid()