utilitas 1999.1.38 → 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 +23 -5
- 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,
|
|
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,6 +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',
|
|
89
|
+
'gemini-2.5-pro-exp-03-25', 'SiliconFlow',
|
|
90
|
+
'Pro/deepseek-ai/DeepSeek-V3',
|
|
88
91
|
];
|
|
89
92
|
|
|
90
93
|
const [tool, messages, text]
|
|
@@ -158,6 +161,10 @@ const MODELS = {
|
|
|
158
161
|
...GEMINI_RULES, contextWindow: m(2), maxOutputTokens: k(8),
|
|
159
162
|
json: true,
|
|
160
163
|
},
|
|
164
|
+
[GEMINI_25_PRO]: {
|
|
165
|
+
...GEMINI_RULES, contextWindow: m(1), maxOutputTokens: k(64),
|
|
166
|
+
json: true, reasoning: true, tools: true,
|
|
167
|
+
},
|
|
161
168
|
[GEMMA_3_27B]: {
|
|
162
169
|
contextWindow: kT(128), maxOutputTokens: k(8),
|
|
163
170
|
imageCostTokens: 256, maxImageSize: 896 * 896,
|
|
@@ -171,9 +178,13 @@ const MODELS = {
|
|
|
171
178
|
json: true, vision: true, deepsearch: true, defaultProvider: JINA,
|
|
172
179
|
},
|
|
173
180
|
[DEEPSEEK_R1]: {
|
|
174
|
-
contextWindow: kT(128), maxOutputTokens: k(
|
|
181
|
+
contextWindow: kT(128), maxOutputTokens: k(8),
|
|
175
182
|
reasoning: true,
|
|
176
|
-
},
|
|
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
|
|
177
188
|
[TEXT_EMBEDDING_3_LARGE]: { ...OPENAI_EBD, dimension: k(3) },
|
|
178
189
|
[TEXT_EMBEDDING_3_SMALL]: { ...OPENAI_EBD, dimension: k(1.5) },
|
|
179
190
|
[GEMINI_EMBEDDING_M]: { ...EBD, maxInputTokens: k(8), dimension: k(3) },
|
|
@@ -221,6 +232,7 @@ MODELS[GEMMA327B] = { // Ollama Alias
|
|
|
221
232
|
const DEFAULT_MODELS = {
|
|
222
233
|
[OPENAI]: GPT_4O,
|
|
223
234
|
[AZURE_OPENAI]: GPT_4O,
|
|
235
|
+
[SILICONFLOW]: SF_DEEPSEEK_V3,
|
|
224
236
|
[GEMINI]: GEMINI_20_FLASH,
|
|
225
237
|
[ANTHROPIC]: CLOUD_37_SONNET,
|
|
226
238
|
[VERTEX_ANTHROPIC]: CLOUD_37_SONNET,
|
|
@@ -239,7 +251,7 @@ const DEFAULT_EMBEDDING = {
|
|
|
239
251
|
const PROVIDER_ICONS = {
|
|
240
252
|
[OPENAI]: '⚛️', [AZURE_OPENAI]: '⚛️', [AZURE]: '☁️', [JINA]: '✴️',
|
|
241
253
|
[GEMINI]: '♊️', [VERTEX]: '📖', [OLLAMA]: '🦙',
|
|
242
|
-
[ANTHROPIC]: '✳️', [VERTEX_ANTHROPIC]: '✳️',
|
|
254
|
+
[ANTHROPIC]: '✳️', [VERTEX_ANTHROPIC]: '✳️', [SILICONFLOW]: '🧬',
|
|
243
255
|
};
|
|
244
256
|
|
|
245
257
|
const FEATURE_ICONS = {
|
|
@@ -263,7 +275,7 @@ let tokeniser;
|
|
|
263
275
|
const unifyProvider = provider => {
|
|
264
276
|
assert(provider = (provider || '').trim(), 'AI provider is required.');
|
|
265
277
|
for (let type of [OPENAI, AZURE_OPENAI, AZURE, GEMINI, VERTEX, ANTHROPIC,
|
|
266
|
-
VERTEX_ANTHROPIC, JINA, OLLAMA]) {
|
|
278
|
+
VERTEX_ANTHROPIC, JINA, OLLAMA, SILICONFLOW]) {
|
|
267
279
|
if (insensitiveCompare(provider, type)) { return type; }
|
|
268
280
|
}
|
|
269
281
|
throwError(`Invalid AI provider: ${provider}.`);
|
|
@@ -430,6 +442,12 @@ const init = async (options = {}) => {
|
|
|
430
442
|
var client = await OpenAI(options);
|
|
431
443
|
setupAi({ provider, model, client, prompt: promptOpenAI });
|
|
432
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;
|
|
433
451
|
case GEMINI:
|
|
434
452
|
assert(options.apiKey, `${provider} api key is required.`);
|
|
435
453
|
var { GoogleGenAI } = await need('@google/genai');
|
package/lib/manifest.mjs
CHANGED