utilitas 1999.1.39 → 1999.1.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/utilitas.lite.mjs +1 -1
- package/dist/utilitas.lite.mjs.map +1 -1
- package/lib/alan.mjs +19 -6
- package/lib/manifest.mjs +1 -1
- package/package.json +1 -1
package/lib/alan.mjs
CHANGED
|
@@ -65,7 +65,8 @@ const [
|
|
|
65
65
|
TOOL, silent, GEMINI_EMBEDDING_M, INVALID_FILE, tokenSafeRatio,
|
|
66
66
|
GPT_QUERY_LIMIT, CONTENT_IS_REQUIRED, OPENAI_HI_RES_SIZE, k, kT, m, minute,
|
|
67
67
|
hour, gb, trimTailing, EBD, GEMINI_20_FLASH_EXP, IMAGE, JINA,
|
|
68
|
-
JINA_DEEPSEARCH, JINA_CLIP, VERTEX, GEMINI_25_PRO
|
|
68
|
+
JINA_DEEPSEARCH, JINA_CLIP, VERTEX, GEMINI_25_PRO, SILICONFLOW,
|
|
69
|
+
SF_DEEPSEEK_V3,
|
|
69
70
|
] = [
|
|
70
71
|
'OpenAI', 'Gemini', 'OPENAI_TRAINING', 'Ollama', 'gpt-4o-mini',
|
|
71
72
|
'gpt-4o', 'o1', 'o3-mini', 'gemini-2.0-flash',
|
|
@@ -85,7 +86,8 @@ const [
|
|
|
85
86
|
x => 1024 * 1024 * 1024 * x, x => x.replace(/[\.\s]*$/, ''),
|
|
86
87
|
{ embedding: true }, 'gemini-2.0-flash-exp', 'image', 'Jina',
|
|
87
88
|
'jina-deepsearch-v1', 'jina-clip-v2', 'Vertex',
|
|
88
|
-
'gemini-2.5-pro-exp-03-25',
|
|
89
|
+
'gemini-2.5-pro-exp-03-25', 'SiliconFlow',
|
|
90
|
+
'Pro/deepseek-ai/DeepSeek-V3',
|
|
89
91
|
];
|
|
90
92
|
|
|
91
93
|
const [tool, messages, text]
|
|
@@ -176,9 +178,13 @@ const MODELS = {
|
|
|
176
178
|
json: true, vision: true, deepsearch: true, defaultProvider: JINA,
|
|
177
179
|
},
|
|
178
180
|
[DEEPSEEK_R1]: {
|
|
179
|
-
contextWindow: kT(128), maxOutputTokens: k(
|
|
181
|
+
contextWindow: kT(128), maxOutputTokens: k(8),
|
|
180
182
|
reasoning: true,
|
|
181
|
-
},
|
|
183
|
+
},
|
|
184
|
+
[SF_DEEPSEEK_V3]: {
|
|
185
|
+
contextWindow: kT(128), maxOutputTokens: k(8),
|
|
186
|
+
defaultProvider: SILICONFLOW,
|
|
187
|
+
},// ERROR: column cannot have more than 2000 dimensions for hnsw index
|
|
182
188
|
[TEXT_EMBEDDING_3_LARGE]: { ...OPENAI_EBD, dimension: k(3) },
|
|
183
189
|
[TEXT_EMBEDDING_3_SMALL]: { ...OPENAI_EBD, dimension: k(1.5) },
|
|
184
190
|
[GEMINI_EMBEDDING_M]: { ...EBD, maxInputTokens: k(8), dimension: k(3) },
|
|
@@ -226,6 +232,7 @@ MODELS[GEMMA327B] = { // Ollama Alias
|
|
|
226
232
|
const DEFAULT_MODELS = {
|
|
227
233
|
[OPENAI]: GPT_4O,
|
|
228
234
|
[AZURE_OPENAI]: GPT_4O,
|
|
235
|
+
[SILICONFLOW]: SF_DEEPSEEK_V3,
|
|
229
236
|
[GEMINI]: GEMINI_20_FLASH,
|
|
230
237
|
[ANTHROPIC]: CLOUD_37_SONNET,
|
|
231
238
|
[VERTEX_ANTHROPIC]: CLOUD_37_SONNET,
|
|
@@ -244,7 +251,7 @@ const DEFAULT_EMBEDDING = {
|
|
|
244
251
|
const PROVIDER_ICONS = {
|
|
245
252
|
[OPENAI]: '⚛️', [AZURE_OPENAI]: '⚛️', [AZURE]: '☁️', [JINA]: '✴️',
|
|
246
253
|
[GEMINI]: '♊️', [VERTEX]: '📖', [OLLAMA]: '🦙',
|
|
247
|
-
[ANTHROPIC]: '✳️', [VERTEX_ANTHROPIC]: '✳️',
|
|
254
|
+
[ANTHROPIC]: '✳️', [VERTEX_ANTHROPIC]: '✳️', [SILICONFLOW]: '🧬',
|
|
248
255
|
};
|
|
249
256
|
|
|
250
257
|
const FEATURE_ICONS = {
|
|
@@ -268,7 +275,7 @@ let tokeniser;
|
|
|
268
275
|
const unifyProvider = provider => {
|
|
269
276
|
assert(provider = (provider || '').trim(), 'AI provider is required.');
|
|
270
277
|
for (let type of [OPENAI, AZURE_OPENAI, AZURE, GEMINI, VERTEX, ANTHROPIC,
|
|
271
|
-
VERTEX_ANTHROPIC, JINA, OLLAMA]) {
|
|
278
|
+
VERTEX_ANTHROPIC, JINA, OLLAMA, SILICONFLOW]) {
|
|
272
279
|
if (insensitiveCompare(provider, type)) { return type; }
|
|
273
280
|
}
|
|
274
281
|
throwError(`Invalid AI provider: ${provider}.`);
|
|
@@ -435,6 +442,12 @@ const init = async (options = {}) => {
|
|
|
435
442
|
var client = await OpenAI(options);
|
|
436
443
|
setupAi({ provider, model, client, prompt: promptOpenAI });
|
|
437
444
|
break;
|
|
445
|
+
case SILICONFLOW:
|
|
446
|
+
assertApiKey(provider, options);
|
|
447
|
+
var client = await OpenAI({ baseURL: 'https://api.siliconflow.cn/v1', ...options });
|
|
448
|
+
var model = models[0];
|
|
449
|
+
setupAi({ provider, model, client, prompt: promptOpenAI });
|
|
450
|
+
break;
|
|
438
451
|
case GEMINI:
|
|
439
452
|
assert(options.apiKey, `${provider} api key is required.`);
|
|
440
453
|
var { GoogleGenAI } = await need('@google/genai');
|
package/lib/manifest.mjs
CHANGED