@lobehub/chat 1.106.8 → 1.107.1
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/.env.example +9 -0
- package/CHANGELOG.md +50 -0
- package/Dockerfile +2 -0
- package/Dockerfile.database +2 -0
- package/Dockerfile.pglite +2 -0
- package/changelog/v1.json +18 -0
- package/docs/usage/providers/aihubmix.zh-CN.mdx +101 -0
- package/locales/ar/modelProvider.json +1 -0
- package/locales/ar/models.json +21 -0
- package/locales/ar/providers.json +3 -0
- package/locales/bg-BG/modelProvider.json +1 -0
- package/locales/bg-BG/models.json +21 -0
- package/locales/bg-BG/providers.json +3 -0
- package/locales/de-DE/modelProvider.json +1 -0
- package/locales/de-DE/models.json +21 -0
- package/locales/de-DE/providers.json +3 -0
- package/locales/en-US/modelProvider.json +1 -0
- package/locales/en-US/models.json +21 -0
- package/locales/en-US/providers.json +3 -0
- package/locales/es-ES/modelProvider.json +1 -0
- package/locales/es-ES/models.json +21 -0
- package/locales/es-ES/providers.json +3 -0
- package/locales/fa-IR/modelProvider.json +1 -0
- package/locales/fa-IR/models.json +21 -0
- package/locales/fa-IR/providers.json +3 -0
- package/locales/fr-FR/modelProvider.json +1 -0
- package/locales/fr-FR/models.json +21 -0
- package/locales/fr-FR/providers.json +3 -0
- package/locales/it-IT/modelProvider.json +1 -0
- package/locales/it-IT/models.json +21 -0
- package/locales/it-IT/providers.json +3 -0
- package/locales/ja-JP/modelProvider.json +1 -0
- package/locales/ja-JP/models.json +21 -0
- package/locales/ja-JP/providers.json +3 -0
- package/locales/ko-KR/modelProvider.json +1 -0
- package/locales/ko-KR/models.json +21 -0
- package/locales/ko-KR/providers.json +3 -0
- package/locales/nl-NL/modelProvider.json +1 -0
- package/locales/nl-NL/models.json +21 -0
- package/locales/nl-NL/providers.json +3 -0
- package/locales/pl-PL/modelProvider.json +1 -0
- package/locales/pl-PL/models.json +21 -0
- package/locales/pl-PL/providers.json +3 -0
- package/locales/pt-BR/modelProvider.json +1 -0
- package/locales/pt-BR/models.json +21 -0
- package/locales/pt-BR/providers.json +3 -0
- package/locales/ru-RU/modelProvider.json +1 -0
- package/locales/ru-RU/models.json +21 -0
- package/locales/ru-RU/providers.json +3 -0
- package/locales/tr-TR/modelProvider.json +1 -0
- package/locales/tr-TR/models.json +21 -0
- package/locales/tr-TR/providers.json +3 -0
- package/locales/vi-VN/modelProvider.json +1 -0
- package/locales/vi-VN/models.json +21 -0
- package/locales/vi-VN/providers.json +3 -0
- package/locales/zh-CN/modelProvider.json +1 -0
- package/locales/zh-CN/models.json +21 -0
- package/locales/zh-CN/providers.json +3 -0
- package/locales/zh-TW/modelProvider.json +1 -0
- package/locales/zh-TW/models.json +21 -0
- package/locales/zh-TW/providers.json +3 -0
- package/package.json +2 -3
- package/scripts/cdnWorkflow/utils.ts +1 -1
- package/src/app/(backend)/middleware/auth/index.ts +2 -2
- package/src/app/(backend)/webapi/chat/[provider]/route.test.ts +12 -12
- package/src/app/(backend)/webapi/chat/[provider]/route.ts +6 -6
- package/src/app/(backend)/webapi/chat/vertexai/route.ts +2 -2
- package/src/app/(backend)/webapi/models/[provider]/pull/route.ts +2 -2
- package/src/app/(backend)/webapi/models/[provider]/route.ts +2 -2
- package/src/app/(backend)/webapi/text-to-image/[provider]/route.ts +2 -2
- package/src/app/[variants]/(main)/settings/provider/(detail)/github/page.tsx +2 -2
- package/src/app/[variants]/(main)/settings/provider/features/ProviderConfig/index.tsx +17 -2
- package/src/config/aiModels/aihubmix.ts +164 -0
- package/src/config/aiModels/index.ts +3 -0
- package/src/config/llm.ts +6 -0
- package/src/config/modelProviders/aihubmix.ts +18 -0
- package/src/config/modelProviders/huggingface.ts +1 -0
- package/src/config/modelProviders/index.ts +4 -0
- package/src/libs/model-runtime/ModelRuntime.test.ts +9 -10
- package/src/libs/model-runtime/ModelRuntime.ts +2 -3
- package/src/libs/model-runtime/RouterRuntime/baseRuntimeMap.ts +15 -0
- package/src/libs/model-runtime/RouterRuntime/createRuntime.ts +193 -0
- package/src/libs/model-runtime/RouterRuntime/index.ts +9 -0
- package/src/libs/model-runtime/aihubmix/index.ts +118 -0
- package/src/libs/model-runtime/index.ts +1 -1
- package/src/libs/model-runtime/openrouter/index.ts +2 -2
- package/src/libs/model-runtime/runtimeMap.ts +2 -0
- package/src/libs/model-runtime/types/type.ts +1 -0
- package/src/libs/trpc/client/async.ts +2 -1
- package/src/libs/trpc/client/edge.ts +2 -1
- package/src/libs/trpc/client/lambda.ts +4 -2
- package/src/libs/trpc/client/tools.ts +2 -1
- package/src/locales/default/modelProvider.ts +1 -0
- package/src/server/modules/{AgentRuntime → ModelRuntime}/index.test.ts +64 -67
- package/src/server/modules/{AgentRuntime → ModelRuntime}/index.ts +3 -3
- package/src/server/routers/async/file.ts +2 -2
- package/src/server/routers/async/image.ts +2 -2
- package/src/server/routers/async/ragEval.ts +2 -2
- package/src/server/routers/lambda/chunk.ts +3 -3
- package/src/services/__tests__/chat.test.ts +21 -21
- package/src/services/chat.ts +2 -2
- package/src/types/aiProvider.ts +1 -0
- package/src/types/llm.ts +4 -0
- package/src/types/user/settings/keyVaults.ts +1 -0
- package/src/app/[variants]/(main)/settings/provider/(detail)/huggingface/page.tsx +0 -67
- /package/src/server/modules/{AgentRuntime → ModelRuntime}/apiKeyManager.test.ts +0 -0
- /package/src/server/modules/{AgentRuntime → ModelRuntime}/apiKeyManager.ts +0 -0
- /package/src/server/modules/{AgentRuntime → ModelRuntime}/trace.ts +0 -0
@@ -189,6 +189,7 @@
|
|
189
189
|
"aesGcm": "Ваши ключи и адрес прокси будут зашифрованы с использованием <1>AES-GCM</1>",
|
190
190
|
"apiKey": {
|
191
191
|
"desc": "Пожалуйста, введите ваш {{name}} API Key",
|
192
|
+
"descWithUrl": "Пожалуйста, введите ваш {{name}} API ключ, <3>получить здесь</3>",
|
192
193
|
"placeholder": "{{name}} API Key",
|
193
194
|
"title": "API Key"
|
194
195
|
},
|
@@ -326,6 +326,9 @@
|
|
326
326
|
"Qwen/Qwen3-30B-A3B": {
|
327
327
|
"description": "Qwen3 — это новая генерация модели Qwen с значительно улучшенными возможностями, достигнувшими ведущих позиций в отрасли по нескольким ключевым направлениям, включая рассуждение, общие задачи, агентские функции и многоязычность, а также поддерживающей переключение режимов размышления."
|
328
328
|
},
|
329
|
+
"Qwen/Qwen3-30B-A3B-Instruct-2507": {
|
330
|
+
"description": "Qwen3-30B-A3B-Instruct-2507 — это обновленная версия модели Qwen3-30B-A3B в режиме без размышлений. Это модель с гибридными экспертами (MoE), имеющая в общей сложности 30,5 миллиарда параметров и 3,3 миллиарда активных параметров. Модель получила ключевые улучшения во многих аспектах, включая значительное повышение способности следовать инструкциям, логического мышления, понимания текста, математики, науки, программирования и использования инструментов. Кроме того, она достигла существенного прогресса в покрытии многоязычных редких знаний и лучше согласуется с предпочтениями пользователей в субъективных и открытых задачах, что позволяет генерировать более полезные ответы и тексты высокого качества. Также улучшена способность к пониманию длинных текстов — теперь до 256K. Эта модель поддерживает только режим без размышлений и не генерирует теги `<think></think>` в выводе."
|
331
|
+
},
|
329
332
|
"Qwen/Qwen3-32B": {
|
330
333
|
"description": "Qwen3 — это новая генерация модели Qwen с значительно улучшенными возможностями, достигнувшими ведущих позиций в отрасли по нескольким ключевым направлениям, включая рассуждение, общие задачи, агентские функции и многоязычность, а также поддерживающей переключение режимов размышления."
|
331
334
|
},
|
@@ -359,6 +362,12 @@
|
|
359
362
|
"Qwen2.5-Coder-32B-Instruct": {
|
360
363
|
"description": "Qwen2.5-Coder-32B-Instruct — это крупная языковая модель, специально разработанная для генерации кода, понимания кода и эффективных сценариев разработки, с передовым масштабом параметров 32B, способная удовлетворить разнообразные потребности программирования."
|
361
364
|
},
|
365
|
+
"Qwen3-235B": {
|
366
|
+
"description": "Qwen3-235B-A22B — модель MoE (гибридных экспертов), которая внедрила «гибридный режим рассуждений», позволяющий пользователям бесшовно переключаться между режимами «размышления» и «без размышлений». Поддерживает понимание и рассуждение на 119 языках и диалектах, обладает мощными возможностями вызова инструментов. По совокупности способностей, кода, математики, многоязычия, знаний и рассуждений модель конкурирует с ведущими современными крупными моделями на рынке, такими как DeepSeek R1, OpenAI o1, o3-mini, Grok 3 и Google Gemini 2.5 Pro."
|
367
|
+
},
|
368
|
+
"Qwen3-32B": {
|
369
|
+
"description": "Qwen3-32B — плотная модель (Dense Model), внедрившая «гибридный режим рассуждений», позволяющий пользователям бесшовно переключаться между режимами «размышления» и «без размышлений». Благодаря улучшениям архитектуры модели, увеличению объема обучающих данных и более эффективным методам обучения, общая производительность сопоставима с Qwen2.5-72B."
|
370
|
+
},
|
362
371
|
"SenseChat": {
|
363
372
|
"description": "Базовая версия модели (V4), длина контекста 4K, обладает мощными универсальными возможностями."
|
364
373
|
},
|
@@ -395,6 +404,12 @@
|
|
395
404
|
"SenseChat-Vision": {
|
396
405
|
"description": "Последняя версия модели (V5.5) поддерживает ввод нескольких изображений, полностью реализует оптимизацию базовых возможностей модели и значительно улучшила распознавание свойств объектов, пространственные отношения, распознавание событий, понимание сцен, распознавание эмоций, логическое рассуждение и понимание текста."
|
397
406
|
},
|
407
|
+
"SenseNova-V6-5-Pro": {
|
408
|
+
"description": "Благодаря всестороннему обновлению мультимодальных, языковых и рассуждательных данных, а также оптимизации стратегий обучения, новая модель значительно улучшила мультимодальные рассуждения и способность следовать универсальным инструкциям. Поддерживает контекстное окно до 128k и демонстрирует выдающиеся результаты в специализированных задачах, таких как OCR и распознавание туристических IP."
|
409
|
+
},
|
410
|
+
"SenseNova-V6-5-Turbo": {
|
411
|
+
"description": "Благодаря всестороннему обновлению мультимодальных, языковых и рассуждательных данных, а также оптимизации стратегий обучения, новая модель значительно улучшила мультимодальные рассуждения и способность следовать универсальным инструкциям. Поддерживает контекстное окно до 128k и демонстрирует выдающиеся результаты в специализированных задачах, таких как OCR и распознавание туристических IP."
|
412
|
+
},
|
398
413
|
"SenseNova-V6-Pro": {
|
399
414
|
"description": "Реализует родное единство возможностей изображений, текста и видео, преодолевая традиционные ограничения раздельных мультимодальных систем, завоевав двойное чемпионство в оценках OpenCompass и SuperCLUE."
|
400
415
|
},
|
@@ -2372,6 +2387,12 @@
|
|
2372
2387
|
"qwen3-30b-a3b": {
|
2373
2388
|
"description": "Qwen3 — это новое поколение модели Qwen с значительно улучшенными возможностями, достигнувшими ведущих позиций в отрасли в области вывода, универсальности, агентов и многоязычности, а также поддерживающей переключение режимов размышления."
|
2374
2389
|
},
|
2390
|
+
"qwen3-30b-a3b-instruct-2507": {
|
2391
|
+
"description": "По сравнению с предыдущей версией (Qwen3-30B-A3B) значительно улучшены общие способности на английском, китайском и других языках. Специальная оптимизация для субъективных и открытых задач, что заметно лучше соответствует предпочтениям пользователей и позволяет предоставлять более полезные ответы."
|
2392
|
+
},
|
2393
|
+
"qwen3-30b-a3b-thinking-2507": {
|
2394
|
+
"description": "Открытая модель в режиме размышлений на базе Qwen3, которая по сравнению с предыдущей версией (Tongyi Qianwen 3-30B-A3B) значительно улучшила логические способности, общие навыки, знания и творческие возможности. Подходит для сложных задач с интенсивным рассуждением."
|
2395
|
+
},
|
2375
2396
|
"qwen3-32b": {
|
2376
2397
|
"description": "Qwen3 — это новое поколение модели Qwen с значительно улучшенными возможностями, достигнувшими ведущих позиций в отрасли в области вывода, универсальности, агентов и многоязычности, а также поддерживающей переключение режимов размышления."
|
2377
2398
|
},
|
@@ -5,6 +5,9 @@
|
|
5
5
|
"ai360": {
|
6
6
|
"description": "360 AI — это платформа AI-моделей и услуг, запущенная компанией 360, предлагающая множество передовых моделей обработки естественного языка, включая 360GPT2 Pro, 360GPT Pro, 360GPT Turbo и 360GPT Turbo Responsibility 8K. Эти модели сочетают в себе масштабные параметры и мультимодальные возможности, широко применяются в генерации текста, семантическом понимании, диалоговых системах и генерации кода. Благодаря гибкой ценовой политике 360 AI удовлетворяет разнообразные потребности пользователей, поддерживает интеграцию разработчиков и способствует инновациям и развитию интеллектуальных приложений."
|
7
7
|
},
|
8
|
+
"aihubmix": {
|
9
|
+
"description": "AiHubMix предоставляет доступ к различным AI-моделям через единый API-интерфейс."
|
10
|
+
},
|
8
11
|
"anthropic": {
|
9
12
|
"description": "Anthropic — это компания, сосредоточенная на исследованиях и разработке искусственного интеллекта, предлагающая ряд передовых языковых моделей, таких как Claude 3.5 Sonnet, Claude 3 Sonnet, Claude 3 Opus и Claude 3 Haiku. Эти модели достигают идеального баланса между интеллектом, скоростью и стоимостью, подходя для различных сценариев применения, от корпоративных рабочих нагрузок до быстрого реагирования. Claude 3.5 Sonnet, как их последняя модель, показала отличные результаты в нескольких оценках, сохраняя при этом высокую стоимость-эффективность."
|
10
13
|
},
|
@@ -189,6 +189,7 @@
|
|
189
189
|
"aesGcm": "Anahtarınız ve proxy adresi gibi bilgiler <1>AES-GCM</1> şifreleme algoritması ile şifrelenecektir",
|
190
190
|
"apiKey": {
|
191
191
|
"desc": "{{name}} API Anahtarınızı girin",
|
192
|
+
"descWithUrl": "Lütfen {{name}} API Anahtarınızı girin, <3>buraya tıklayarak alın</3>",
|
192
193
|
"placeholder": "{{name}} API Anahtarı",
|
193
194
|
"title": "API Anahtarı"
|
194
195
|
},
|
@@ -326,6 +326,9 @@
|
|
326
326
|
"Qwen/Qwen3-30B-A3B": {
|
327
327
|
"description": "Qwen3, akıl yürütme, genel, Ajan ve çok dilli gibi birçok temel yetenekte önemli ölçüde geliştirilmiş yeni nesil Tongyi Qianwen büyük modelidir ve düşünme modu geçişini destekler."
|
328
328
|
},
|
329
|
+
"Qwen/Qwen3-30B-A3B-Instruct-2507": {
|
330
|
+
"description": "Qwen3-30B-A3B-Instruct-2507, Qwen3-30B-A3B'nin düşünme modu olmayan güncellenmiş bir versiyonudur. Bu, toplam 30,5 milyar parametre ve 3,3 milyar aktif parametreye sahip bir Hibrit Uzman (MoE) modelidir. Model, talimat takibi, mantıksal akıl yürütme, metin anlama, matematik, bilim, kodlama ve araç kullanımı gibi genel yeteneklerde önemli geliştirmeler içermektedir. Ayrıca, çok dilli uzun kuyruk bilgi kapsamı açısından kayda değer ilerlemeler kaydetmiş ve kullanıcıların öznel ve açık uçlu görevlerdeki tercihlerine daha iyi uyum sağlayarak daha faydalı yanıtlar ve daha yüksek kaliteli metinler üretebilmektedir. Buna ek olarak, modelin uzun metin anlama kapasitesi 256K'ya kadar artırılmıştır. Bu model yalnızca düşünme modu dışındadır ve çıktılarında `<think></think>` etiketleri oluşturmaz."
|
331
|
+
},
|
329
332
|
"Qwen/Qwen3-32B": {
|
330
333
|
"description": "Qwen3, akıl yürütme, genel, Ajan ve çok dilli gibi birçok temel yetenekte önemli ölçüde geliştirilmiş yeni nesil Tongyi Qianwen büyük modelidir ve düşünme modu geçişini destekler."
|
331
334
|
},
|
@@ -359,6 +362,12 @@
|
|
359
362
|
"Qwen2.5-Coder-32B-Instruct": {
|
360
363
|
"description": "Qwen2.5-Coder-32B-Instruct, kod üretimi, kod anlama ve verimli geliştirme senaryoları için tasarlanmış büyük bir dil modelidir. Sektördeki en ileri 32B parametre ölçeğini kullanarak çeşitli programlama ihtiyaçlarını karşılayabilir."
|
361
364
|
},
|
365
|
+
"Qwen3-235B": {
|
366
|
+
"description": "Qwen3-235B-A22B, MoE (Hibrit Uzman Modeli) modelidir ve \"Hibrit Akıl Yürütme Modu\"nu tanıtmaktadır. Kullanıcıların \"düşünme modu\" ile \"düşünme modu dışı\" arasında kesintisiz geçiş yapmasını destekler, 119 dil ve lehçede anlama ve akıl yürütme yeteneğine sahiptir ve güçlü araç çağırma kapasitesine sahiptir. Kapsamlı yetenekler, kodlama ve matematik, çok dilli yetenekler, bilgi ve akıl yürütme gibi çeşitli kıyaslama testlerinde, DeepSeek R1, OpenAI o1, o3-mini, Grok 3 ve Google Gemini 2.5 Pro gibi piyasadaki önde gelen büyük modellerle rekabet edebilmektedir."
|
367
|
+
},
|
368
|
+
"Qwen3-32B": {
|
369
|
+
"description": "Qwen3-32B, Yoğun Model (Dense Model) olup \"Hibrit Akıl Yürütme Modu\"nu tanıtmaktadır. Kullanıcıların \"düşünme modu\" ile \"düşünme modu dışı\" arasında kesintisiz geçiş yapmasını destekler. Model mimarisi iyileştirmeleri, artırılmış eğitim verisi ve daha etkili eğitim yöntemleri sayesinde genel performansı Qwen2.5-72B ile karşılaştırılabilir düzeydedir."
|
370
|
+
},
|
362
371
|
"SenseChat": {
|
363
372
|
"description": "Temel sürüm model (V4), 4K bağlam uzunluğu ile genel yetenekleri güçlüdür."
|
364
373
|
},
|
@@ -395,6 +404,12 @@
|
|
395
404
|
"SenseChat-Vision": {
|
396
405
|
"description": "En son versiyon modeli (V5.5), çoklu görsel girişi destekler, modelin temel yetenek optimizasyonunu tamamen gerçekleştirir; nesne özellik tanıma, mekansal ilişkiler, hareket olayları tanıma, sahne anlama, duygu tanıma, mantıksal bilgi çıkarımı ve metin anlama üretimi gibi alanlarda önemli gelişmeler sağlamıştır."
|
397
406
|
},
|
407
|
+
"SenseNova-V6-5-Pro": {
|
408
|
+
"description": "Çok modlu, dil ve akıl yürütme verilerinin kapsamlı güncellenmesi ve eğitim stratejilerinin optimize edilmesiyle, yeni model çok modlu akıl yürütme ve genel talimat takibi yeteneklerinde önemli gelişmeler sağlamıştır. 128k'ya kadar bağlam penceresini destekler ve OCR ile kültürel turizm IP tanıma gibi özel görevlerde üstün performans gösterir."
|
409
|
+
},
|
410
|
+
"SenseNova-V6-5-Turbo": {
|
411
|
+
"description": "Çok modlu, dil ve akıl yürütme verilerinin kapsamlı güncellenmesi ve eğitim stratejilerinin optimize edilmesiyle, yeni model çok modlu akıl yürütme ve genel talimat takibi yeteneklerinde önemli gelişmeler sağlamıştır. 128k'ya kadar bağlam penceresini destekler ve OCR ile kültürel turizm IP tanıma gibi özel görevlerde üstün performans gösterir."
|
412
|
+
},
|
398
413
|
"SenseNova-V6-Pro": {
|
399
414
|
"description": "Görüntü, metin ve video yeteneklerinin yerel birliğini sağlar, geleneksel çok modlu ayrım sınırlamalarını aşar, OpenCompass ve SuperCLUE değerlendirmelerinde çift şampiyonluk kazanmıştır."
|
400
415
|
},
|
@@ -2372,6 +2387,12 @@
|
|
2372
2387
|
"qwen3-30b-a3b": {
|
2373
2388
|
"description": "Qwen3, akıl yürütme, genel, Ajan ve çok dilli gibi birçok temel yetenekte endüstri lideri seviyesine ulaşan yeni nesil bir modeldir ve düşünme modu geçişini destekler."
|
2374
2389
|
},
|
2390
|
+
"qwen3-30b-a3b-instruct-2507": {
|
2391
|
+
"description": "Önceki sürüme (Qwen3-30B-A3B) kıyasla, hem İngilizce hem de çok dilli genel yeteneklerde büyük gelişmeler sağlanmıştır. Öznel ve açık uçlu görevler için özel optimizasyon yapılmış olup, kullanıcı tercihleriyle belirgin şekilde daha uyumludur ve daha faydalı yanıtlar sunabilir."
|
2392
|
+
},
|
2393
|
+
"qwen3-30b-a3b-thinking-2507": {
|
2394
|
+
"description": "Qwen3 tabanlı düşünme modu açık kaynak modeli olup, önceki sürüme (Tongyi Qianwen 3-30B-A3B) kıyasla mantık yeteneği, genel yetenekler, bilgi artırımı ve yaratıcı yeteneklerde önemli gelişmeler göstermektedir. Zorlu ve güçlü akıl yürütme gerektiren senaryolar için uygundur."
|
2395
|
+
},
|
2375
2396
|
"qwen3-32b": {
|
2376
2397
|
"description": "Qwen3, akıl yürütme, genel, Ajan ve çok dilli gibi birçok temel yetenekte endüstri lideri seviyesine ulaşan yeni nesil bir modeldir ve düşünme modu geçişini destekler."
|
2377
2398
|
},
|
@@ -5,6 +5,9 @@
|
|
5
5
|
"ai360": {
|
6
6
|
"description": "360 AI, 360 şirketi tarafından sunulan yapay zeka modeli ve hizmet platformudur. 360GPT2 Pro, 360GPT Pro, 360GPT Turbo ve 360GPT Turbo Responsibility 8K gibi çeşitli gelişmiş doğal dil işleme modelleri sunmaktadır. Bu modeller, büyük ölçekli parametreler ve çok modlu yetenekleri birleştirerek metin üretimi, anlamsal anlama, diyalog sistemleri ve kod üretimi gibi alanlarda geniş bir uygulama yelpazesine sahiptir. Esnek fiyatlandırma stratejileri ile 360 AI, çeşitli kullanıcı ihtiyaçlarını karşılamakta ve geliştiricilerin entegrasyonunu destekleyerek akıllı uygulamaların yenilik ve gelişimini teşvik etmektedir."
|
7
7
|
},
|
8
|
+
"aihubmix": {
|
9
|
+
"description": "AiHubMix, çeşitli yapay zeka modellerine tek bir API arayüzü üzerinden erişim sağlar."
|
10
|
+
},
|
8
11
|
"anthropic": {
|
9
12
|
"description": "Anthropic, yapay zeka araştırma ve geliştirmeye odaklanan bir şirkettir. Claude 3.5 Sonnet, Claude 3 Sonnet, Claude 3 Opus ve Claude 3 Haiku gibi bir dizi gelişmiş dil modeli sunmaktadır. Bu modeller, zeka, hız ve maliyet arasında ideal bir denge sağlamaktadır ve kurumsal düzeydeki iş yüklerinden hızlı yanıt gerektiren çeşitli uygulama senaryolarına kadar geniş bir yelpazede kullanılmaktadır. Claude 3.5 Sonnet, en son modeli olarak, birçok değerlendirmede mükemmel performans sergilemekte ve yüksek maliyet etkinliğini korumaktadır."
|
10
13
|
},
|
@@ -189,6 +189,7 @@
|
|
189
189
|
"aesGcm": "Khóa của bạn và địa chỉ proxy sẽ được mã hóa bằng thuật toán <1>AES-GCM</1>",
|
190
190
|
"apiKey": {
|
191
191
|
"desc": "Vui lòng nhập {{name}} API Key của bạn",
|
192
|
+
"descWithUrl": "Vui lòng nhập {{name}} API Key của bạn, <3>nhấn vào đây để lấy</3>",
|
192
193
|
"placeholder": "{{name}} API Key",
|
193
194
|
"title": "API Key"
|
194
195
|
},
|
@@ -326,6 +326,9 @@
|
|
326
326
|
"Qwen/Qwen3-30B-A3B": {
|
327
327
|
"description": "Qwen3 là một mô hình lớn thế hệ mới của Tongyi Qianwen với khả năng nâng cao đáng kể, đạt được trình độ hàng đầu trong nhiều khả năng cốt lõi như suy luận, tổng quát, đại lý và đa ngôn ngữ, đồng thời hỗ trợ chuyển đổi chế độ suy nghĩ."
|
328
328
|
},
|
329
|
+
"Qwen/Qwen3-30B-A3B-Instruct-2507": {
|
330
|
+
"description": "Qwen3-30B-A3B-Instruct-2507 là phiên bản cập nhật của Qwen3-30B-A3B ở chế độ không suy nghĩ. Đây là một mô hình chuyên gia hỗn hợp (MoE) với tổng cộng 30,5 tỷ tham số và 3,3 tỷ tham số kích hoạt. Mô hình này đã được cải tiến quan trọng ở nhiều khía cạnh, bao gồm nâng cao đáng kể khả năng tuân thủ chỉ dẫn, suy luận logic, hiểu văn bản, toán học, khoa học, lập trình và sử dụng công cụ. Đồng thời, nó đạt được tiến bộ thực chất trong việc bao phủ kiến thức đa ngôn ngữ và có khả năng điều chỉnh tốt hơn với sở thích của người dùng trong các nhiệm vụ chủ quan và mở, từ đó tạo ra các phản hồi hữu ích hơn và văn bản chất lượng cao hơn. Ngoài ra, khả năng hiểu văn bản dài của mô hình cũng được nâng lên đến 256K. Mô hình này chỉ hỗ trợ chế độ không suy nghĩ và không tạo ra thẻ `<think></think>` trong đầu ra."
|
331
|
+
},
|
329
332
|
"Qwen/Qwen3-32B": {
|
330
333
|
"description": "Qwen3 là một mô hình lớn thế hệ mới của Tongyi Qianwen với khả năng nâng cao đáng kể, đạt được trình độ hàng đầu trong nhiều khả năng cốt lõi như suy luận, tổng quát, đại lý và đa ngôn ngữ, đồng thời hỗ trợ chuyển đổi chế độ suy nghĩ."
|
331
334
|
},
|
@@ -359,6 +362,12 @@
|
|
359
362
|
"Qwen2.5-Coder-32B-Instruct": {
|
360
363
|
"description": "Qwen2.5-Coder-32B-Instruct là một mô hình ngôn ngữ lớn được thiết kế đặc biệt cho việc tạo mã, hiểu mã và các tình huống phát triển hiệu quả, với quy mô 32B tham số hàng đầu trong ngành, có thể đáp ứng nhu cầu lập trình đa dạng."
|
361
364
|
},
|
365
|
+
"Qwen3-235B": {
|
366
|
+
"description": "Qwen3-235B-A22B là mô hình MoE (mô hình chuyên gia hỗn hợp), giới thiệu “chế độ suy luận hỗn hợp”, cho phép người dùng chuyển đổi liền mạch giữa “chế độ suy nghĩ” và “chế độ không suy nghĩ”. Mô hình hỗ trợ hiểu và suy luận bằng 119 ngôn ngữ và phương ngữ, đồng thời có khả năng gọi công cụ mạnh mẽ. Trong các bài kiểm tra chuẩn về năng lực tổng hợp, mã hóa và toán học, đa ngôn ngữ, kiến thức và suy luận, mô hình có thể cạnh tranh với các mô hình lớn hàng đầu trên thị trường hiện nay như DeepSeek R1, OpenAI o1, o3-mini, Grok 3 và Google Gemini 2.5 Pro."
|
367
|
+
},
|
368
|
+
"Qwen3-32B": {
|
369
|
+
"description": "Qwen3-32B là mô hình đặc (Dense Model), giới thiệu “chế độ suy luận hỗn hợp”, cho phép người dùng chuyển đổi liền mạch giữa “chế độ suy nghĩ” và “chế độ không suy nghĩ”. Nhờ cải tiến kiến trúc mô hình, tăng dữ liệu huấn luyện và phương pháp huấn luyện hiệu quả hơn, hiệu suất tổng thể tương đương với Qwen2.5-72B."
|
370
|
+
},
|
362
371
|
"SenseChat": {
|
363
372
|
"description": "Mô hình phiên bản cơ bản (V4), độ dài ngữ cảnh 4K, khả năng tổng quát mạnh mẽ."
|
364
373
|
},
|
@@ -395,6 +404,12 @@
|
|
395
404
|
"SenseChat-Vision": {
|
396
405
|
"description": "Mô hình phiên bản mới nhất (V5.5), hỗ trợ đầu vào nhiều hình ảnh, hoàn thiện khả năng cơ bản của mô hình, đạt được sự cải thiện lớn trong nhận diện thuộc tính đối tượng, mối quan hệ không gian, nhận diện sự kiện hành động, hiểu cảnh, nhận diện cảm xúc, suy luận kiến thức logic và hiểu sinh ra văn bản."
|
397
406
|
},
|
407
|
+
"SenseNova-V6-5-Pro": {
|
408
|
+
"description": "Thông qua việc cập nhật toàn diện dữ liệu đa phương thức, ngôn ngữ và suy luận cùng với tối ưu hóa chiến lược huấn luyện, mô hình mới đạt được sự cải thiện đáng kể trong suy luận đa phương thức và khả năng tuân theo chỉ dẫn tổng quát, hỗ trợ cửa sổ ngữ cảnh lên đến 128k và thể hiện xuất sắc trong các nhiệm vụ chuyên biệt như nhận dạng OCR và nhận diện IP du lịch văn hóa."
|
409
|
+
},
|
410
|
+
"SenseNova-V6-5-Turbo": {
|
411
|
+
"description": "Thông qua việc cập nhật toàn diện dữ liệu đa phương thức, ngôn ngữ và suy luận cùng với tối ưu hóa chiến lược huấn luyện, mô hình mới đạt được sự cải thiện đáng kể trong suy luận đa phương thức và khả năng tuân theo chỉ dẫn tổng quát, hỗ trợ cửa sổ ngữ cảnh lên đến 128k và thể hiện xuất sắc trong các nhiệm vụ chuyên biệt như nhận dạng OCR và nhận diện IP du lịch văn hóa."
|
412
|
+
},
|
398
413
|
"SenseNova-V6-Pro": {
|
399
414
|
"description": "Thực hiện sự thống nhất nguyên bản giữa hình ảnh, văn bản và video, vượt qua giới hạn phân tách đa phương thức truyền thống, giành được hai giải vô địch trong các đánh giá OpenCompass và SuperCLUE."
|
400
415
|
},
|
@@ -2372,6 +2387,12 @@
|
|
2372
2387
|
"qwen3-30b-a3b": {
|
2373
2388
|
"description": "Qwen3 là một mô hình lớn thế hệ mới với khả năng vượt trội, đạt được trình độ hàng đầu trong nhiều khả năng cốt lõi như suy luận, tổng quát, đại lý và đa ngôn ngữ, đồng thời hỗ trợ chuyển đổi chế độ suy nghĩ."
|
2374
2389
|
},
|
2390
|
+
"qwen3-30b-a3b-instruct-2507": {
|
2391
|
+
"description": "So với phiên bản trước (Qwen3-30B-A3B), khả năng tổng quát của mô hình trong tiếng Trung, tiếng Anh và đa ngôn ngữ đã được cải thiện đáng kể. Mô hình được tối ưu hóa đặc biệt cho các nhiệm vụ mở và chủ quan, phù hợp hơn với sở thích người dùng và có thể cung cấp các phản hồi hữu ích hơn."
|
2392
|
+
},
|
2393
|
+
"qwen3-30b-a3b-thinking-2507": {
|
2394
|
+
"description": "Dựa trên mô hình mã nguồn mở chế độ suy nghĩ của Qwen3, so với phiên bản trước (通义千问3-30B-A3B), khả năng logic, năng lực tổng quát, kiến thức được tăng cường và khả năng sáng tạo đều được cải thiện đáng kể, phù hợp cho các kịch bản suy luận phức tạp và khó khăn."
|
2395
|
+
},
|
2375
2396
|
"qwen3-32b": {
|
2376
2397
|
"description": "Qwen3 là một mô hình lớn thế hệ mới với khả năng vượt trội, đạt được trình độ hàng đầu trong nhiều khả năng cốt lõi như suy luận, tổng quát, đại lý và đa ngôn ngữ, đồng thời hỗ trợ chuyển đổi chế độ suy nghĩ."
|
2377
2398
|
},
|
@@ -5,6 +5,9 @@
|
|
5
5
|
"ai360": {
|
6
6
|
"description": "360 AI là nền tảng mô hình và dịch vụ AI do công ty 360 phát hành, cung cấp nhiều mô hình xử lý ngôn ngữ tự nhiên tiên tiến, bao gồm 360GPT2 Pro, 360GPT Pro, 360GPT Turbo và 360GPT Turbo Responsibility 8K. Những mô hình này kết hợp giữa tham số quy mô lớn và khả năng đa phương thức, được ứng dụng rộng rãi trong tạo văn bản, hiểu ngữ nghĩa, hệ thống đối thoại và tạo mã. Thông qua chiến lược giá linh hoạt, 360 AI đáp ứng nhu cầu đa dạng của người dùng, hỗ trợ nhà phát triển tích hợp, thúc đẩy sự đổi mới và phát triển ứng dụng thông minh."
|
7
7
|
},
|
8
|
+
"aihubmix": {
|
9
|
+
"description": "AiHubMix cung cấp truy cập đến nhiều mô hình AI thông qua một giao diện API thống nhất."
|
10
|
+
},
|
8
11
|
"anthropic": {
|
9
12
|
"description": "Anthropic là một công ty tập trung vào nghiên cứu và phát triển trí tuệ nhân tạo, cung cấp một loạt các mô hình ngôn ngữ tiên tiến như Claude 3.5 Sonnet, Claude 3 Sonnet, Claude 3 Opus và Claude 3 Haiku. Những mô hình này đạt được sự cân bằng lý tưởng giữa trí thông minh, tốc độ và chi phí, phù hợp cho nhiều ứng dụng từ khối lượng công việc doanh nghiệp đến phản hồi nhanh. Claude 3.5 Sonnet, là mô hình mới nhất của họ, thể hiện xuất sắc trong nhiều đánh giá, đồng thời duy trì tỷ lệ hiệu suất cao."
|
10
13
|
},
|
@@ -326,6 +326,9 @@
|
|
326
326
|
"Qwen/Qwen3-30B-A3B": {
|
327
327
|
"description": "Qwen3是一款能力大幅提升的新一代通义千问大模型,在推理、通用、Agent和多语言等多个核心能力上均达到业界领先水平,并支持思考模式切换。"
|
328
328
|
},
|
329
|
+
"Qwen/Qwen3-30B-A3B-Instruct-2507": {
|
330
|
+
"description": "Qwen3-30B-A3B-Instruct-2507 是 Qwen3-30B-A3B 非思考模式的更新版本。这是一个拥有 305 亿总参数和 33 亿激活参数的混合专家(MoE)模型。该模型在多个方面进行了关键增强,包括显著提升了指令遵循、逻辑推理、文本理解、数学、科学、编码和工具使用等通用能力。同时,它在多语言的长尾知识覆盖范围上取得了实质性进展,并能更好地与用户在主观和开放式任务中的偏好对齐,从而能够生成更有帮助的回复和更高质量的文本。此外,该模型的长文本理解能力也增强到了 256K。此模型仅支持非思考模式,其输出中不会生成 `<think></think>` 标签。"
|
331
|
+
},
|
329
332
|
"Qwen/Qwen3-32B": {
|
330
333
|
"description": "Qwen3是一款能力大幅提升的新一代通义千问大模型,在推理、通用、Agent和多语言等多个核心能力上均达到业界领先水平,并支持思考模式切换。"
|
331
334
|
},
|
@@ -359,6 +362,12 @@
|
|
359
362
|
"Qwen2.5-Coder-32B-Instruct": {
|
360
363
|
"description": "高级 LLM,支持代码生成、推理和修复,涵盖主流编程语言。"
|
361
364
|
},
|
365
|
+
"Qwen3-235B": {
|
366
|
+
"description": "Qwen3-235B-A22B,MoE(混合专家模型)模型,引入了“混合推理模式”,支持用户在“思考模式”和“非思考模式”之间无缝切换,支持119种语言和方言理解与推理,并具备强大的工具调用能力,在综合能力、代码与数学、多语言能力、知识与推理等多项基准测试中,都能与DeepSeek R1、OpenAI o1、o3-mini、Grok 3和谷歌Gemini 2.5 Pro等目前市场上的主流大模型竞争。"
|
367
|
+
},
|
368
|
+
"Qwen3-32B": {
|
369
|
+
"description": "Qwen3-32B,稠密模型(Dense Model),引入了“混合推理模式”,支持用户在“思考模式”和“非思考模式”之间无缝切换,由于模型架构改进、训练数据增加以及更有效的训练方法,整体性能与Qwen2.5-72B表现相当。"
|
370
|
+
},
|
362
371
|
"SenseChat": {
|
363
372
|
"description": "基础版本模型 (V4),4K上下文长度,通用能力强大"
|
364
373
|
},
|
@@ -395,6 +404,12 @@
|
|
395
404
|
"SenseChat-Vision": {
|
396
405
|
"description": "最新版本模型 (V5.5),支持多图的输入,全面实现模型基础能力优化,在对象属性识别、空间关系、动作事件识别、场景理解、情感识别、逻辑常识推理和文本理解生成上都实现了较大提升。"
|
397
406
|
},
|
407
|
+
"SenseNova-V6-5-Pro": {
|
408
|
+
"description": "通过对多模态、语言及推理数据的全面更新与训练策略的优化,新模型在多模态推理和泛化指令跟随能力上实现了显著提升,支持高达128k的上下文窗口,并在OCR与文旅IP识别等专项任务中表现卓越。"
|
409
|
+
},
|
410
|
+
"SenseNova-V6-5-Turbo": {
|
411
|
+
"description": "通过对多模态、语言及推理数据的全面更新与训练策略的优化,新模型在多模态推理和泛化指令跟随能力上实现了显著提升,支持高达128k的上下文窗口,并在OCR与文旅IP识别等专项任务中表现卓越。"
|
412
|
+
},
|
398
413
|
"SenseNova-V6-Pro": {
|
399
414
|
"description": "实现图片、文本、视频能力的原生统一,突破传统多模态分立局限,在OpenCompass和SuperCLUE评测中斩获双冠军。"
|
400
415
|
},
|
@@ -2372,6 +2387,12 @@
|
|
2372
2387
|
"qwen3-30b-a3b": {
|
2373
2388
|
"description": "Qwen3是一款能力大幅提升的新一代通义千问大模型,在推理、通用、Agent和多语言等多个核心能力上均达到业界领先水平,并支持思考模式切换。"
|
2374
2389
|
},
|
2390
|
+
"qwen3-30b-a3b-instruct-2507": {
|
2391
|
+
"description": "相较上一版本(Qwen3-30B-A3B)中英文和多语言整体通用能力有大幅提升。主观开放类任务专项优化,显著更加符合用户偏好,能够提供更有帮助性的回复。"
|
2392
|
+
},
|
2393
|
+
"qwen3-30b-a3b-thinking-2507": {
|
2394
|
+
"description": "基于Qwen3的思考模式开源模型,相较上一版本(通义千问3-30B-A3B)逻辑能力、通用能力、知识增强及创作能力均有大幅提升,适用于高难度强推理场景。"
|
2395
|
+
},
|
2375
2396
|
"qwen3-32b": {
|
2376
2397
|
"description": "Qwen3是一款能力大幅提升的新一代通义千问大模型,在推理、通用、Agent和多语言等多个核心能力上均达到业界领先水平,并支持思考模式切换。"
|
2377
2398
|
},
|
@@ -5,6 +5,9 @@
|
|
5
5
|
"ai360": {
|
6
6
|
"description": "360 AI 是 360 公司推出的 AI 模型和服务平台,提供多种先进的自然语言处理模型,包括 360GPT2 Pro、360GPT Pro、360GPT Turbo 和 360GPT Turbo Responsibility 8K。这些模型结合了大规模参数和多模态能力,广泛应用于文本生成、语义理解、对话系统与代码生成等领域。通过灵活的定价策略,360 AI 满足多样化用户需求,支持开发者集成,推动智能化应用的革新和发展。"
|
7
7
|
},
|
8
|
+
"aihubmix": {
|
9
|
+
"description": "AiHubMix 通过统一的 API 接口提供对多种 AI 模型的访问。"
|
10
|
+
},
|
8
11
|
"anthropic": {
|
9
12
|
"description": "Anthropic 是一家专注于人工智能研究和开发的公司,提供了一系列先进的语言模型,如 Claude 3.5 Sonnet、Claude 3 Sonnet、Claude 3 Opus 和 Claude 3 Haiku。这些模型在智能、速度和成本之间取得了理想的平衡,适用于从企业级工作负载到快速响应的各种应用场景。Claude 3.5 Sonnet 作为其最新模型,在多项评估中表现优异,同时保持了较高的性价比。"
|
10
13
|
},
|
@@ -326,6 +326,9 @@
|
|
326
326
|
"Qwen/Qwen3-30B-A3B": {
|
327
327
|
"description": "Qwen3 是一款能力大幅提升的新一代通義千問大模型,在推理、通用、Agent 和多語言等多個核心能力上均達到業界領先水平,並支持思考模式切換。"
|
328
328
|
},
|
329
|
+
"Qwen/Qwen3-30B-A3B-Instruct-2507": {
|
330
|
+
"description": "Qwen3-30B-A3B-Instruct-2507 是 Qwen3-30B-A3B 非思考模式的更新版本。這是一個擁有 305 億總參數和 33 億激活參數的混合專家(MoE)模型。該模型在多個方面進行了關鍵增強,包括顯著提升了指令遵循、邏輯推理、文本理解、數學、科學、編碼和工具使用等通用能力。同時,它在多語言的長尾知識覆蓋範圍上取得了實質性進展,並能更好地與用戶在主觀和開放式任務中的偏好對齊,從而能夠生成更有幫助的回覆和更高品質的文本。此外,該模型的長文本理解能力也增強到了 256K。此模型僅支援非思考模式,其輸出中不會生成 `<think></think>` 標籤。"
|
331
|
+
},
|
329
332
|
"Qwen/Qwen3-32B": {
|
330
333
|
"description": "Qwen3 是一款能力大幅提升的新一代通義千問大模型,在推理、通用、Agent 和多語言等多個核心能力上均達到業界領先水平,並支持思考模式切換。"
|
331
334
|
},
|
@@ -359,6 +362,12 @@
|
|
359
362
|
"Qwen2.5-Coder-32B-Instruct": {
|
360
363
|
"description": "Qwen2.5-Coder-32B-Instruct 是一款專為代碼生成、代碼理解和高效開發場景設計的大型語言模型,採用了業界領先的32B參數規模,能夠滿足多樣化的程式需求。"
|
361
364
|
},
|
365
|
+
"Qwen3-235B": {
|
366
|
+
"description": "Qwen3-235B-A22B,MoE(混合專家模型)模型,引入了「混合推理模式」,支援用戶在「思考模式」和「非思考模式」之間無縫切換,支援119種語言和方言理解與推理,並具備強大的工具調用能力,在綜合能力、程式碼與數學、多語言能力、知識與推理等多項基準測試中,都能與DeepSeek R1、OpenAI o1、o3-mini、Grok 3和谷歌Gemini 2.5 Pro等目前市場上的主流大型模型競爭。"
|
367
|
+
},
|
368
|
+
"Qwen3-32B": {
|
369
|
+
"description": "Qwen3-32B,稠密模型(Dense Model),引入了「混合推理模式」,支援用戶在「思考模式」和「非思考模式」之間無縫切換,由於模型架構改進、訓練資料增加以及更有效的訓練方法,整體性能與Qwen2.5-72B表現相當。"
|
370
|
+
},
|
362
371
|
"SenseChat": {
|
363
372
|
"description": "基礎版本模型 (V4),4K上下文長度,通用能力強大"
|
364
373
|
},
|
@@ -395,6 +404,12 @@
|
|
395
404
|
"SenseChat-Vision": {
|
396
405
|
"description": "最新版本模型 (V5.5),支持多圖的輸入,全面實現模型基礎能力優化,在對象屬性識別、空間關係、動作事件識別、場景理解、情感識別、邏輯常識推理和文本理解生成上都實現了較大提升。"
|
397
406
|
},
|
407
|
+
"SenseNova-V6-5-Pro": {
|
408
|
+
"description": "透過對多模態、語言及推理資料的全面更新與訓練策略的優化,新模型在多模態推理和泛化指令跟隨能力上實現了顯著提升,支援高達128k的上下文視窗,並在OCR與文旅IP識別等專項任務中表現卓越。"
|
409
|
+
},
|
410
|
+
"SenseNova-V6-5-Turbo": {
|
411
|
+
"description": "透過對多模態、語言及推理資料的全面更新與訓練策略的優化,新模型在多模態推理和泛化指令跟隨能力上實現了顯著提升,支援高達128k的上下文視窗,並在OCR與文旅IP識別等專項任務中表現卓越。"
|
412
|
+
},
|
398
413
|
"SenseNova-V6-Pro": {
|
399
414
|
"description": "實現圖片、文本、視頻能力的原生統一,突破傳統多模態分立局限,在OpenCompass和SuperCLUE評測中斬獲雙冠軍。"
|
400
415
|
},
|
@@ -2372,6 +2387,12 @@
|
|
2372
2387
|
"qwen3-30b-a3b": {
|
2373
2388
|
"description": "Qwen3是一款能力大幅提升的新一代通義千問大模型,在推理、通用、Agent和多語言等多個核心能力上均達到業界領先水平,並支持思考模式切換。"
|
2374
2389
|
},
|
2390
|
+
"qwen3-30b-a3b-instruct-2507": {
|
2391
|
+
"description": "相較上一版本(Qwen3-30B-A3B)中英文和多語言整體通用能力有大幅提升。主觀開放類任務專項優化,顯著更加符合用戶偏好,能夠提供更有幫助性的回覆。"
|
2392
|
+
},
|
2393
|
+
"qwen3-30b-a3b-thinking-2507": {
|
2394
|
+
"description": "基於Qwen3的思考模式開源模型,相較上一版本(通義千問3-30B-A3B)邏輯能力、通用能力、知識增強及創作能力均有大幅提升,適用於高難度強推理場景。"
|
2395
|
+
},
|
2375
2396
|
"qwen3-32b": {
|
2376
2397
|
"description": "Qwen3是一款能力大幅提升的新一代通義千問大模型,在推理、通用、Agent和多語言等多個核心能力上均達到業界領先水平,並支持思考模式切換。"
|
2377
2398
|
},
|
@@ -5,6 +5,9 @@
|
|
5
5
|
"ai360": {
|
6
6
|
"description": "360 AI 是 360 公司推出的 AI 模型和服務平台,提供多種先進的自然語言處理模型,包括 360GPT2 Pro、360GPT Pro、360GPT Turbo 和 360GPT Turbo Responsibility 8K。這些模型結合了大規模參數和多模態能力,廣泛應用於文本生成、語義理解、對話系統與代碼生成等領域。通過靈活的定價策略,360 AI 滿足多樣化用戶需求,支持開發者集成,推動智能化應用的革新和發展。"
|
7
7
|
},
|
8
|
+
"aihubmix": {
|
9
|
+
"description": "AiHubMix 透過統一的 API 介面提供對多種 AI 模型的存取。"
|
10
|
+
},
|
8
11
|
"anthropic": {
|
9
12
|
"description": "Anthropic 是一家專注於人工智慧研究和開發的公司,提供了一系列先進的語言模型,如 Claude 3.5 Sonnet、Claude 3 Sonnet、Claude 3 Opus 和 Claude 3 Haiku。這些模型在智能、速度和成本之間取得了理想的平衡,適用於從企業級工作負載到快速響應的各種應用場景。Claude 3.5 Sonnet 作為其最新模型,在多項評估中表現優異,同時保持了較高的性價比。"
|
10
13
|
},
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@lobehub/chat",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.107.1",
|
4
4
|
"description": "Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.",
|
5
5
|
"keywords": [
|
6
6
|
"framework",
|
@@ -264,7 +264,6 @@
|
|
264
264
|
"systemjs": "^6.15.1",
|
265
265
|
"tokenx": "^0.4.1",
|
266
266
|
"ts-md5": "^1.3.1",
|
267
|
-
"type-fest": "^4.41.0",
|
268
267
|
"ua-parser-js": "^1.0.40",
|
269
268
|
"unstructured-client": "^0.19.0",
|
270
269
|
"url-join": "^5.0.0",
|
@@ -356,7 +355,7 @@
|
|
356
355
|
"stylelint": "^15.11.0",
|
357
356
|
"tsx": "~4.19.4",
|
358
357
|
"type-fest": "^4.41.0",
|
359
|
-
"typescript": "^5.
|
358
|
+
"typescript": "^5.9.2",
|
360
359
|
"unified": "^11.0.5",
|
361
360
|
"unist-util-visit": "^5.0.0",
|
362
361
|
"vite": "^5.4.19",
|
@@ -81,7 +81,7 @@ export const fetchImageAsFile = async (url: string, width: number) => {
|
|
81
81
|
const filename = Date.now().toString() + type;
|
82
82
|
|
83
83
|
// Step 3: Create a file from the blob
|
84
|
-
const file: File = new File([buffer], filename, {
|
84
|
+
const file: File = new File([buffer as ArrayBuffer], filename, {
|
85
85
|
lastModified: Date.now(),
|
86
86
|
type: type === '.webp' ? 'image/webp' : blob.type,
|
87
87
|
});
|
@@ -9,7 +9,7 @@ import {
|
|
9
9
|
enableClerk,
|
10
10
|
} from '@/const/auth';
|
11
11
|
import { ClerkAuth } from '@/libs/clerk-auth';
|
12
|
-
import {
|
12
|
+
import { AgentRuntimeError, ChatCompletionErrorPayload, ModelRuntime } from '@/libs/model-runtime';
|
13
13
|
import { validateOIDCJWT } from '@/libs/oidc-provider/jwt';
|
14
14
|
import { ChatErrorType } from '@/types/fetch';
|
15
15
|
import { createErrorResponse } from '@/utils/errorResponse';
|
@@ -17,7 +17,7 @@ import { getXorPayload } from '@/utils/server/xor';
|
|
17
17
|
|
18
18
|
import { checkAuthMethod } from './utils';
|
19
19
|
|
20
|
-
type CreateRuntime = (jwtPayload: ClientSecretPayload) =>
|
20
|
+
type CreateRuntime = (jwtPayload: ClientSecretPayload) => ModelRuntime;
|
21
21
|
type RequestOptions = { createRuntime?: CreateRuntime; params: Promise<{ provider: string }> };
|
22
22
|
|
23
23
|
export type RequestHandler = (
|
@@ -4,7 +4,7 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
|
4
4
|
|
5
5
|
import { checkAuthMethod } from '@/app/(backend)/middleware/auth/utils';
|
6
6
|
import { LOBE_CHAT_AUTH_HEADER, OAUTH_AUTHORIZED } from '@/const/auth';
|
7
|
-
import {
|
7
|
+
import { LobeRuntimeAI, ModelRuntime } from '@/libs/model-runtime';
|
8
8
|
import { ChatErrorType } from '@/types/fetch';
|
9
9
|
import { getXorPayload } from '@/utils/server/xor';
|
10
10
|
|
@@ -57,10 +57,10 @@ afterEach(() => {
|
|
57
57
|
|
58
58
|
describe('POST handler', () => {
|
59
59
|
describe('init chat model', () => {
|
60
|
-
it('should initialize
|
60
|
+
it('should initialize ModelRuntime correctly with valid authorization', async () => {
|
61
61
|
const mockParams = Promise.resolve({ provider: 'test-provider' });
|
62
62
|
|
63
|
-
// 设置 getJWTPayload 和
|
63
|
+
// 设置 getJWTPayload 和 initModelRuntimeWithUserPayload 的模拟返回值
|
64
64
|
vi.mocked(getXorPayload).mockReturnValueOnce({
|
65
65
|
accessCode: 'test-access-code',
|
66
66
|
apiKey: 'test-api-key',
|
@@ -69,10 +69,10 @@ describe('POST handler', () => {
|
|
69
69
|
|
70
70
|
const mockRuntime: LobeRuntimeAI = { baseURL: 'abc', chat: vi.fn() };
|
71
71
|
|
72
|
-
// migrate to new
|
72
|
+
// migrate to new ModelRuntime init api
|
73
73
|
const spy = vi
|
74
|
-
.spyOn(
|
75
|
-
.mockResolvedValue(new
|
74
|
+
.spyOn(ModelRuntime, 'initializeWithProvider')
|
75
|
+
.mockResolvedValue(new ModelRuntime(mockRuntime));
|
76
76
|
|
77
77
|
// 调用 POST 函数
|
78
78
|
await POST(request as unknown as Request, { params: mockParams });
|
@@ -111,14 +111,14 @@ describe('POST handler', () => {
|
|
111
111
|
});
|
112
112
|
|
113
113
|
const mockParams = Promise.resolve({ provider: 'test-provider' });
|
114
|
-
// 设置
|
114
|
+
// 设置 initModelRuntimeWithUserPayload 的模拟返回值
|
115
115
|
vi.mocked(getAuth).mockReturnValue({} as any);
|
116
116
|
vi.mocked(checkAuthMethod).mockReset();
|
117
117
|
|
118
118
|
const mockRuntime: LobeRuntimeAI = { baseURL: 'abc', chat: vi.fn() };
|
119
119
|
|
120
|
-
vi.spyOn(
|
121
|
-
new
|
120
|
+
vi.spyOn(ModelRuntime, 'initializeWithProvider').mockResolvedValue(
|
121
|
+
new ModelRuntime(mockRuntime),
|
122
122
|
);
|
123
123
|
|
124
124
|
const request = new Request(new URL('https://test.com'), {
|
@@ -178,12 +178,12 @@ describe('POST handler', () => {
|
|
178
178
|
|
179
179
|
const mockChatResponse: any = { success: true, message: 'Reply from agent' };
|
180
180
|
|
181
|
-
vi.spyOn(
|
181
|
+
vi.spyOn(ModelRuntime.prototype, 'chat').mockResolvedValue(mockChatResponse);
|
182
182
|
|
183
183
|
const response = await POST(request as unknown as Request, { params: mockParams });
|
184
184
|
|
185
185
|
expect(response).toEqual(mockChatResponse);
|
186
|
-
expect(
|
186
|
+
expect(ModelRuntime.prototype.chat).toHaveBeenCalledWith(mockChatPayload, {
|
187
187
|
user: 'abc',
|
188
188
|
signal: expect.anything(),
|
189
189
|
});
|
@@ -210,7 +210,7 @@ describe('POST handler', () => {
|
|
210
210
|
errorMessage: 'Something went wrong',
|
211
211
|
};
|
212
212
|
|
213
|
-
vi.spyOn(
|
213
|
+
vi.spyOn(ModelRuntime.prototype, 'chat').mockRejectedValue(mockErrorResponse);
|
214
214
|
|
215
215
|
const response = await POST(request, { params: mockParams });
|
216
216
|
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import { checkAuth } from '@/app/(backend)/middleware/auth';
|
2
2
|
import {
|
3
3
|
AGENT_RUNTIME_ERROR_SET,
|
4
|
-
AgentRuntime,
|
5
4
|
ChatCompletionErrorPayload,
|
5
|
+
ModelRuntime,
|
6
6
|
} from '@/libs/model-runtime';
|
7
|
-
import { createTraceOptions,
|
7
|
+
import { createTraceOptions, initModelRuntimeWithUserPayload } from '@/server/modules/ModelRuntime';
|
8
8
|
import { ChatErrorType } from '@/types/fetch';
|
9
9
|
import { ChatStreamPayload } from '@/types/openai/chat';
|
10
10
|
import { createErrorResponse } from '@/utils/errorResponse';
|
@@ -17,11 +17,11 @@ export const POST = checkAuth(async (req: Request, { params, jwtPayload, createR
|
|
17
17
|
|
18
18
|
try {
|
19
19
|
// ============ 1. init chat model ============ //
|
20
|
-
let
|
20
|
+
let modelRuntime: ModelRuntime;
|
21
21
|
if (createRuntime) {
|
22
|
-
|
22
|
+
modelRuntime = createRuntime(jwtPayload);
|
23
23
|
} else {
|
24
|
-
|
24
|
+
modelRuntime = await initModelRuntimeWithUserPayload(provider, jwtPayload);
|
25
25
|
}
|
26
26
|
|
27
27
|
// ============ 2. create chat completion ============ //
|
@@ -36,7 +36,7 @@ export const POST = checkAuth(async (req: Request, { params, jwtPayload, createR
|
|
36
36
|
traceOptions = createTraceOptions(data, { provider, trace: tracePayload });
|
37
37
|
}
|
38
38
|
|
39
|
-
return await
|
39
|
+
return await modelRuntime.chat(data, {
|
40
40
|
user: jwtPayload.userId,
|
41
41
|
...traceOptions,
|
42
42
|
signal: req.signal,
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { checkAuth } from '@/app/(backend)/middleware/auth';
|
2
|
-
import {
|
2
|
+
import { ModelProvider, ModelRuntime } from '@/libs/model-runtime';
|
3
3
|
import { LobeVertexAI } from '@/libs/model-runtime/vertexai';
|
4
4
|
import { safeParseJSON } from '@/utils/safeParseJSON';
|
5
5
|
|
@@ -28,7 +28,7 @@ export const POST = checkAuth(async (req: Request, { jwtPayload }) =>
|
|
28
28
|
project: !!credentials?.project_id ? credentials?.project_id : process.env.VERTEXAI_PROJECT,
|
29
29
|
});
|
30
30
|
|
31
|
-
return new
|
31
|
+
return new ModelRuntime(instance);
|
32
32
|
},
|
33
33
|
params: Promise.resolve({ provider: ModelProvider.VertexAI }),
|
34
34
|
}),
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { checkAuth } from '@/app/(backend)/middleware/auth';
|
2
2
|
import { ChatCompletionErrorPayload, PullModelParams } from '@/libs/model-runtime';
|
3
|
-
import {
|
3
|
+
import { initModelRuntimeWithUserPayload } from '@/server/modules/ModelRuntime';
|
4
4
|
import { ChatErrorType } from '@/types/fetch';
|
5
5
|
import { createErrorResponse } from '@/utils/errorResponse';
|
6
6
|
|
@@ -10,7 +10,7 @@ export const POST = checkAuth(async (req, { params, jwtPayload }) => {
|
|
10
10
|
const { provider } = await params;
|
11
11
|
|
12
12
|
try {
|
13
|
-
const agentRuntime = await
|
13
|
+
const agentRuntime = await initModelRuntimeWithUserPayload(provider, jwtPayload);
|
14
14
|
|
15
15
|
const data = (await req.json()) as PullModelParams;
|
16
16
|
|
@@ -2,7 +2,7 @@ import { NextResponse } from 'next/server';
|
|
2
2
|
|
3
3
|
import { checkAuth } from '@/app/(backend)/middleware/auth';
|
4
4
|
import { ChatCompletionErrorPayload, ModelProvider } from '@/libs/model-runtime';
|
5
|
-
import {
|
5
|
+
import { initModelRuntimeWithUserPayload } from '@/server/modules/ModelRuntime';
|
6
6
|
import { ChatErrorType } from '@/types/fetch';
|
7
7
|
import { createErrorResponse } from '@/utils/errorResponse';
|
8
8
|
|
@@ -16,7 +16,7 @@ export const GET = checkAuth(async (req, { params, jwtPayload }) => {
|
|
16
16
|
try {
|
17
17
|
const hasDefaultApiKey = jwtPayload.apiKey || 'dont-need-api-key-for-model-list';
|
18
18
|
|
19
|
-
const agentRuntime = await
|
19
|
+
const agentRuntime = await initModelRuntimeWithUserPayload(provider, {
|
20
20
|
...jwtPayload,
|
21
21
|
apiKey: noNeedAPIKey(provider) ? hasDefaultApiKey : jwtPayload.apiKey,
|
22
22
|
});
|