From 56fa17caf27949818d34c367605371ceac803c74 Mon Sep 17 00:00:00 2001 From: Sean Hatfield Date: Thu, 18 Jan 2024 12:34:20 -0800 Subject: [PATCH] create configurable topN per workspace (#616) * create configurable topN per workspace * Update TopN UI text Fix fallbacks for all providers Add SQLite CHECK to TOPN value * merge with master Update zilliz provider for variable TopN --------- Co-authored-by: timothycarambat --- .../Modals/MangeWorkspace/Settings/index.jsx | 35 +++++++++++++++++++ server/models/workspace.js | 1 + .../20240118201333_init/migration.sql | 2 ++ server/prisma/schema.prisma | 1 + server/utils/chats/index.js | 1 + server/utils/chats/stream.js | 1 + .../utils/vectorDbProviders/chroma/index.js | 9 +++-- server/utils/vectorDbProviders/lance/index.js | 9 +++-- .../utils/vectorDbProviders/milvus/index.js | 8 +++-- .../utils/vectorDbProviders/pinecone/index.js | 9 +++-- .../utils/vectorDbProviders/qdrant/index.js | 9 +++-- .../utils/vectorDbProviders/weaviate/index.js | 9 +++-- .../utils/vectorDbProviders/zilliz/index.js | 8 +++-- 13 files changed, 83 insertions(+), 19 deletions(-) create mode 100644 server/prisma/migrations/20240118201333_init/migration.sql diff --git a/frontend/src/components/Modals/MangeWorkspace/Settings/index.jsx b/frontend/src/components/Modals/MangeWorkspace/Settings/index.jsx index da0e7b9f..b288dc6c 100644 --- a/frontend/src/components/Modals/MangeWorkspace/Settings/index.jsx +++ b/frontend/src/components/Modals/MangeWorkspace/Settings/index.jsx @@ -21,6 +21,9 @@ function castToType(key, value) { similarityThreshold: { cast: (value) => parseFloat(value), }, + topN: { + cast: (value) => Number(value), + }, }; if (!definitions.hasOwnProperty(key)) return value; @@ -236,6 +239,38 @@ export default function WorkspaceSettings({ active, workspace, settings }) { autoComplete="off" onChange={() => setHasChanges(true)} /> + +
+
+ +

+ This setting controls the maximum amount of context + snippets the will be sent to the LLM for per chat or + query. +
+ Recommended: 4 +

+
+ e.target.blur()} + defaultValue={workspace?.topN ?? 4} + className="bg-zinc-900 text-white text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5" + placeholder="4" + required={true} + autoComplete="off" + onChange={() => setHasChanges(true)} + /> +