diff --git a/src/main/embeddings/VoyageEmbeddings.ts b/src/main/embeddings/VoyageEmbeddings.ts index ce21afe580..dee2695c87 100644 --- a/src/main/embeddings/VoyageEmbeddings.ts +++ b/src/main/embeddings/VoyageEmbeddings.ts @@ -11,6 +11,7 @@ export default class VoyageEmbeddings extends BaseEmbeddings { if (!this.configuration.outputDimension) { throw new Error('You need to pass in the optional dimensions parameter for this model') } + console.log('VoyageEmbeddings', this.configuration) this.model = new _VoyageEmbeddings(this.configuration) } override async getDimensions(): Promise { diff --git a/src/renderer/src/config/embedings.ts b/src/renderer/src/config/embedings.ts index 1530a006c4..b6be2659bd 100644 --- a/src/renderer/src/config/embedings.ts +++ b/src/renderer/src/config/embedings.ts @@ -243,18 +243,6 @@ export const EMBEDDING_MODELS = [ id: 'mistral-embed', max_context: 8000 }, - { - id: 'voyage-3-large', - max_context: 1024 - }, - { - id: 'voyage-3-large', - max_context: 256 - }, - { - id: 'voyage-3-large', - max_context: 512 - }, { id: 'voyage-3-large', max_context: 2048 diff --git a/src/renderer/src/i18n/locales/en-us.json b/src/renderer/src/i18n/locales/en-us.json index 2bada24b26..fd1f80cc14 100644 --- a/src/renderer/src/i18n/locales/en-us.json +++ b/src/renderer/src/i18n/locales/en-us.json @@ -445,7 +445,11 @@ "topN_tooltip": "The number of matching results returned; the larger the value, the more matching results, but also the more tokens consumed.", "url_added": "URL added", "url_placeholder": "Enter URL, multiple URLs separated by Enter", - "urls": "URLs" + "urls": "URLs", + "dimensions": "Embedding dimension", + "dimensions_size_tooltip": "The size of the embedding dimension; the larger the value, the larger the embedding dimension, but it also consumes more tokens.", + "dimensions_size_placeholder": "Default value (modification not recommended)", + "dimensions_size_too_large": "The embedding dimension cannot exceed the model's context limit ({{max_context}})." }, "languages": { "arabic": "Arabic", @@ -1438,4 +1442,4 @@ "visualization": "Visualization" } } -} +} \ No newline at end of file diff --git a/src/renderer/src/i18n/locales/ja-jp.json b/src/renderer/src/i18n/locales/ja-jp.json index 5b9ed2872d..303574929f 100644 --- a/src/renderer/src/i18n/locales/ja-jp.json +++ b/src/renderer/src/i18n/locales/ja-jp.json @@ -445,7 +445,11 @@ "topN_tooltip": "返されるマッチ結果の数は、数値が大きいほどマッチ結果が多くなりますが、消費されるトークンも増えます。", "url_added": "URLが追加されました", "url_placeholder": "URLを入力, 複数のURLはEnterで区切る", - "urls": "URL" + "urls": "URL", + "dimensions": "埋め込み次元", + "dimensions_size_tooltip": "埋め込み次元のサイズは、数値が大きいほど埋め込み次元も大きくなりますが、消費するトークンも増えます。", + "dimensions_size_placeholder": "デフォルト値(変更はお勧めしません)", + "dimensions_size_too_large": "埋め込み次元はモデルのコンテキスト制限({{max_context}})を超えてはなりません。" }, "languages": { "arabic": "アラビア語", @@ -1438,4 +1442,4 @@ "visualization": "可視化" } } -} +} \ No newline at end of file diff --git a/src/renderer/src/i18n/locales/ru-ru.json b/src/renderer/src/i18n/locales/ru-ru.json index 4f266b2575..6b880a0fa8 100644 --- a/src/renderer/src/i18n/locales/ru-ru.json +++ b/src/renderer/src/i18n/locales/ru-ru.json @@ -445,7 +445,11 @@ "topN_tooltip": "Количество возвращаемых совпадений; чем больше значение, тем больше совпадений, но и потребление токенов тоже возрастает.", "url_added": "URL добавлен", "url_placeholder": "Введите URL, несколько URL через Enter", - "urls": "URL-адреса" + "urls": "URL-адреса", + "dimensions": "векторное пространство", + "dimensions_size_tooltip": "Размерность вложения, чем больше значение, тем больше размерность вложения, но и потребляемых токенов также становится больше.", + "dimensions_size_placeholder": "Значение по умолчанию (не рекомендуется изменять)", + "dimensions_size_too_large": "Размерность вложения не может превышать ограничение контекста модели ({{max_context}})" }, "languages": { "arabic": "Арабский", @@ -1438,4 +1442,4 @@ "visualization": "Визуализация" } } -} +} \ No newline at end of file diff --git a/src/renderer/src/i18n/locales/zh-cn.json b/src/renderer/src/i18n/locales/zh-cn.json index 8da18e72f4..565ad37067 100644 --- a/src/renderer/src/i18n/locales/zh-cn.json +++ b/src/renderer/src/i18n/locales/zh-cn.json @@ -399,6 +399,10 @@ "clear_selection": "清除选择", "delete": "删除", "delete_confirm": "确定要删除此知识库吗?", + "dimensions": "嵌入维度", + "dimensions_size_tooltip": "嵌入维度大小,数值越大,嵌入维度越大,但消耗的 Token 也越多", + "dimensions_size_placeholder": " 默认值(不建议修改)", + "dimensions_size_too_large": "嵌入维度不能超过模型上下文限制({{max_context}})", "directories": "目录", "directory_placeholder": "请输入目录路径", "document_count": "请求文档片段数量", @@ -1438,4 +1442,4 @@ "visualization": "可视化" } } -} +} \ No newline at end of file diff --git a/src/renderer/src/i18n/locales/zh-tw.json b/src/renderer/src/i18n/locales/zh-tw.json index 0524918471..e5093bf728 100644 --- a/src/renderer/src/i18n/locales/zh-tw.json +++ b/src/renderer/src/i18n/locales/zh-tw.json @@ -445,7 +445,11 @@ "topN_tooltip": "返回的匹配結果數量,數值越大,匹配結果越多,但消耗的 Token 也越多", "url_added": "網址已新增", "url_placeholder": "請輸入網址,多個網址用換行符號分隔", - "urls": "網址" + "urls": "網址", + "dimensions": "嵌入維度", + "dimensions_size_tooltip": "嵌入維度大小,數值越大,嵌入維度越大,但消耗的 Token 也越多", + "dimensions_size_placeholder": "預設值(不建議修改)", + "dimensions_size_too_large": "嵌入維度不能超過模型上下文限制({{max_context}})" }, "languages": { "arabic": "阿拉伯文", @@ -1438,4 +1442,4 @@ "visualization": "視覺化" } } -} +} \ No newline at end of file diff --git a/src/renderer/src/pages/knowledge/components/KnowledgeSettingsPopup.tsx b/src/renderer/src/pages/knowledge/components/KnowledgeSettingsPopup.tsx index 97cc0de4d5..ee49058c05 100644 --- a/src/renderer/src/pages/knowledge/components/KnowledgeSettingsPopup.tsx +++ b/src/renderer/src/pages/knowledge/components/KnowledgeSettingsPopup.tsx @@ -23,6 +23,7 @@ interface FormData { name: string model: string documentCount?: number + dimensions?: number chunkSize?: number chunkOverlap?: number threshold?: number @@ -87,6 +88,7 @@ const PopupContainer: React.FC = ({ base: _base, resolve }) => { ...base, name: values.name, documentCount: values.documentCount || DEFAULT_KNOWLEDGE_DOCUMENT_COUNT, + dimensions: values.dimensions || base.dimensions, chunkSize: values.chunkSize, chunkOverlap: values.chunkOverlap, threshold: values.threshold ?? undefined, @@ -185,6 +187,32 @@ const PopupContainer: React.FC = ({ base: _base, resolve }) => {
+ maxContext) { + return Promise.reject( + new Error(t('knowledge.dimensions_size_too_large', { max_context: maxContext })) + ) + } + return Promise.resolve() + } + } + ]}> + +