From d3109318c878af8acdc85ba94c1a2661eca57514 Mon Sep 17 00:00:00 2001 From: Arvin Xu Date: Sat, 12 Oct 2024 23:35:13 +0900 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20add=20HuggingFace=20Model?= =?UTF-8?q?=20Provider=20(#4225)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 🚧 wip: add hf runtime * 💄 style: add HUGGINGFACE_MODEL_LIST * 🚨 chore: fix lint * 🎨 chore: fix code * support handle stream error * fix * add i18n * refactor with openai runtime * refactor: refactor the HF implement * 🐛 fix: fix * 🐛 fix: fix * 🐛 fix: fix --- locales/ar/error.json | 1 + locales/ar/modelProvider.json | 7 ++ locales/ar/models.json | 24 ++++-- locales/ar/providers.json | 3 + locales/bg-BG/error.json | 1 + locales/bg-BG/modelProvider.json | 7 ++ locales/bg-BG/models.json | 24 ++++-- locales/bg-BG/providers.json | 3 + locales/de-DE/error.json | 1 + locales/de-DE/modelProvider.json | 7 ++ locales/de-DE/models.json | 24 ++++-- locales/de-DE/providers.json | 3 + locales/en-US/error.json | 1 + locales/en-US/modelProvider.json | 7 ++ locales/en-US/models.json | 24 ++++-- locales/en-US/providers.json | 3 + locales/es-ES/error.json | 1 + locales/es-ES/modelProvider.json | 7 ++ locales/es-ES/models.json | 24 ++++-- locales/es-ES/providers.json | 3 + locales/fr-FR/error.json | 1 + locales/fr-FR/modelProvider.json | 7 ++ locales/fr-FR/models.json | 22 +++-- locales/fr-FR/providers.json | 3 + locales/it-IT/error.json | 1 + locales/it-IT/modelProvider.json | 7 ++ locales/it-IT/models.json | 24 ++++-- locales/it-IT/providers.json | 3 + locales/ja-JP/error.json | 1 + locales/ja-JP/modelProvider.json | 7 ++ locales/ja-JP/models.json | 24 ++++-- locales/ja-JP/providers.json | 3 + locales/ko-KR/error.json | 1 + locales/ko-KR/modelProvider.json | 7 ++ locales/ko-KR/models.json | 22 +++-- locales/ko-KR/providers.json | 3 + locales/nl-NL/error.json | 1 + locales/nl-NL/modelProvider.json | 7 ++ locales/nl-NL/models.json | 22 +++-- locales/nl-NL/providers.json | 3 + locales/pl-PL/error.json | 1 + locales/pl-PL/modelProvider.json | 7 ++ locales/pl-PL/models.json | 24 ++++-- locales/pl-PL/providers.json | 3 + locales/pt-BR/error.json | 1 + locales/pt-BR/modelProvider.json | 7 ++ locales/pt-BR/models.json | 24 ++++-- locales/pt-BR/providers.json | 3 + locales/ru-RU/error.json | 1 + locales/ru-RU/modelProvider.json | 7 ++ locales/ru-RU/models.json | 24 ++++-- locales/ru-RU/providers.json | 3 + locales/tr-TR/error.json | 1 + locales/tr-TR/modelProvider.json | 7 ++ locales/tr-TR/models.json | 24 ++++-- locales/tr-TR/providers.json | 3 + locales/vi-VN/error.json | 1 + locales/vi-VN/modelProvider.json | 7 ++ locales/vi-VN/models.json | 24 ++++-- locales/vi-VN/providers.json | 3 + locales/zh-CN/error.json | 3 +- locales/zh-CN/modelProvider.json | 9 +- locales/zh-CN/models.json | 20 ++++- locales/zh-CN/providers.json | 3 + locales/zh-TW/error.json | 1 + locales/zh-TW/modelProvider.json | 7 ++ locales/zh-TW/models.json | 20 ++++- locales/zh-TW/providers.json | 3 + package.json | 4 +- .../llm/ProviderList/HuggingFace/index.tsx | 53 ++++++++++++ .../settings/llm/ProviderList/providers.tsx | 13 ++- src/config/llm.ts | 10 +++ src/config/modelProviders/huggingface.ts | 50 +++++++++++ src/config/modelProviders/index.ts | 4 + src/const/settings/llm.ts | 5 ++ src/features/Conversation/Error/index.tsx | 1 + src/libs/agent-runtime/AgentRuntime.ts | 7 ++ src/libs/agent-runtime/error.ts | 1 + src/libs/agent-runtime/groq/index.ts | 2 +- src/libs/agent-runtime/huggingface/index.ts | 48 +++++++++++ src/libs/agent-runtime/types/type.ts | 1 + .../utils/openaiCompatibleFactory/index.ts | 78 ++++++++++++----- .../utils/streams/openai.test.ts | 85 +++++++++++++++++-- .../agent-runtime/utils/streams/openai.ts | 43 ++++++++-- .../agent-runtime/utils/streams/protocol.ts | 67 ++++++++++++++- src/locales/default/error.ts | 4 +- src/locales/default/modelProvider.ts | 9 +- src/server/globalConfig/index.ts | 13 ++- src/server/modules/AgentRuntime/index.ts | 10 +++ src/types/user/settings/keyVaults.ts | 1 + 90 files changed, 954 insertions(+), 140 deletions(-) create mode 100644 src/app/(main)/settings/llm/ProviderList/HuggingFace/index.tsx create mode 100644 src/config/modelProviders/huggingface.ts create mode 100644 src/libs/agent-runtime/huggingface/index.ts diff --git a/locales/ar/error.json b/locales/ar/error.json index b5aa84624ce9..c836676874ac 100644 --- a/locales/ar/error.json +++ b/locales/ar/error.json @@ -67,6 +67,7 @@ "OllamaBizError": "خطأ في طلب خدمة Ollama، يرجى التحقق من المعلومات التالية أو إعادة المحاولة", "OllamaServiceUnavailable": "خدمة Ollama غير متوفرة، يرجى التحقق من تشغيل Ollama بشكل صحيح أو إعدادات الـ Ollama للاتصال عبر النطاقات", "OpenAIBizError": "طلب خدمة OpenAI خاطئ، يرجى التحقق من المعلومات التالية أو إعادة المحاولة", + "PermissionDenied": "عذرًا، ليس لديك إذن للوصول إلى هذه الخدمة، يرجى التحقق مما إذا كانت مفاتيحك تمتلك إذن الوصول", "PluginApiNotFound": "عذرًا، لا يوجد API للإضافة في وصف الإضافة، يرجى التحقق من تطابق طريقة الطلب الخاصة بك مع API الوصف", "PluginApiParamsError": "عذرًا، فشلت التحقق من صحة معلمات الطلب للإضافة، يرجى التحقق من تطابق المعلمات مع معلومات الوصف", "PluginFailToTransformArguments": "عذرًا، فشل تحويل معلمات استدعاء الإضافة، يرجى محاولة إعادة إنشاء رسالة المساعد أو تجربة نموذج AI ذو قدرات استدعاء أقوى", diff --git a/locales/ar/modelProvider.json b/locales/ar/modelProvider.json index a3e2e99160a1..9018902e1bf4 100644 --- a/locales/ar/modelProvider.json +++ b/locales/ar/modelProvider.json @@ -58,6 +58,13 @@ "title": "GitHub PAT" } }, + "huggingface": { + "accessToken": { + "desc": "أدخل رمز HuggingFace الخاص بك، انقر [هنا](https://huggingface.co/settings/tokens) لإنشاء واحد", + "placeholder": "hf_xxxxxxxxx", + "title": "رمز HuggingFace" + } + }, "ollama": { "checker": { "desc": "اختبر ما إذا تم إدخال عنوان الوكيل بشكل صحيح", diff --git a/locales/ar/models.json b/locales/ar/models.json index 3ceef276748e..ce5bb88a61e0 100644 --- a/locales/ar/models.json +++ b/locales/ar/models.json @@ -458,6 +458,9 @@ "google/gemma-2-27b-it": { "description": "Gemma 2 تستمر في مفهوم التصميم الخفيف والفعال." }, + "google/gemma-2-2b-it": { + "description": "نموذج تحسين التعليمات الخفيف من Google" + }, "google/gemma-2-9b-it": { "description": "Gemma 2 هو سلسلة نماذج نصية مفتوحة المصدر خفيفة الوزن من Google." }, @@ -589,6 +592,12 @@ "llama-3.1-sonar-small-128k-online": { "description": "نموذج Llama 3.1 Sonar Small Online، يتمتع بـ 8B من المعلمات، يدعم طول سياق حوالي 127,000 علامة، مصمم للدردشة عبر الإنترنت، قادر على معالجة تفاعلات نصية متنوعة بكفاءة." }, + "llama-3.2-11b-vision-preview": { + "description": "Llama 3.2 مصمم للتعامل مع المهام التي تجمع بين البيانات البصرية والنصية. يظهر أداءً ممتازًا في مهام وصف الصور والأسئلة البصرية، متجاوزًا الفجوة بين توليد اللغة والاستدلال البصري." + }, + "llama-3.2-90b-vision-preview": { + "description": "Llama 3.2 مصمم للتعامل مع المهام التي تجمع بين البيانات البصرية والنصية. يظهر أداءً ممتازًا في مهام وصف الصور والأسئلة البصرية، متجاوزًا الفجوة بين توليد اللغة والاستدلال البصري." + }, "llama3-70b-8192": { "description": "Meta Llama 3 70B يوفر قدرة معالجة معقدة لا مثيل لها، مصمم خصيصًا للمشاريع ذات المتطلبات العالية." }, @@ -643,6 +652,9 @@ "meta-llama/Llama-2-13b-chat-hf": { "description": "LLaMA-2 Chat (13B) يوفر قدرة ممتازة على معالجة اللغة وتجربة تفاعلية رائعة." }, + "meta-llama/Llama-2-7b-chat-hf": { + "description": "واحد من أفضل نماذج المحادثة" + }, "meta-llama/Llama-3-70b-chat-hf": { "description": "LLaMA-3 Chat (70B) هو نموذج دردشة قوي، يدعم احتياجات الحوار المعقدة." }, @@ -811,8 +823,8 @@ "open-mixtral-8x7b": { "description": "Mixtral 8x7B هو نموذج خبير نادر، يستخدم عدة معلمات لزيادة سرعة الاستدلال، مناسب لمعالجة المهام متعددة اللغات وتوليد الشيفرة." }, - "openai/gpt-4o-2024-08-06": { - "description": "ChatGPT-4o هو نموذج ديناميكي يتم تحديثه في الوقت الحقيقي للحفاظ على أحدث إصدار. يجمع بين قدرات الفهم اللغوي القوي والتوليد، وهو مناسب لمجموعة واسعة من سيناريوهات الاستخدام، بما في ذلك خدمة العملاء والتعليم والدعم الفني." + "openai/gpt-4o": { + "description": "ChatGPT-4o هو نموذج ديناميكي يتم تحديثه في الوقت الحقيقي للحفاظ على أحدث إصدار. يجمع بين فهم اللغة القوي وقدرة التوليد، مما يجعله مناسبًا لمجموعة واسعة من التطبيقات، بما في ذلك خدمة العملاء والتعليم والدعم الفني." }, "openai/gpt-4o-mini": { "description": "GPT-4o mini هو أحدث نموذج من OpenAI تم إطلاقه بعد GPT-4 Omni، ويدعم إدخال النصوص والصور وإخراج النصوص. كأحد نماذجهم المتقدمة الصغيرة، فهو أرخص بكثير من النماذج الرائدة الأخرى في الآونة الأخيرة، وأرخص بأكثر من 60% من GPT-3.5 Turbo. يحتفظ بذكاء متقدم مع قيمة ممتازة. حصل GPT-4o mini على 82% في اختبار MMLU، وهو حاليًا يتفوق على GPT-4 في تفضيلات الدردشة." @@ -862,11 +874,11 @@ "qwen-vl-chat-v1": { "description": "نموذج Qwen العملاق للغة البصرية يدعم طرق تفاعل مرنة، بما في ذلك الصور المتعددة، والأسئلة والأجوبة المتعددة، والإبداع." }, - "qwen-vl-max": { - "description": "نموذج Qwen العملاق للغة البصرية. يعزز بشكل أكبر من قدرة الاستدلال البصري والامتثال للتعليمات، ويقدم مستوى أعلى من الإدراك البصري والفهم." + "qwen-vl-max-latest": { + "description": "نموذج اللغة البصرية الكبير Qwen. مقارنةً بالنسخة المحسّنة، تعزز مرة أخرى من قدرة الاستدلال البصري وقدرة اتباع التعليمات، مما يوفر مستوى أعلى من الإدراك البصري والمعرفة." }, - "qwen-vl-plus": { - "description": "نموذج Qwen العملاق للغة البصرية المعزز. يعزز بشكل كبير من قدرة التعرف على التفاصيل والتعرف على النصوص، ويدعم دقة تصل إلى مليون بكسل وأبعاد صورة بأي نسبة." + "qwen-vl-plus-latest": { + "description": "نسخة محسّنة من نموذج اللغة البصرية الكبير Qwen. تعزز بشكل كبير من قدرة التعرف على التفاصيل وقدرة التعرف على النصوص، وتدعم دقة تصل إلى أكثر من مليون بكسل وأبعاد صور بأي نسبة عرض إلى ارتفاع." }, "qwen-vl-v1": { "description": "نموذج تم تدريبه باستخدام نموذج Qwen-7B اللغوي، مع إضافة نموذج الصور، بدقة إدخال الصور 448." diff --git a/locales/ar/providers.json b/locales/ar/providers.json index 9056bb75dc32..0711b1722790 100644 --- a/locales/ar/providers.json +++ b/locales/ar/providers.json @@ -30,6 +30,9 @@ "groq": { "description": "يتميز محرك الاستدلال LPU من Groq بأداء ممتاز في أحدث اختبارات المعايير لنماذج اللغة الكبيرة المستقلة (LLM)، حيث أعاد تعريف معايير حلول الذكاء الاصطناعي بسرعته وكفاءته المذهلة. Groq يمثل سرعة استدلال فورية، ويظهر أداءً جيدًا في النشر القائم على السحابة." }, + "huggingface": { + "description": "تقدم واجهة برمجة التطبيقات الخاصة بـ HuggingFace طريقة سريعة ومجانية لاستكشاف الآلاف من النماذج لمجموعة متنوعة من المهام. سواء كنت تقوم بتصميم نموذج أولي لتطبيق جديد أو تحاول استكشاف إمكانيات التعلم الآلي، فإن هذه الواجهة تتيح لك الوصول الفوري إلى نماذج عالية الأداء في مجالات متعددة." + }, "hunyuan": { "description": "نموذج لغة متقدم تم تطويره بواسطة Tencent، يتمتع بقدرة قوية على الإبداع باللغة الصينية، وقدرة على الاستدلال المنطقي في سياقات معقدة، بالإضافة إلى قدرة موثوقة على تنفيذ المهام." }, diff --git a/locales/bg-BG/error.json b/locales/bg-BG/error.json index a59c26b72c94..510abd6b10bc 100644 --- a/locales/bg-BG/error.json +++ b/locales/bg-BG/error.json @@ -67,6 +67,7 @@ "OllamaBizError": "Грешка при заявка към услугата Ollama, моля, отстранете неизправностите или опитайте отново въз основа на следната информация", "OllamaServiceUnavailable": "Услугата Ollama не е налична. Моля, проверете дали Ollama работи правилно или дали е конфигуриран коректно за междудомейност.", "OpenAIBizError": "Грешка в услугата на OpenAI, моля проверете следната информация или опитайте отново", + "PermissionDenied": "Съжаляваме, нямате разрешение да достъпвате тази услуга. Моля, проверете дали вашият ключ има необходимите права за достъп.", "PluginApiNotFound": "Съжаляваме, API не съществува в манифеста на плъгина. Моля, проверете дали методът на вашата заявка съвпада с API на манифеста на плъгина", "PluginApiParamsError": "Съжаляваме, проверката на входния параметър за заявката на плъгина е неуспешна. Моля, проверете дали входните параметри съвпадат с описанието на API", "PluginFailToTransformArguments": "Съжаляваме, неуспешно преобразуване на аргументите за извикване на плъгин. Моля, опитайте отново да генерирате съобщението на помощника или опитайте с по-мощна AI модел на Tools Calling.", diff --git a/locales/bg-BG/modelProvider.json b/locales/bg-BG/modelProvider.json index 016ee1d8f87c..db90b9fa13cb 100644 --- a/locales/bg-BG/modelProvider.json +++ b/locales/bg-BG/modelProvider.json @@ -58,6 +58,13 @@ "title": "GitHub PAT" } }, + "huggingface": { + "accessToken": { + "desc": "Въведете вашия HuggingFace токен, кликнете [тук](https://huggingface.co/settings/tokens), за да създадете", + "placeholder": "hf_xxxxxxxxx", + "title": "HuggingFace токен" + } + }, "ollama": { "checker": { "desc": "Тестване дали адресът на прокси е попълнен правилно", diff --git a/locales/bg-BG/models.json b/locales/bg-BG/models.json index 40d63f23f236..6826b4f6336e 100644 --- a/locales/bg-BG/models.json +++ b/locales/bg-BG/models.json @@ -458,6 +458,9 @@ "google/gemma-2-27b-it": { "description": "Gemma 2 продължава концепцията за лекота и ефективност." }, + "google/gemma-2-2b-it": { + "description": "Лек модел за настройка на инструкции от Google." + }, "google/gemma-2-9b-it": { "description": "Gemma 2 е серия от леки отворени текстови модели на Google." }, @@ -589,6 +592,12 @@ "llama-3.1-sonar-small-128k-online": { "description": "Llama 3.1 Sonar Small Online модел, с 8B параметри, поддържащ контекстова дължина от около 127,000 маркера, проектиран за онлайн чат, способен да обработва ефективно различни текстови взаимодействия." }, + "llama-3.2-11b-vision-preview": { + "description": "Llama 3.2 е проектиран да обработва задачи, свързващи визуални и текстови данни. Той показва отлични резултати в задачи като описание на изображения и визуални въпроси и отговори, преодолявайки пропастта между генерирането на език и визуалното разсъждение." + }, + "llama-3.2-90b-vision-preview": { + "description": "Llama 3.2 е проектиран да обработва задачи, свързващи визуални и текстови данни. Той показва отлични резултати в задачи като описание на изображения и визуални въпроси и отговори, преодолявайки пропастта между генерирането на език и визуалното разсъждение." + }, "llama3-70b-8192": { "description": "Meta Llama 3 70B предлага ненадмината способност за обработка на сложност, проектирана за високи изисквания." }, @@ -643,6 +652,9 @@ "meta-llama/Llama-2-13b-chat-hf": { "description": "LLaMA-2 Chat (13B) предлага отлични способности за обработка на език и изключителен интерактивен опит." }, + "meta-llama/Llama-2-7b-chat-hf": { + "description": "Един от най-добрите модели за разговори." + }, "meta-llama/Llama-3-70b-chat-hf": { "description": "LLaMA-3 Chat (70B) е мощен чат модел, поддържащ сложни изисквания за диалог." }, @@ -811,8 +823,8 @@ "open-mixtral-8x7b": { "description": "Mixtral 8x7B е рядък експертен модел, който използва множество параметри за увеличаване на скоростта на разсъждение, подходящ за обработка на многоезични и кодови генериращи задачи." }, - "openai/gpt-4o-2024-08-06": { - "description": "ChatGPT-4o е динамичен модел, който се актуализира в реално време, за да поддържа най-новата версия. Той комбинира мощни способности за разбиране и генериране на език, подходящи за мащабни приложения, включително обслужване на клиенти, образование и техническа поддръжка." + "openai/gpt-4o": { + "description": "ChatGPT-4o е динамичен модел, който се актуализира в реално време, за да поддържа най-новата версия. Той комбинира мощно разбиране на езика и способности за генериране, подходящ за мащабни приложения, включително обслужване на клиенти, образование и техническа поддръжка." }, "openai/gpt-4o-mini": { "description": "GPT-4o mini е най-новият модел на OpenAI, пуснат след GPT-4 Omni, който поддържа вход и изход на текст и изображения. Като най-напредналият им малък модел, той е значително по-евтин от другите нови модели и е с над 60% по-евтин от GPT-3.5 Turbo. Запазва най-съвременната интелигентност, като предлага значителна стойност за парите. GPT-4o mini получи 82% на теста MMLU и в момента е с по-висок рейтинг от GPT-4 в предпочитанията за чат." @@ -862,11 +874,11 @@ "qwen-vl-chat-v1": { "description": "Qwen VL поддържа гъвкави интерактивни методи, включително множество изображения, многократни въпроси и отговори, творчество и др." }, - "qwen-vl-max": { - "description": "Qwen е мащабен визуален езиков модел. В сравнение с подобрената версия, отново е подобрена способността за визуално разсъждение и следване на инструкции, предоставяйки по-високо ниво на визуално възприятие и познание." + "qwen-vl-max-latest": { + "description": "Qwen-VL Max е модел за визуален език с изключително голям мащаб. В сравнение с подобрената версия, той отново подобрява способността за визуално разсъждение и следване на инструкции, предоставяйки по-високо ниво на визуално възприятие и познание." }, - "qwen-vl-plus": { - "description": "Qwen е подобрена версия на мащабния визуален езиков модел. Значително подобрена способност за разпознаване на детайли и текст, поддържа изображения с резолюция над един милион пиксела и произволни съотношения на страните." + "qwen-vl-plus-latest": { + "description": "Моделят за визуален език Qwen-VL Plus е подобрена версия с голям мащаб. Значително подобрява способността за разпознаване на детайли и текст, поддържа резолюция над милион пиксела и изображения с произволно съотношение на страните." }, "qwen-vl-v1": { "description": "Инициализиран с езиковия модел Qwen-7B, добавя модел за изображения, предтренировъчен модел с резолюция на входа от 448." diff --git a/locales/bg-BG/providers.json b/locales/bg-BG/providers.json index 4a0cb9a6f9ad..304348e79979 100644 --- a/locales/bg-BG/providers.json +++ b/locales/bg-BG/providers.json @@ -30,6 +30,9 @@ "groq": { "description": "Инженерният двигател LPU на Groq показва изключителни резултати в последните независими тестове на големи езикови модели (LLM), преосмисляйки стандартите за AI решения с невероятната си скорост и ефективност. Groq е представител на мигновен скорост на изводите, демонстрирайки добро представяне в облачни внедрения." }, + "huggingface": { + "description": "HuggingFace Inference API предлагава бърз и безплатен начин да изследвате хиляди модели, подходящи за различни задачи. Независимо дали проектирате прототип за ново приложение, или опитвате функционалността на машинното обучение, този API ви предоставя незабавен достъп до високопроизводителни модели в множество области." + }, "hunyuan": { "description": "Модел на голям език, разработен от Tencent, който притежава мощни способности за създаване на текст на китайски, логическо разсъждение в сложни контексти и надеждни способности за изпълнение на задачи." }, diff --git a/locales/de-DE/error.json b/locales/de-DE/error.json index 1841c32ca684..704a5ba6d38c 100644 --- a/locales/de-DE/error.json +++ b/locales/de-DE/error.json @@ -67,6 +67,7 @@ "OllamaBizError": "Fehler bei der Anforderung des Ollama-Dienstes. Bitte überprüfen Sie die folgenden Informationen oder versuchen Sie es erneut.", "OllamaServiceUnavailable": "Der Ollama-Dienst ist nicht verfügbar. Bitte überprüfen Sie, ob Ollama ordnungsgemäß ausgeführt wird und ob die CORS-Konfiguration von Ollama korrekt ist.", "OpenAIBizError": "Fehler bei der Anforderung des OpenAI-Dienstes. Bitte überprüfen Sie die folgenden Informationen oder versuchen Sie es erneut.", + "PermissionDenied": "Es tut uns leid, Sie haben keine Berechtigung, auf diesen Dienst zuzugreifen. Bitte überprüfen Sie, ob Ihr Schlüssel die erforderlichen Zugriffsrechte hat.", "PluginApiNotFound": "Entschuldigung, das API des Plugins im Plugin-Manifest existiert nicht. Bitte überprüfen Sie, ob Ihre Anfragemethode mit dem Plugin-Manifest-API übereinstimmt", "PluginApiParamsError": "Entschuldigung, die Eingabeüberprüfung der Plugin-Anfrage ist fehlgeschlagen. Bitte überprüfen Sie, ob die Eingabe mit den API-Beschreibungsinformationen übereinstimmt", "PluginFailToTransformArguments": "Es tut uns leid, die Plugin-Aufrufargumente konnten nicht transformiert werden. Bitte versuchen Sie, die Assistentennachricht erneut zu generieren, oder wechseln Sie zu einem leistungsstärkeren AI-Modell mit Tools Calling-Fähigkeiten und versuchen Sie es erneut.", diff --git a/locales/de-DE/modelProvider.json b/locales/de-DE/modelProvider.json index 1f08a362b0df..cd36803e1940 100644 --- a/locales/de-DE/modelProvider.json +++ b/locales/de-DE/modelProvider.json @@ -58,6 +58,13 @@ "title": "GitHub PAT" } }, + "huggingface": { + "accessToken": { + "desc": "Geben Sie Ihr HuggingFace-Token ein, klicken Sie [hier](https://huggingface.co/settings/tokens), um eines zu erstellen", + "placeholder": "hf_xxxxxxxxx", + "title": "HuggingFace-Token" + } + }, "ollama": { "checker": { "desc": "Testen Sie, ob die Proxy-Adresse korrekt eingetragen wurde", diff --git a/locales/de-DE/models.json b/locales/de-DE/models.json index 3d3f9a055ced..3488f680dd5e 100644 --- a/locales/de-DE/models.json +++ b/locales/de-DE/models.json @@ -458,6 +458,9 @@ "google/gemma-2-27b-it": { "description": "Gemma 2 setzt das Designkonzept von Leichtbau und Effizienz fort." }, + "google/gemma-2-2b-it": { + "description": "Das leichtgewichtige Anweisungsoptimierungsmodell von Google." + }, "google/gemma-2-9b-it": { "description": "Gemma 2 ist eine leichtgewichtige Open-Source-Textmodellreihe von Google." }, @@ -589,6 +592,12 @@ "llama-3.1-sonar-small-128k-online": { "description": "Das Llama 3.1 Sonar Small Online-Modell hat 8B Parameter und unterstützt eine Kontextlänge von etwa 127.000 Markierungen, es wurde speziell für Online-Chat entwickelt und kann verschiedene Textinteraktionen effizient verarbeiten." }, + "llama-3.2-11b-vision-preview": { + "description": "Llama 3.2 ist darauf ausgelegt, Aufgaben zu bearbeiten, die visuelle und textuelle Daten kombinieren. Es zeigt hervorragende Leistungen bei Aufgaben wie Bildbeschreibung und visuellen Fragen und Antworten und überbrückt die Kluft zwischen Sprachgenerierung und visueller Schlussfolgerung." + }, + "llama-3.2-90b-vision-preview": { + "description": "Llama 3.2 ist darauf ausgelegt, Aufgaben zu bearbeiten, die visuelle und textuelle Daten kombinieren. Es zeigt hervorragende Leistungen bei Aufgaben wie Bildbeschreibung und visuellen Fragen und Antworten und überbrückt die Kluft zwischen Sprachgenerierung und visueller Schlussfolgerung." + }, "llama3-70b-8192": { "description": "Meta Llama 3 70B bietet unvergleichliche Fähigkeiten zur Verarbeitung von Komplexität und ist maßgeschneidert für Projekte mit hohen Anforderungen." }, @@ -643,6 +652,9 @@ "meta-llama/Llama-2-13b-chat-hf": { "description": "LLaMA-2 Chat (13B) bietet hervorragende Sprachverarbeitungsfähigkeiten und ein ausgezeichnetes Interaktionserlebnis." }, + "meta-llama/Llama-2-7b-chat-hf": { + "description": "Eines der besten Dialogmodelle." + }, "meta-llama/Llama-3-70b-chat-hf": { "description": "LLaMA-3 Chat (70B) ist ein leistungsstarkes Chat-Modell, das komplexe Dialoganforderungen unterstützt." }, @@ -811,8 +823,8 @@ "open-mixtral-8x7b": { "description": "Mixtral 8x7B ist ein spärliches Expertenmodell, das mehrere Parameter nutzt, um die Schlussfolgerungsgeschwindigkeit zu erhöhen und sich für die Verarbeitung mehrsprachiger und Codegenerierungsaufgaben eignet." }, - "openai/gpt-4o-2024-08-06": { - "description": "ChatGPT-4o ist ein dynamisches Modell, das in Echtzeit aktualisiert wird, um die neueste Version zu gewährleisten. Es kombiniert starke Sprachverständnis- und Generierungsfähigkeiten und eignet sich für großangelegte Anwendungsszenarien, einschließlich Kundenservice, Bildung und technische Unterstützung." + "openai/gpt-4o": { + "description": "ChatGPT-4o ist ein dynamisches Modell, das in Echtzeit aktualisiert wird, um die neueste Version zu gewährleisten. Es kombiniert starke Sprachverständnis- und Generierungsfähigkeiten und eignet sich für großangelegte Anwendungsszenarien, einschließlich Kundenservice, Bildung und technischem Support." }, "openai/gpt-4o-mini": { "description": "GPT-4o mini ist das neueste Modell von OpenAI, das nach GPT-4 Omni veröffentlicht wurde und Text- und Bild-Eingaben unterstützt. Als ihr fortschrittlichstes kleines Modell ist es viel günstiger als andere neueste Modelle und über 60 % günstiger als GPT-3.5 Turbo. Es behält die fortschrittlichste Intelligenz bei und bietet gleichzeitig ein hervorragendes Preis-Leistungs-Verhältnis. GPT-4o mini erzielte 82 % im MMLU-Test und rangiert derzeit in den Chat-Präferenzen über GPT-4." @@ -862,11 +874,11 @@ "qwen-vl-chat-v1": { "description": "Qwen VL unterstützt flexible Interaktionsmethoden, einschließlich Mehrbild-, Mehrfachfragen und kreativen Fähigkeiten." }, - "qwen-vl-max": { - "description": "Qwen ist ein groß angelegtes visuelles Sprachmodell. Im Vergleich zur verbesserten Version hat es die visuelle Schlussfolgerungsfähigkeit und die Befolgung von Anweisungen weiter verbessert und bietet ein höheres Maß an visueller Wahrnehmung und Kognition." + "qwen-vl-max-latest": { + "description": "Das Tongyi Qianwen Ultra-Scale Visuelle Sprachmodell. Im Vergleich zur verbesserten Version wurden die Fähigkeiten zur visuellen Schlussfolgerung und Befolgung von Anweisungen weiter gesteigert, was ein höheres Niveau an visueller Wahrnehmung und Kognition bietet." }, - "qwen-vl-plus": { - "description": "Qwen ist eine verbesserte Version des groß angelegten visuellen Sprachmodells. Es verbessert erheblich die Fähigkeit zur Detailerkennung und Texterkennung und unterstützt Bilder mit über einer Million Pixeln und beliebigen Seitenverhältnissen." + "qwen-vl-plus-latest": { + "description": "Die verbesserte Version des Tongyi Qianwen, eines großangelegten visuellen Sprachmodells. Deutlich verbesserte Fähigkeiten zur Detailerkennung und Texterkennung, unterstützt Bildauflösungen von über einer Million Pixel und beliebige Seitenverhältnisse." }, "qwen-vl-v1": { "description": "Initiiert mit dem Qwen-7B-Sprachmodell, fügt es ein Bildmodell hinzu, das für Bildeingaben mit einer Auflösung von 448 vortrainiert wurde." diff --git a/locales/de-DE/providers.json b/locales/de-DE/providers.json index 281219ce9b36..16b7e5c01515 100644 --- a/locales/de-DE/providers.json +++ b/locales/de-DE/providers.json @@ -30,6 +30,9 @@ "groq": { "description": "Der LPU-Inferenz-Engine von Groq hat in den neuesten unabhängigen Benchmark-Tests für große Sprachmodelle (LLM) hervorragende Leistungen gezeigt und definiert mit seiner erstaunlichen Geschwindigkeit und Effizienz die Standards für KI-Lösungen neu. Groq ist ein Beispiel für sofortige Inferenzgeschwindigkeit und zeigt in cloudbasierten Bereitstellungen eine gute Leistung." }, + "huggingface": { + "description": "Die HuggingFace Inference API bietet eine schnelle und kostenlose Möglichkeit, Tausende von Modellen für verschiedene Aufgaben zu erkunden. Egal, ob Sie Prototypen für neue Anwendungen erstellen oder die Funktionen des maschinellen Lernens ausprobieren, diese API ermöglicht Ihnen den sofortigen Zugriff auf leistungsstarke Modelle aus verschiedenen Bereichen." + }, "hunyuan": { "description": "Ein von Tencent entwickeltes großes Sprachmodell, das über starke Fähigkeiten zur Erstellung von Inhalten in chinesischer Sprache, logisches Denkvermögen in komplexen Kontexten und zuverlässige Fähigkeiten zur Aufgabenerfüllung verfügt." }, diff --git a/locales/en-US/error.json b/locales/en-US/error.json index bf66eb503d07..bb161bf7885e 100644 --- a/locales/en-US/error.json +++ b/locales/en-US/error.json @@ -67,6 +67,7 @@ "OllamaBizError": "Error requesting Ollama service, please troubleshoot or retry based on the following information", "OllamaServiceUnavailable": "Ollama service is unavailable. Please check if Ollama is running properly or if the cross-origin configuration of Ollama is set correctly.", "OpenAIBizError": "Error requesting OpenAI service, please troubleshoot or retry based on the following information", + "PermissionDenied": "Sorry, you do not have permission to access this service. Please check if your key has the necessary access rights.", "PluginApiNotFound": "Sorry, the API does not exist in the plugin's manifest. Please check if your request method matches the plugin manifest API", "PluginApiParamsError": "Sorry, the input parameter validation for the plugin request failed. Please check if the input parameters match the API description", "PluginFailToTransformArguments": "Sorry, the plugin failed to parse the arguments. Please try regenerating the assistant message or switch to a more powerful AI model with Tools Calling capability and try again", diff --git a/locales/en-US/modelProvider.json b/locales/en-US/modelProvider.json index d439754e16b6..9b0c1f0f3823 100644 --- a/locales/en-US/modelProvider.json +++ b/locales/en-US/modelProvider.json @@ -58,6 +58,13 @@ "title": "GitHub PAT" } }, + "huggingface": { + "accessToken": { + "desc": "Enter your HuggingFace Token, click [here](https://huggingface.co/settings/tokens) to create one", + "placeholder": "hf_xxxxxxxxx", + "title": "HuggingFace Token" + } + }, "ollama": { "checker": { "desc": "Test if the proxy address is correctly filled in", diff --git a/locales/en-US/models.json b/locales/en-US/models.json index e7413229a300..31e78dcfa3ba 100644 --- a/locales/en-US/models.json +++ b/locales/en-US/models.json @@ -458,6 +458,9 @@ "google/gemma-2-27b-it": { "description": "Gemma 2 continues the design philosophy of being lightweight and efficient." }, + "google/gemma-2-2b-it": { + "description": "Google's lightweight instruction-tuning model." + }, "google/gemma-2-9b-it": { "description": "Gemma 2 is Google's lightweight open-source text model series." }, @@ -589,6 +592,12 @@ "llama-3.1-sonar-small-128k-online": { "description": "Llama 3.1 Sonar Small Online model, featuring 8B parameters, supports a context length of approximately 127,000 tokens, designed for online chat, efficiently handling various text interactions." }, + "llama-3.2-11b-vision-preview": { + "description": "Llama 3.2 is designed to handle tasks that combine visual and textual data. It excels in tasks such as image description and visual question answering, bridging the gap between language generation and visual reasoning." + }, + "llama-3.2-90b-vision-preview": { + "description": "Llama 3.2 is designed to handle tasks that combine visual and textual data. It excels in tasks such as image description and visual question answering, bridging the gap between language generation and visual reasoning." + }, "llama3-70b-8192": { "description": "Meta Llama 3 70B provides unparalleled complexity handling capabilities, tailored for high-demand projects." }, @@ -643,6 +652,9 @@ "meta-llama/Llama-2-13b-chat-hf": { "description": "LLaMA-2 Chat (13B) offers excellent language processing capabilities and outstanding interactive experiences." }, + "meta-llama/Llama-2-7b-chat-hf": { + "description": "One of the best conversational models." + }, "meta-llama/Llama-3-70b-chat-hf": { "description": "LLaMA-3 Chat (70B) is a powerful chat model that supports complex conversational needs." }, @@ -811,8 +823,8 @@ "open-mixtral-8x7b": { "description": "Mixtral 8x7B is a sparse expert model that leverages multiple parameters to enhance reasoning speed, suitable for handling multilingual and code generation tasks." }, - "openai/gpt-4o-2024-08-06": { - "description": "ChatGPT-4o is a dynamic model that updates in real-time to maintain the latest version. It combines powerful language understanding and generation capabilities, making it suitable for large-scale application scenarios, including customer service, education, and technical support." + "openai/gpt-4o": { + "description": "ChatGPT-4o is a dynamic model that updates in real-time to maintain the latest version. It combines powerful language understanding and generation capabilities, suitable for large-scale application scenarios, including customer service, education, and technical support." }, "openai/gpt-4o-mini": { "description": "GPT-4o mini is the latest model released by OpenAI following GPT-4 Omni, supporting both text and image input while outputting text. As their most advanced small model, it is significantly cheaper than other recent cutting-edge models and over 60% cheaper than GPT-3.5 Turbo. It maintains state-of-the-art intelligence while offering remarkable cost-effectiveness. GPT-4o mini scored 82% on the MMLU test and currently ranks higher than GPT-4 in chat preferences." @@ -862,11 +874,11 @@ "qwen-vl-chat-v1": { "description": "Qwen VL supports flexible interaction methods, including multi-image, multi-turn Q&A, and creative capabilities." }, - "qwen-vl-max": { - "description": "Qwen is a large-scale visual language model. Compared to the enhanced version, it further improves visual reasoning and instruction-following capabilities, providing higher levels of visual perception and cognition." + "qwen-vl-max-latest": { + "description": "Tongyi Qianwen's ultra-large-scale visual language model. Compared to the enhanced version, it further improves visual reasoning and instruction-following abilities, providing a higher level of visual perception and cognition." }, - "qwen-vl-plus": { - "description": "Qwen is a large-scale visual language model enhanced version. It significantly improves detail recognition and text recognition capabilities, supporting images with resolutions over one million pixels and any aspect ratio." + "qwen-vl-plus-latest": { + "description": "Tongyi Qianwen's large-scale visual language model enhanced version. Significantly improves detail recognition and text recognition capabilities, supporting ultra-high pixel resolution and images of any aspect ratio." }, "qwen-vl-v1": { "description": "Initialized with the Qwen-7B language model, this pre-trained model adds an image model with an input resolution of 448." diff --git a/locales/en-US/providers.json b/locales/en-US/providers.json index c411d98cc848..7f9386d40251 100644 --- a/locales/en-US/providers.json +++ b/locales/en-US/providers.json @@ -30,6 +30,9 @@ "groq": { "description": "Groq's LPU inference engine has excelled in the latest independent large language model (LLM) benchmarks, redefining the standards for AI solutions with its remarkable speed and efficiency. Groq represents instant inference speed, demonstrating strong performance in cloud-based deployments." }, + "huggingface": { + "description": "The HuggingFace Inference API provides a fast and free way for you to explore thousands of models for various tasks. Whether you are prototyping for a new application or experimenting with the capabilities of machine learning, this API gives you instant access to high-performance models across multiple domains." + }, "hunyuan": { "description": "A large language model developed by Tencent, equipped with powerful Chinese creative capabilities, logical reasoning abilities in complex contexts, and reliable task execution skills." }, diff --git a/locales/es-ES/error.json b/locales/es-ES/error.json index fa97013e1cd7..dc7fb724cc38 100644 --- a/locales/es-ES/error.json +++ b/locales/es-ES/error.json @@ -67,6 +67,7 @@ "OllamaBizError": "Error al solicitar el servicio de Ollama, por favor verifica la siguiente información o inténtalo de nuevo", "OllamaServiceUnavailable": "El servicio Ollama no está disponible. Por favor, verifica si Ollama está funcionando correctamente o si la configuración de Ollama para el acceso entre dominios está configurada correctamente.", "OpenAIBizError": "Se produjo un error al solicitar el servicio de OpenAI, por favor, revise la siguiente información o inténtelo de nuevo", + "PermissionDenied": "Lo sentimos, no tienes permiso para acceder a este servicio. Por favor, verifica si tu clave tiene los permisos necesarios.", "PluginApiNotFound": "Lo sentimos, el API especificado no existe en el manifiesto del complemento. Verifique si su método de solicitud coincide con el API del manifiesto del complemento", "PluginApiParamsError": "Lo sentimos, la validación de los parámetros de entrada de la solicitud del complemento no ha pasado. Verifique si los parámetros de entrada coinciden con la información de descripción del API", "PluginFailToTransformArguments": "Lo siento, no se pudieron transformar los argumentos de la llamada al plugin. Por favor, intenta generar de nuevo el mensaje del asistente o prueba con un modelo de IA de Tools Calling más potente.", diff --git a/locales/es-ES/modelProvider.json b/locales/es-ES/modelProvider.json index 1acf7c6e8cf7..5dc34101077d 100644 --- a/locales/es-ES/modelProvider.json +++ b/locales/es-ES/modelProvider.json @@ -58,6 +58,13 @@ "title": "GitHub PAT" } }, + "huggingface": { + "accessToken": { + "desc": "Introduce tu token de HuggingFace, haz clic [aquí](https://huggingface.co/settings/tokens) para crear uno", + "placeholder": "hf_xxxxxxxxx", + "title": "Token de HuggingFace" + } + }, "ollama": { "checker": { "desc": "Prueba si la dirección del proxy de la interfaz se ha introducido correctamente", diff --git a/locales/es-ES/models.json b/locales/es-ES/models.json index a36e65bde9fc..388a913ed91c 100644 --- a/locales/es-ES/models.json +++ b/locales/es-ES/models.json @@ -458,6 +458,9 @@ "google/gemma-2-27b-it": { "description": "Gemma 2 continúa con el concepto de diseño ligero y eficiente." }, + "google/gemma-2-2b-it": { + "description": "Modelo de ajuste de instrucciones ligero de Google." + }, "google/gemma-2-9b-it": { "description": "Gemma 2 es una serie de modelos de texto de código abierto y ligeros de Google." }, @@ -589,6 +592,12 @@ "llama-3.1-sonar-small-128k-online": { "description": "El modelo Llama 3.1 Sonar Small Online, con 8B de parámetros, soporta una longitud de contexto de aproximadamente 127,000 tokens, diseñado para chat en línea, capaz de manejar eficientemente diversas interacciones textuales." }, + "llama-3.2-11b-vision-preview": { + "description": "Llama 3.2 está diseñado para manejar tareas que combinan datos visuales y textuales. Destaca en tareas como la descripción de imágenes y preguntas visuales, cruzando la brecha entre la generación de lenguaje y el razonamiento visual." + }, + "llama-3.2-90b-vision-preview": { + "description": "Llama 3.2 está diseñado para manejar tareas que combinan datos visuales y textuales. Destaca en tareas como la descripción de imágenes y preguntas visuales, cruzando la brecha entre la generación de lenguaje y el razonamiento visual." + }, "llama3-70b-8192": { "description": "Meta Llama 3 70B proporciona una capacidad de procesamiento de complejidad inigualable, diseñado a medida para proyectos de alta demanda." }, @@ -643,6 +652,9 @@ "meta-llama/Llama-2-13b-chat-hf": { "description": "LLaMA-2 Chat (13B) ofrece una excelente capacidad de procesamiento de lenguaje y una experiencia de interacción sobresaliente." }, + "meta-llama/Llama-2-7b-chat-hf": { + "description": "Uno de los mejores modelos de conversación." + }, "meta-llama/Llama-3-70b-chat-hf": { "description": "LLaMA-3 Chat (70B) es un modelo de chat potente, que soporta necesidades de conversación complejas." }, @@ -811,8 +823,8 @@ "open-mixtral-8x7b": { "description": "Mixtral 8x7B es un modelo de expertos dispersos que utiliza múltiples parámetros para mejorar la velocidad de razonamiento, adecuado para el procesamiento de tareas de múltiples idiomas y generación de código." }, - "openai/gpt-4o-2024-08-06": { - "description": "ChatGPT-4o es un modelo dinámico que se actualiza en tiempo real para mantener la versión más actual. Combina una poderosa capacidad de comprensión y generación de lenguaje, adecuado para escenarios de aplicación a gran escala, incluyendo servicio al cliente, educación y soporte técnico." + "openai/gpt-4o": { + "description": "ChatGPT-4o es un modelo dinámico que se actualiza en tiempo real para mantener la versión más actual. Combina una poderosa comprensión y generación de lenguaje, adecuado para escenarios de aplicación a gran escala, incluyendo servicio al cliente, educación y soporte técnico." }, "openai/gpt-4o-mini": { "description": "GPT-4o mini es el modelo más reciente de OpenAI, lanzado después de GPT-4 Omni, que admite entradas de texto e imagen y genera texto como salida. Como su modelo más avanzado de tamaño pequeño, es mucho más económico que otros modelos de vanguardia recientes y más de un 60% más barato que GPT-3.5 Turbo. Mantiene una inteligencia de vanguardia mientras ofrece una relación calidad-precio notable. GPT-4o mini obtuvo un puntaje del 82% en la prueba MMLU y actualmente se clasifica por encima de GPT-4 en preferencias de chat." @@ -862,11 +874,11 @@ "qwen-vl-chat-v1": { "description": "Qwen VL admite formas de interacción flexibles, incluyendo múltiples imágenes, preguntas y respuestas en múltiples rondas, y capacidades creativas." }, - "qwen-vl-max": { - "description": "Qwen es un modelo de lenguaje visual a gran escala. En comparación con la versión mejorada, mejora aún más la capacidad de razonamiento visual y la capacidad de seguir instrucciones, proporcionando un mayor nivel de percepción y cognición visual." + "qwen-vl-max-latest": { + "description": "Modelo de lenguaje visual a ultra gran escala Tongyi Qianwen. En comparación con la versión mejorada, mejora aún más la capacidad de razonamiento visual y de seguimiento de instrucciones, ofreciendo un nivel más alto de percepción y cognición visual." }, - "qwen-vl-plus": { - "description": "Qwen es una versión mejorada del modelo de lenguaje visual a gran escala. Mejora significativamente la capacidad de reconocimiento de detalles y de texto, admite imágenes con resolución de más de un millón de píxeles y proporciones de aspecto de cualquier tamaño." + "qwen-vl-plus-latest": { + "description": "Versión mejorada del modelo de lenguaje visual a gran escala Tongyi Qianwen. Mejora significativamente la capacidad de reconocimiento de detalles y de texto, soportando imágenes con resolución de más de un millón de píxeles y proporciones de ancho y alto arbitrarias." }, "qwen-vl-v1": { "description": "Iniciado con el modelo de lenguaje Qwen-7B, se añade un modelo de imagen, un modelo preentrenado con una resolución de entrada de imagen de 448." diff --git a/locales/es-ES/providers.json b/locales/es-ES/providers.json index 3b3a6eadec14..d85b7556df6a 100644 --- a/locales/es-ES/providers.json +++ b/locales/es-ES/providers.json @@ -30,6 +30,9 @@ "groq": { "description": "El motor de inferencia LPU de Groq ha demostrado un rendimiento excepcional en las pruebas de referencia de modelos de lenguaje de gran tamaño (LLM), redefiniendo los estándares de soluciones de IA con su asombrosa velocidad y eficiencia. Groq es un referente en velocidad de inferencia instantánea, mostrando un buen rendimiento en implementaciones basadas en la nube." }, + "huggingface": { + "description": "La API de Inferencia de HuggingFace ofrece una forma rápida y gratuita de explorar miles de modelos para diversas tareas. Ya sea que esté prototipando una nueva aplicación o probando las capacidades del aprendizaje automático, esta API le brinda acceso instantáneo a modelos de alto rendimiento en múltiples dominios." + }, "hunyuan": { "description": "Un modelo de lenguaje desarrollado por Tencent, que posee una poderosa capacidad de creación en chino, habilidades de razonamiento lógico en contextos complejos y una capacidad confiable para ejecutar tareas." }, diff --git a/locales/fr-FR/error.json b/locales/fr-FR/error.json index 26ce0a3204cf..33d263ccdbfa 100644 --- a/locales/fr-FR/error.json +++ b/locales/fr-FR/error.json @@ -67,6 +67,7 @@ "OllamaBizError": "Erreur commerciale lors de la demande de service Ollama, veuillez vérifier les informations ci-dessous ou réessayer", "OllamaServiceUnavailable": "Le service Ollama n'est pas disponible. Veuillez vérifier si Ollama fonctionne correctement ou si la configuration de la communication inter-domaines d'Ollama est correcte.", "OpenAIBizError": "Erreur de service OpenAI. Veuillez vérifier les informations suivantes ou réessayer.", + "PermissionDenied": "Désolé, vous n'avez pas la permission d'accéder à ce service. Veuillez vérifier si votre clé a les droits d'accès.", "PluginApiNotFound": "Désolé, l'API spécifiée n'existe pas dans le manifeste du plugin. Veuillez vérifier que votre méthode de requête correspond à l'API du manifeste du plugin", "PluginApiParamsError": "Désolé, la validation des paramètres d'entrée de la requête de ce plugin a échoué. Veuillez vérifier que les paramètres d'entrée correspondent aux informations de l'API", "PluginFailToTransformArguments": "Désolé, échec de la transformation des arguments de l'appel du plugin. Veuillez essayer de régénérer le message d'assistance ou de changer de modèle d'IA avec une capacité d'appel d'outils plus puissante, puis réessayer.", diff --git a/locales/fr-FR/modelProvider.json b/locales/fr-FR/modelProvider.json index ad44269740b5..2d762da3595f 100644 --- a/locales/fr-FR/modelProvider.json +++ b/locales/fr-FR/modelProvider.json @@ -58,6 +58,13 @@ "title": "GitHub PAT" } }, + "huggingface": { + "accessToken": { + "desc": "Entrez votre jeton HuggingFace, cliquez [ici](https://huggingface.co/settings/tokens) pour en créer un", + "placeholder": "hf_xxxxxxxxx", + "title": "Jeton HuggingFace" + } + }, "ollama": { "checker": { "desc": "Vérifiez si l'adresse du proxy est correctement saisie", diff --git a/locales/fr-FR/models.json b/locales/fr-FR/models.json index 6a7d0e2bae9e..097e1e5f0f72 100644 --- a/locales/fr-FR/models.json +++ b/locales/fr-FR/models.json @@ -458,6 +458,9 @@ "google/gemma-2-27b-it": { "description": "Gemma 2 poursuit le concept de conception légère et efficace." }, + "google/gemma-2-2b-it": { + "description": "Modèle d'optimisation des instructions léger de Google." + }, "google/gemma-2-9b-it": { "description": "Gemma 2 est une série de modèles de texte open source allégés de Google." }, @@ -589,6 +592,12 @@ "llama-3.1-sonar-small-128k-online": { "description": "Le modèle Llama 3.1 Sonar Small Online, avec 8B de paramètres, prend en charge une longueur de contexte d'environ 127 000 jetons, conçu pour le chat en ligne, capable de traiter efficacement diverses interactions textuelles." }, + "llama-3.2-11b-vision-preview": { + "description": "Llama 3.2 est conçu pour traiter des tâches combinant des données visuelles et textuelles. Il excelle dans des tâches telles que la description d'images et les questions-réponses visuelles, comblant le fossé entre la génération de langage et le raisonnement visuel." + }, + "llama-3.2-90b-vision-preview": { + "description": "Llama 3.2 est conçu pour traiter des tâches combinant des données visuelles et textuelles. Il excelle dans des tâches telles que la description d'images et les questions-réponses visuelles, comblant le fossé entre la génération de langage et le raisonnement visuel." + }, "llama3-70b-8192": { "description": "Meta Llama 3 70B offre une capacité de traitement de complexité inégalée, sur mesure pour des projets exigeants." }, @@ -643,6 +652,9 @@ "meta-llama/Llama-2-13b-chat-hf": { "description": "LLaMA-2 Chat (13B) offre d'excellentes capacités de traitement du langage et une expérience interactive exceptionnelle." }, + "meta-llama/Llama-2-7b-chat-hf": { + "description": "L'un des meilleurs modèles de conversation." + }, "meta-llama/Llama-3-70b-chat-hf": { "description": "LLaMA-3 Chat (70B) est un modèle de chat puissant, prenant en charge des besoins de dialogue complexes." }, @@ -811,7 +823,7 @@ "open-mixtral-8x7b": { "description": "Mixtral 8x7B est un modèle d'expert épars, utilisant plusieurs paramètres pour améliorer la vitesse de raisonnement, adapté au traitement de tâches multilingues et de génération de code." }, - "openai/gpt-4o-2024-08-06": { + "openai/gpt-4o": { "description": "ChatGPT-4o est un modèle dynamique, mis à jour en temps réel pour rester à jour avec la dernière version. Il combine une compréhension et une génération de langage puissantes, adapté à des scénarios d'application à grande échelle, y compris le service client, l'éducation et le support technique." }, "openai/gpt-4o-mini": { @@ -862,11 +874,11 @@ "qwen-vl-chat-v1": { "description": "Qwen VL prend en charge des modes d'interaction flexibles, y compris la capacité de poser des questions à plusieurs images, des dialogues multi-tours, et plus encore." }, - "qwen-vl-max": { - "description": "Qwen est un modèle de langage visuel à grande échelle. Par rapport à la version améliorée, elle améliore encore la capacité de raisonnement visuel et de suivi des instructions, offrant un niveau de perception et de cognition visuelle plus élevé." + "qwen-vl-max-latest": { + "description": "Modèle de langage visuel à très grande échelle Tongyi Qianwen. Par rapport à la version améliorée, il améliore encore les capacités de raisonnement visuel et de suivi des instructions, offrant un niveau de perception visuelle et de cognition plus élevé." }, - "qwen-vl-plus": { - "description": "Qwen est une version améliorée du modèle de langage visuel à grande échelle. Elle améliore considérablement la capacité de reconnaissance des détails et de reconnaissance de texte, prenant en charge des images avec une résolution de plus d'un million de pixels et des spécifications de rapport d'aspect arbitraire." + "qwen-vl-plus-latest": { + "description": "Version améliorée du modèle de langage visuel à grande échelle Tongyi Qianwen. Amélioration significative des capacités de reconnaissance des détails et de reconnaissance de texte, prenant en charge des résolutions d'image de plus d'un million de pixels et des rapports d'aspect de n'importe quelle taille." }, "qwen-vl-v1": { "description": "Initialisé avec le modèle de langage Qwen-7B, ajoutant un modèle d'image, un modèle pré-entraîné avec une résolution d'entrée d'image de 448." diff --git a/locales/fr-FR/providers.json b/locales/fr-FR/providers.json index 138390323326..4631271ea047 100644 --- a/locales/fr-FR/providers.json +++ b/locales/fr-FR/providers.json @@ -30,6 +30,9 @@ "groq": { "description": "Le moteur d'inférence LPU de Groq a excellé dans les derniers tests de référence des grands modèles de langage (LLM), redéfinissant les normes des solutions IA grâce à sa vitesse et son efficacité impressionnantes. Groq représente une vitesse d'inférence instantanée, montrant de bonnes performances dans les déploiements basés sur le cloud." }, + "huggingface": { + "description": "L'API d'inférence HuggingFace offre un moyen rapide et gratuit d'explorer des milliers de modèles adaptés à diverses tâches. Que vous soyez en train de prototyper une nouvelle application ou d'expérimenter les capacités de l'apprentissage automatique, cette API vous permet d'accéder instantanément à des modèles performants dans de nombreux domaines." + }, "hunyuan": { "description": "Un modèle de langage développé par Tencent, doté d'une puissante capacité de création en chinois, d'une capacité de raisonnement logique dans des contextes complexes, ainsi que d'une capacité fiable d'exécution des tâches." }, diff --git a/locales/it-IT/error.json b/locales/it-IT/error.json index c405c10d70a0..4420dd75b5f7 100644 --- a/locales/it-IT/error.json +++ b/locales/it-IT/error.json @@ -67,6 +67,7 @@ "OllamaBizError": "Errore di servizio Ollama, controllare le informazioni seguenti o riprovare", "OllamaServiceUnavailable": "Servizio Ollama non disponibile: controllare che Ollama sia in esecuzione correttamente o che la configurazione di cross-origin di Ollama sia corretta", "OpenAIBizError": "Errore di business di OpenAI. Si prega di controllare le informazioni seguenti o riprovare.", + "PermissionDenied": "Ci dispiace, non hai il permesso di accedere a questo servizio. Controlla se la tua chiave ha i diritti di accesso.", "PluginApiNotFound": "Spiacenti, l'API specificata non esiste nel manifesto del plugin. Verifica che il metodo di richiesta corrisponda all'API del manifesto del plugin", "PluginApiParamsError": "Spiacenti, la convalida dei parametri di input della richiesta del plugin non è riuscita. Verifica che i parametri di input corrispondano alle informazioni dell'API", "PluginFailToTransformArguments": "Spiacenti, la trasformazione degli argomenti della chiamata al plugin non è riuscita. Si prega di provare a rigenerare il messaggio dell'assistente o riprovare dopo aver cambiato il modello AI di Tools Calling con capacità più avanzate.", diff --git a/locales/it-IT/modelProvider.json b/locales/it-IT/modelProvider.json index 2d6b6ab766f8..7d39f4224321 100644 --- a/locales/it-IT/modelProvider.json +++ b/locales/it-IT/modelProvider.json @@ -58,6 +58,13 @@ "title": "GitHub PAT" } }, + "huggingface": { + "accessToken": { + "desc": "Inserisci il tuo token HuggingFace, clicca [qui](https://huggingface.co/settings/tokens) per crearne uno", + "placeholder": "hf_xxxxxxxxx", + "title": "Token HuggingFace" + } + }, "ollama": { "checker": { "desc": "Verifica se l'indirizzo del proxy è stato compilato correttamente", diff --git a/locales/it-IT/models.json b/locales/it-IT/models.json index e2dea3a2d34a..1719e708b253 100644 --- a/locales/it-IT/models.json +++ b/locales/it-IT/models.json @@ -458,6 +458,9 @@ "google/gemma-2-27b-it": { "description": "Gemma 2 continua il concetto di design leggero ed efficiente." }, + "google/gemma-2-2b-it": { + "description": "Modello di ottimizzazione delle istruzioni leggero di Google" + }, "google/gemma-2-9b-it": { "description": "Gemma 2 è una serie di modelli di testo open source leggeri di Google." }, @@ -589,6 +592,12 @@ "llama-3.1-sonar-small-128k-online": { "description": "Il modello Llama 3.1 Sonar Small Online, con 8B parametri, supporta una lunghezza di contesto di circa 127.000 token, progettato per chat online, in grado di gestire interazioni testuali in modo efficiente." }, + "llama-3.2-11b-vision-preview": { + "description": "Llama 3.2 è progettato per gestire compiti che combinano dati visivi e testuali. Eccelle in compiti come la descrizione delle immagini e le domande visive, colmando il divario tra generazione del linguaggio e ragionamento visivo." + }, + "llama-3.2-90b-vision-preview": { + "description": "Llama 3.2 è progettato per gestire compiti che combinano dati visivi e testuali. Eccelle in compiti come la descrizione delle immagini e le domande visive, colmando il divario tra generazione del linguaggio e ragionamento visivo." + }, "llama3-70b-8192": { "description": "Meta Llama 3 70B offre capacità di elaborazione della complessità senza pari, progettato su misura per progetti ad alta richiesta." }, @@ -643,6 +652,9 @@ "meta-llama/Llama-2-13b-chat-hf": { "description": "LLaMA-2 Chat (13B) offre eccellenti capacità di elaborazione linguistica e un'interazione di alta qualità." }, + "meta-llama/Llama-2-7b-chat-hf": { + "description": "Uno dei migliori modelli di conversazione" + }, "meta-llama/Llama-3-70b-chat-hf": { "description": "LLaMA-3 Chat (70B) è un potente modello di chat, in grado di gestire esigenze di dialogo complesse." }, @@ -811,8 +823,8 @@ "open-mixtral-8x7b": { "description": "Mixtral 8x7B è un modello di esperti sparsi, che utilizza più parametri per aumentare la velocità di ragionamento, adatto per gestire compiti di generazione di linguaggio e codice multilingue." }, - "openai/gpt-4o-2024-08-06": { - "description": "ChatGPT-4o è un modello dinamico, aggiornato in tempo reale per mantenere la versione più recente. Combina potenti capacità di comprensione e generazione del linguaggio, adatto a scenari applicativi su larga scala, inclusi servizi clienti, educazione e supporto tecnico." + "openai/gpt-4o": { + "description": "ChatGPT-4o è un modello dinamico, aggiornato in tempo reale per mantenere la versione più recente. Combina potenti capacità di comprensione e generazione del linguaggio, adatto a scenari di applicazione su larga scala, tra cui assistenza clienti, istruzione e supporto tecnico." }, "openai/gpt-4o-mini": { "description": "GPT-4o mini è il modello più recente di OpenAI, lanciato dopo GPT-4 Omni, che supporta input visivi e testuali e produce output testuali. Come il loro modello di piccole dimensioni più avanzato, è molto più economico rispetto ad altri modelli all'avanguardia recenti e costa oltre il 60% in meno rispetto a GPT-3.5 Turbo. Mantiene un'intelligenza all'avanguardia, offrendo un notevole rapporto qualità-prezzo. GPT-4o mini ha ottenuto un punteggio dell'82% nel test MMLU e attualmente è classificato più in alto di GPT-4 per preferenze di chat." @@ -862,11 +874,11 @@ "qwen-vl-chat-v1": { "description": "Qwen VL supporta modalità di interazione flessibili, inclusi modelli di domande e risposte multipli e creativi." }, - "qwen-vl-max": { - "description": "Qwen è un modello di linguaggio visivo su larga scala. Rispetto alla versione potenziata, migliora ulteriormente le capacità di ragionamento visivo e di aderenza alle istruzioni, offrendo un livello superiore di percezione e cognizione visiva." + "qwen-vl-max-latest": { + "description": "Modello di linguaggio visivo Qwen di grande scala. Rispetto alla versione potenziata, migliora ulteriormente la capacità di ragionamento visivo e di aderenza alle istruzioni, offrendo un livello superiore di percezione visiva e cognizione." }, - "qwen-vl-plus": { - "description": "Qwen è una versione potenziata del modello di linguaggio visivo su larga scala. Migliora notevolmente le capacità di riconoscimento dei dettagli e di riconoscimento del testo, supportando immagini con risoluzione superiore a un milione di pixel e proporzioni di qualsiasi dimensione." + "qwen-vl-plus-latest": { + "description": "Versione potenziata del modello di linguaggio visivo Qwen. Migliora notevolmente la capacità di riconoscimento dei dettagli e di riconoscimento del testo, supportando risoluzioni superiori a un milione di pixel e immagini di qualsiasi rapporto di aspetto." }, "qwen-vl-v1": { "description": "Inizializzato con il modello di linguaggio Qwen-7B, aggiunge un modello di immagine, con una risoluzione di input dell'immagine di 448." diff --git a/locales/it-IT/providers.json b/locales/it-IT/providers.json index f69216637d88..f466ba355562 100644 --- a/locales/it-IT/providers.json +++ b/locales/it-IT/providers.json @@ -30,6 +30,9 @@ "groq": { "description": "Il motore di inferenza LPU di Groq ha mostrato prestazioni eccezionali nei recenti benchmark indipendenti sui modelli di linguaggio di grandi dimensioni (LLM), ridefinendo gli standard delle soluzioni AI con la sua incredibile velocità ed efficienza. Groq rappresenta una velocità di inferenza istantanea, mostrando buone prestazioni nelle implementazioni basate su cloud." }, + "huggingface": { + "description": "L'API di Inferenza di HuggingFace offre un modo rapido e gratuito per esplorare migliaia di modelli per una varietà di compiti. Che tu stia prototipando una nuova applicazione o cercando di sperimentare le funzionalità del machine learning, questa API ti consente di accedere immediatamente a modelli ad alte prestazioni in diversi ambiti." + }, "hunyuan": { "description": "Un modello di linguaggio sviluppato da Tencent, dotato di potenti capacità di creazione in cinese, abilità di ragionamento logico in contesti complessi e capacità affidabili di esecuzione dei compiti." }, diff --git a/locales/ja-JP/error.json b/locales/ja-JP/error.json index 4ca3ecff29f8..76a625c7e508 100644 --- a/locales/ja-JP/error.json +++ b/locales/ja-JP/error.json @@ -67,6 +67,7 @@ "OllamaBizError": "Ollamaサービスのリクエストでエラーが発生しました。以下の情報に基づいてトラブルシューティングを行うか、再度お試しください", "OllamaServiceUnavailable": "Ollamaサービスが利用できません。Ollamaが正常に動作しているか、またはOllamaのクロスオリジン設定が正しく行われているかを確認してください", "OpenAIBizError": "リクエスト OpenAI サービスでエラーが発生しました。以下の情報を確認して再試行してください。", + "PermissionDenied": "申し訳ありませんが、このサービスにアクセスする権限がありません。あなたのキーにアクセス権があるかどうかを確認してください。", "PluginApiNotFound": "申し訳ありませんが、プラグインのマニフェストに指定されたAPIが見つかりませんでした。リクエストメソッドとプラグインのマニフェストのAPIが一致しているかどうかを確認してください", "PluginApiParamsError": "申し訳ありませんが、プラグインのリクエストパラメータの検証に失敗しました。パラメータとAPIの説明が一致しているかどうか確認してください", "PluginFailToTransformArguments": "申し訳ありませんが、プラグインの引数変換に失敗しました。助手メッセージを再生成するか、より強力な Tools Calling 機能を持つAIモデルに切り替えて再試行してください", diff --git a/locales/ja-JP/modelProvider.json b/locales/ja-JP/modelProvider.json index d16ea0f745e5..1bf563e51ad0 100644 --- a/locales/ja-JP/modelProvider.json +++ b/locales/ja-JP/modelProvider.json @@ -58,6 +58,13 @@ "title": "GitHub PAT" } }, + "huggingface": { + "accessToken": { + "desc": "あなたの HuggingFace トークンを入力してください。 [こちら](https://huggingface.co/settings/tokens) をクリックして作成します。", + "placeholder": "hf_xxxxxxxxx", + "title": "HuggingFace トークン" + } + }, "ollama": { "checker": { "desc": "プロキシアドレスが正しく入力されているかをテストします", diff --git a/locales/ja-JP/models.json b/locales/ja-JP/models.json index 5e12cff10e47..432cb3aaa647 100644 --- a/locales/ja-JP/models.json +++ b/locales/ja-JP/models.json @@ -458,6 +458,9 @@ "google/gemma-2-27b-it": { "description": "Gemma 2は、軽量化と高効率のデザイン理念を継承しています。" }, + "google/gemma-2-2b-it": { + "description": "Googleの軽量指示調整モデル" + }, "google/gemma-2-9b-it": { "description": "Gemma 2は、Googleの軽量オープンソーステキストモデルシリーズです。" }, @@ -589,6 +592,12 @@ "llama-3.1-sonar-small-128k-online": { "description": "Llama 3.1 Sonar Small Onlineモデルは、8Bパラメータを持ち、約127,000トークンのコンテキスト長をサポートし、オンラインチャット用に設計されており、さまざまなテキストインタラクションを効率的に処理できます。" }, + "llama-3.2-11b-vision-preview": { + "description": "Llama 3.2は、視覚データとテキストデータを組み合わせたタスクを処理することを目的としています。画像の説明や視覚的質問応答などのタスクで優れたパフォーマンスを発揮し、言語生成と視覚推論の間のギャップを埋めます。" + }, + "llama-3.2-90b-vision-preview": { + "description": "Llama 3.2は、視覚データとテキストデータを組み合わせたタスクを処理することを目的としています。画像の説明や視覚的質問応答などのタスクで優れたパフォーマンスを発揮し、言語生成と視覚推論の間のギャップを埋めます。" + }, "llama3-70b-8192": { "description": "Meta Llama 3 70Bは、比類のない複雑性処理能力を提供し、高要求プロジェクトに特化しています。" }, @@ -643,6 +652,9 @@ "meta-llama/Llama-2-13b-chat-hf": { "description": "LLaMA-2 Chat (13B)は、優れた言語処理能力と素晴らしいインタラクション体験を提供します。" }, + "meta-llama/Llama-2-7b-chat-hf": { + "description": "最高の対話モデルの一つ" + }, "meta-llama/Llama-3-70b-chat-hf": { "description": "LLaMA-3 Chat (70B)は、強力なチャットモデルであり、複雑な対話ニーズをサポートします。" }, @@ -811,8 +823,8 @@ "open-mixtral-8x7b": { "description": "Mixtral 8x7Bは、スパースエキスパートモデルであり、複数のパラメータを利用して推論速度を向上させ、多言語およびコード生成タスクの処理に適しています。" }, - "openai/gpt-4o-2024-08-06": { - "description": "ChatGPT-4oは動的モデルで、リアルタイムで最新バージョンを維持します。強力な言語理解と生成能力を組み合わせており、顧客サービス、教育、技術サポートなどの大規模なアプリケーションシーンに適しています。" + "openai/gpt-4o": { + "description": "ChatGPT-4oは動的モデルで、最新のバージョンを維持するためにリアルタイムで更新されます。強力な言語理解と生成能力を組み合わせており、顧客サービス、教育、技術サポートなどの大規模なアプリケーションシナリオに適しています。" }, "openai/gpt-4o-mini": { "description": "GPT-4o miniはOpenAIがGPT-4 Omniの後に発表した最新モデルで、画像とテキストの入力をサポートし、テキストを出力します。彼らの最先端の小型モデルとして、最近の他の最前線モデルよりもはるかに安価で、GPT-3.5 Turboよりも60%以上安価です。最先端の知能を維持しつつ、顕著なコストパフォーマンスを誇ります。GPT-4o miniはMMLUテストで82%のスコアを獲得し、現在チャットの好みでGPT-4よりも高い評価を得ています。" @@ -862,11 +874,11 @@ "qwen-vl-chat-v1": { "description": "通義千問VLは、複数の画像、多段階の質問応答、創作などの柔軟なインタラクション方式をサポートするモデルです。" }, - "qwen-vl-max": { - "description": "通義千問超大規模視覚言語モデル。強化版に比べて、視覚推論能力と指示遵守能力をさらに向上させ、高い視覚認識と認知レベルを提供します。" + "qwen-vl-max-latest": { + "description": "通義千問の超大規模視覚言語モデル。強化版に比べて、視覚推論能力と指示遵守能力をさらに向上させ、より高い視覚認識と認知レベルを提供します。" }, - "qwen-vl-plus": { - "description": "通義千問大規模視覚言語モデルの強化版。詳細認識能力と文字認識能力を大幅に向上させ、超百万ピクセル解像度と任意のアスペクト比の画像をサポートします。" + "qwen-vl-plus-latest": { + "description": "通義千問の大規模視覚言語モデルの強化版。詳細認識能力と文字認識能力を大幅に向上させ、100万ピクセル以上の解像度と任意のアスペクト比の画像をサポートします。" }, "qwen-vl-v1": { "description": "Qwen-7B言語モデルを初期化し、画像モデルを追加した、画像入力解像度448の事前トレーニングモデルです。" diff --git a/locales/ja-JP/providers.json b/locales/ja-JP/providers.json index 9d915f1c9392..732ff1daaac3 100644 --- a/locales/ja-JP/providers.json +++ b/locales/ja-JP/providers.json @@ -30,6 +30,9 @@ "groq": { "description": "GroqのLPU推論エンジンは、最新の独立した大規模言語モデル(LLM)ベンチマークテストで卓越したパフォーマンスを示し、その驚異的な速度と効率でAIソリューションの基準を再定義しています。Groqは、即時推論速度の代表であり、クラウドベースの展開で良好なパフォーマンスを発揮しています。" }, + "huggingface": { + "description": "HuggingFace Inference APIは、数千のモデルをさまざまなタスクに対して探索するための迅速かつ無料の方法を提供します。新しいアプリケーションのプロトタイプを作成している場合でも、機械学習の機能を試している場合でも、このAPIは複数の分野の高性能モデルに即座にアクセスできるようにします。" + }, "hunyuan": { "description": "テンセントが開発した大規模言語モデルであり、強力な中国語の創作能力、複雑な文脈における論理的推論能力、そして信頼性の高いタスク実行能力を備えています。" }, diff --git a/locales/ko-KR/error.json b/locales/ko-KR/error.json index 8255578a5a53..fb9ff541c3c6 100644 --- a/locales/ko-KR/error.json +++ b/locales/ko-KR/error.json @@ -67,6 +67,7 @@ "OllamaBizError": "Ollama 서비스 요청 중 오류가 발생했습니다. 아래 정보를 확인하고 다시 시도하십시오.", "OllamaServiceUnavailable": "Ollama 서비스를 사용할 수 없습니다. Ollama가 올바르게 작동하는지 또는 Ollama의 교차 도메인 구성이 올바르게 설정되었는지 확인하십시오.", "OpenAIBizError": "OpenAI 서비스 요청 중 오류가 발생했습니다. 아래 정보를 확인하고 다시 시도해주세요.", + "PermissionDenied": "죄송합니다. 이 서비스에 접근할 권한이 없습니다. 키에 접근 권한이 있는지 확인해 주세요.", "PluginApiNotFound": "죄송합니다. 플러그인 설명서에 해당 API가 없습니다. 요청 메서드와 플러그인 설명서 API가 일치하는지 확인해주세요.", "PluginApiParamsError": "죄송합니다. 플러그인 요청의 입력 매개변수 유효성 검사에 실패했습니다. 입력 매개변수와 API 설명 정보가 일치하는지 확인해주세요.", "PluginFailToTransformArguments": "죄송합니다. 플러그인 호출 인수 변환에 실패했습니다. 도우미 메시지를 다시 생성하거나 더 강력한 AI 모델로 Tools Calling 능력을 변경한 후 다시 시도해주세요.", diff --git a/locales/ko-KR/modelProvider.json b/locales/ko-KR/modelProvider.json index 5d0375f9ea20..13ef7ac1085d 100644 --- a/locales/ko-KR/modelProvider.json +++ b/locales/ko-KR/modelProvider.json @@ -58,6 +58,13 @@ "title": "GitHub PAT" } }, + "huggingface": { + "accessToken": { + "desc": "당신의 HuggingFace 토큰을 입력하세요. [여기](https://huggingface.co/settings/tokens)를 클릭하여 생성하세요.", + "placeholder": "hf_xxxxxxxxx", + "title": "HuggingFace 토큰" + } + }, "ollama": { "checker": { "desc": "프록시 주소가 올바르게 입력되었는지 테스트합니다", diff --git a/locales/ko-KR/models.json b/locales/ko-KR/models.json index d455f39cc7ad..d0e4e623c772 100644 --- a/locales/ko-KR/models.json +++ b/locales/ko-KR/models.json @@ -458,6 +458,9 @@ "google/gemma-2-27b-it": { "description": "Gemma 2는 경량화와 효율적인 설계를 이어갑니다." }, + "google/gemma-2-2b-it": { + "description": "Google의 경량 지시 조정 모델" + }, "google/gemma-2-9b-it": { "description": "Gemma 2는 Google의 경량화된 오픈 소스 텍스트 모델 시리즈입니다." }, @@ -589,6 +592,12 @@ "llama-3.1-sonar-small-128k-online": { "description": "Llama 3.1 Sonar Small Online 모델은 8B 매개변수를 갖추고 있으며, 약 127,000개의 토큰의 컨텍스트 길이를 지원하여 온라인 채팅을 위해 설계되었습니다." }, + "llama-3.2-11b-vision-preview": { + "description": "Llama 3.2는 시각 및 텍스트 데이터를 결합한 작업을 처리하기 위해 설계되었습니다. 이미지 설명 및 시각적 질문 응답과 같은 작업에서 뛰어난 성능을 보이며, 언어 생성과 시각적 추론 간의 간극을 넘습니다." + }, + "llama-3.2-90b-vision-preview": { + "description": "Llama 3.2는 시각 및 텍스트 데이터를 결합한 작업을 처리하기 위해 설계되었습니다. 이미지 설명 및 시각적 질문 응답과 같은 작업에서 뛰어난 성능을 보이며, 언어 생성과 시각적 추론 간의 간극을 넘습니다." + }, "llama3-70b-8192": { "description": "Meta Llama 3 70B는 비할 데 없는 복잡성 처리 능력을 제공하며, 높은 요구 사항을 가진 프로젝트에 맞춤형으로 설계되었습니다." }, @@ -643,6 +652,9 @@ "meta-llama/Llama-2-13b-chat-hf": { "description": "LLaMA-2 Chat (13B)는 뛰어난 언어 처리 능력과 우수한 상호작용 경험을 제공합니다." }, + "meta-llama/Llama-2-7b-chat-hf": { + "description": "최고의 대화 모델 중 하나" + }, "meta-llama/Llama-3-70b-chat-hf": { "description": "LLaMA-3 Chat (70B)는 강력한 채팅 모델로, 복잡한 대화 요구를 지원합니다." }, @@ -811,7 +823,7 @@ "open-mixtral-8x7b": { "description": "Mixtral 8x7B는 희소 전문가 모델로, 여러 매개변수를 활용하여 추론 속도를 높이며, 다국어 및 코드 생성 작업 처리에 적합합니다." }, - "openai/gpt-4o-2024-08-06": { + "openai/gpt-4o": { "description": "ChatGPT-4o는 동적 모델로, 최신 버전을 유지하기 위해 실시간으로 업데이트됩니다. 강력한 언어 이해 및 생성 능력을 결합하여 고객 서비스, 교육 및 기술 지원을 포함한 대규모 응용 프로그램에 적합합니다." }, "openai/gpt-4o-mini": { @@ -862,11 +874,11 @@ "qwen-vl-chat-v1": { "description": "통의천문 VL은 다중 이미지, 다중 회차 질문 응답, 창작 등 유연한 상호작용 방식을 지원하는 모델입니다." }, - "qwen-vl-max": { - "description": "통의천문 초대규모 시각 언어 모델로, 강화 버전보다 시각적 추론 능력과 지시 준수 능력을 다시 향상시켜 더 높은 시각적 인식 및 인지 수준을 제공합니다." + "qwen-vl-max-latest": { + "description": "통의천문 초대규모 비주얼 언어 모델. 강화판에 비해 시각적 추론 능력과 지시 준수 능력을 다시 한 번 향상시켜, 더 높은 시각적 인식과 인지 수준을 제공합니다." }, - "qwen-vl-plus": { - "description": "통의천문 대규모 시각 언어 모델의 강화 버전으로, 세부 사항 인식 능력과 문자 인식 능력을 크게 향상시켰으며, 백만 화소 이상의 해상도와 임의의 가로 세로 비율의 이미지를 지원합니다." + "qwen-vl-plus-latest": { + "description": "통의천문 대규모 비주얼 언어 모델 강화판. 세부 사항 인식 능력과 문자 인식 능력을 크게 향상시켰으며, 백만 화소 이상의 해상도와 임의의 가로 세로 비율의 이미지를 지원합니다." }, "qwen-vl-v1": { "description": "Qwen-7B 언어 모델로 초기화된 모델로, 이미지 모델을 추가하여 이미지 입력 해상도가 448인 사전 훈련 모델입니다." diff --git a/locales/ko-KR/providers.json b/locales/ko-KR/providers.json index ac97baeb67da..22461e1befb3 100644 --- a/locales/ko-KR/providers.json +++ b/locales/ko-KR/providers.json @@ -30,6 +30,9 @@ "groq": { "description": "Groq의 LPU 추론 엔진은 최신 독립 대형 언어 모델(LLM) 벤치마크 테스트에서 뛰어난 성능을 보이며, 놀라운 속도와 효율성으로 AI 솔루션의 기준을 재정의하고 있습니다. Groq는 즉각적인 추론 속도의 대표주자로, 클라우드 기반 배포에서 우수한 성능을 보여줍니다." }, + "huggingface": { + "description": "HuggingFace Inference API는 수천 개의 모델을 탐색할 수 있는 빠르고 무료의 방법을 제공합니다. 새로운 애플리케이션을 프로토타입 하거나 머신러닝의 기능을 시도하는 경우, 이 API는 여러 분야의 고성능 모델에 즉시 접근할 수 있게 해줍니다." + }, "hunyuan": { "description": "텐센트가 개발한 대형 언어 모델로, 강력한 한국어 창작 능력과 복잡한 맥락에서의 논리적 추론 능력, 그리고 신뢰할 수 있는 작업 수행 능력을 갖추고 있습니다." }, diff --git a/locales/nl-NL/error.json b/locales/nl-NL/error.json index 85eb0277aa26..5272fbd2639d 100644 --- a/locales/nl-NL/error.json +++ b/locales/nl-NL/error.json @@ -67,6 +67,7 @@ "OllamaBizError": "Fout bij het aanroepen van de Ollama-service, controleer de onderstaande informatie en probeer opnieuw", "OllamaServiceUnavailable": "Ollama-service niet beschikbaar. Controleer of Ollama correct werkt en of de cross-origin configuratie van Ollama juist is ingesteld.", "OpenAIBizError": "Er is een fout opgetreden bij het aanvragen van de OpenAI-service. Controleer de volgende informatie of probeer het opnieuw.", + "PermissionDenied": "Het spijt ons, je hebt geen toestemming om deze service te gebruiken. Controleer of je sleutel de juiste toegangsrechten heeft.", "PluginApiNotFound": "Sorry, de API van de plug-inbeschrijvingslijst bestaat niet. Controleer of uw verzoeksmethode overeenkomt met de plug-inbeschrijvingslijst API", "PluginApiParamsError": "Sorry, de validatie van de invoerparameters van de plug-in is mislukt. Controleer of de invoerparameters overeenkomen met de API-beschrijving", "PluginFailToTransformArguments": "Sorry, the plugin failed to parse the arguments. Please try regenerating the assistant message or retry with a more powerful AI model with Tools Calling capability.", diff --git a/locales/nl-NL/modelProvider.json b/locales/nl-NL/modelProvider.json index dcfb00abb34d..4bbc14f1373f 100644 --- a/locales/nl-NL/modelProvider.json +++ b/locales/nl-NL/modelProvider.json @@ -58,6 +58,13 @@ "title": "GitHub PAT" } }, + "huggingface": { + "accessToken": { + "desc": "Vul je HuggingFace Token in, klik [hier](https://huggingface.co/settings/tokens) om er een te maken", + "placeholder": "hf_xxxxxxxxx", + "title": "HuggingFace Token" + } + }, "ollama": { "checker": { "desc": "Test of het proxyadres correct is ingevuld", diff --git a/locales/nl-NL/models.json b/locales/nl-NL/models.json index a827879f3726..69600dc13884 100644 --- a/locales/nl-NL/models.json +++ b/locales/nl-NL/models.json @@ -458,6 +458,9 @@ "google/gemma-2-27b-it": { "description": "Gemma 2 behoudt het ontwerpprincipe van lichtgewicht en efficiëntie." }, + "google/gemma-2-2b-it": { + "description": "Google's lichtgewicht instructieafstemmingsmodel" + }, "google/gemma-2-9b-it": { "description": "Gemma 2 is een lichtgewicht open-source tekstmodelserie van Google." }, @@ -589,6 +592,12 @@ "llama-3.1-sonar-small-128k-online": { "description": "Llama 3.1 Sonar Small Online model, met 8B parameters, ondersteunt een contextlengte van ongeveer 127.000 tokens, speciaal ontworpen voor online chat en kan efficiënt verschillende tekstinteracties verwerken." }, + "llama-3.2-11b-vision-preview": { + "description": "Llama 3.2 is ontworpen om taken te verwerken die visuele en tekstuele gegevens combineren. Het presteert uitstekend in taken zoals afbeeldingsbeschrijving en visuele vraag-en-antwoord, en overbrugt de kloof tussen taalgeneratie en visuele redeneervaardigheden." + }, + "llama-3.2-90b-vision-preview": { + "description": "Llama 3.2 is ontworpen om taken te verwerken die visuele en tekstuele gegevens combineren. Het presteert uitstekend in taken zoals afbeeldingsbeschrijving en visuele vraag-en-antwoord, en overbrugt de kloof tussen taalgeneratie en visuele redeneervaardigheden." + }, "llama3-70b-8192": { "description": "Meta Llama 3 70B biedt ongeëvenaarde complexiteitsverwerkingscapaciteiten, op maat gemaakt voor veeleisende projecten." }, @@ -643,6 +652,9 @@ "meta-llama/Llama-2-13b-chat-hf": { "description": "LLaMA-2 Chat (13B) biedt uitstekende taalverwerkingscapaciteiten en een geweldige interactie-ervaring." }, + "meta-llama/Llama-2-7b-chat-hf": { + "description": "Een van de beste gespreksmodellen" + }, "meta-llama/Llama-3-70b-chat-hf": { "description": "LLaMA-3 Chat (70B) is een krachtig chatmodel dat complexe gespreksbehoeften ondersteunt." }, @@ -811,7 +823,7 @@ "open-mixtral-8x7b": { "description": "Mixtral 8x7B is een spaarzaam expertmodel dat meerdere parameters benut om de inferentiesnelheid te verhogen, geschikt voor het verwerken van meertalige en codegeneratietaken." }, - "openai/gpt-4o-2024-08-06": { + "openai/gpt-4o": { "description": "ChatGPT-4o is een dynamisch model dat in realtime wordt bijgewerkt om de meest actuele versie te behouden. Het combineert krachtige taalbegrip- en generatiecapaciteiten, geschikt voor grootschalige toepassingsscenario's, waaronder klantenservice, onderwijs en technische ondersteuning." }, "openai/gpt-4o-mini": { @@ -862,11 +874,11 @@ "qwen-vl-chat-v1": { "description": "Qwen VL ondersteunt flexibele interactiemethoden, inclusief meerdere afbeeldingen, meerdere rondes van vraag en antwoord, en creatiecapaciteiten." }, - "qwen-vl-max": { - "description": "Qwen is een grootschalig visueel taalmodel. In vergelijking met de verbeterde versie biedt het een verdere verbetering van de visuele redeneercapaciteit en de naleving van instructies, met een hoger niveau van visuele waarneming en cognitie." + "qwen-vl-max-latest": { + "description": "Het Tongyi Qianwen ultra-grootschalige visuele taalmodel. In vergelijking met de verbeterde versie, verhoogt het opnieuw de visuele redeneervaardigheden en de naleving van instructies, en biedt het een hoger niveau van visuele waarneming en cognitie." }, - "qwen-vl-plus": { - "description": "Qwen is een verbeterde versie van het grootschalige visuele taalmodel. Het verbetert aanzienlijk de detailherkenning en tekstherkenning, en ondersteunt afbeeldingen met een resolutie van meer dan een miljoen pixels en een willekeurige beeldverhouding." + "qwen-vl-plus-latest": { + "description": "De verbeterde versie van het Tongyi Qianwen grootschalige visuele taalmodel. Het verbetert aanzienlijk de detailherkenning en tekstherkenning, ondersteunt resoluties van meer dan een miljoen pixels en afbeeldingen met elke verhouding." }, "qwen-vl-v1": { "description": "Geïnitieerd met het Qwen-7B taalmodel, voegt het een afbeeldingsmodel toe, met een invoerresolutie van 448 voor het voorgetrainde model." diff --git a/locales/nl-NL/providers.json b/locales/nl-NL/providers.json index c5e6198bb1d1..1ecd5b48920d 100644 --- a/locales/nl-NL/providers.json +++ b/locales/nl-NL/providers.json @@ -30,6 +30,9 @@ "groq": { "description": "De LPU-inferentie-engine van Groq presteert uitstekend in de nieuwste onafhankelijke benchmarktests voor grote taalmodellen (LLM), en herdefinieert de normen voor AI-oplossingen met zijn verbazingwekkende snelheid en efficiëntie. Groq is een vertegenwoordiger van onmiddellijke inferentiesnelheid en toont goede prestaties in cloudgebaseerde implementaties." }, + "huggingface": { + "description": "HuggingFace Inference API biedt een snelle en gratis manier om duizenden modellen te verkennen voor verschillende taken. Of u nu prototypes voor nieuwe applicaties ontwerpt of de mogelijkheden van machine learning uitprobeert, deze API geeft u directe toegang tot hoogpresterende modellen in meerdere domeinen." + }, "hunyuan": { "description": "Een door Tencent ontwikkeld groot taalmodel, dat beschikt over krachtige Chinese creatiecapaciteiten, logische redeneervaardigheden in complexe contexten, en betrouwbare taakuitvoeringscapaciteiten." }, diff --git a/locales/pl-PL/error.json b/locales/pl-PL/error.json index 357a388294b8..554f5884388e 100644 --- a/locales/pl-PL/error.json +++ b/locales/pl-PL/error.json @@ -67,6 +67,7 @@ "OllamaBizError": "Błąd usługi Ollama, sprawdź poniższe informacje lub spróbuj ponownie", "OllamaServiceUnavailable": "Usługa Ollama jest niedostępna. Sprawdź, czy Ollama działa poprawnie, lub czy poprawnie skonfigurowano ustawienia przekraczania domeny Ollama", "OpenAIBizError": "Wystąpił błąd usługi OpenAI, proszę sprawdzić poniższe informacje lub spróbować ponownie", + "PermissionDenied": "Przykro nam, nie masz uprawnień do dostępu do tej usługi. Proszę sprawdzić, czy Twój klucz ma odpowiednie uprawnienia dostępu.", "PluginApiNotFound": "Przepraszamy, w manifestach wtyczki nie istnieje to API. Proszę sprawdź, czy metoda żądania jest zgodna z API w manifestach wtyczki", "PluginApiParamsError": "Przepraszamy, walidacja parametrów wejściowych żądanej wtyczki nie powiodła się. Proszę sprawdź, czy parametry wejściowe są zgodne z informacjami opisującymi API", "PluginFailToTransformArguments": "Przepraszamy, nie udało się przekształcić argumentów wywołania wtyczki. Spróbuj ponownie wygenerować wiadomość pomocnika lub zmień model AI o większej zdolności do wywoływania narzędzi i spróbuj ponownie", diff --git a/locales/pl-PL/modelProvider.json b/locales/pl-PL/modelProvider.json index ccf427e3acc8..dff460a7dc94 100644 --- a/locales/pl-PL/modelProvider.json +++ b/locales/pl-PL/modelProvider.json @@ -58,6 +58,13 @@ "title": "GitHub PAT" } }, + "huggingface": { + "accessToken": { + "desc": "Wprowadź swój token HuggingFace, kliknij [tutaj](https://huggingface.co/settings/tokens), aby go utworzyć", + "placeholder": "hf_xxxxxxxxx", + "title": "Token HuggingFace" + } + }, "ollama": { "checker": { "desc": "Test czy adres proxy jest poprawnie wypełniony", diff --git a/locales/pl-PL/models.json b/locales/pl-PL/models.json index 24bbe2a7596a..fcfaec08e2b4 100644 --- a/locales/pl-PL/models.json +++ b/locales/pl-PL/models.json @@ -458,6 +458,9 @@ "google/gemma-2-27b-it": { "description": "Gemma 2 kontynuuje ideę lekkiego i wydajnego projektowania." }, + "google/gemma-2-2b-it": { + "description": "Lekki model dostosowywania instrukcji od Google." + }, "google/gemma-2-9b-it": { "description": "Gemma 2 to lekka seria modeli tekstowych open source od Google." }, @@ -589,6 +592,12 @@ "llama-3.1-sonar-small-128k-online": { "description": "Model Llama 3.1 Sonar Small Online, z 8B parametrami, obsługujący kontekst o długości około 127,000 tokenów, zaprojektowany do czatów online, efektywnie przetwarzający różne interakcje tekstowe." }, + "llama-3.2-11b-vision-preview": { + "description": "Llama 3.2 jest zaprojektowana do obsługi zadań łączących dane wizualne i tekstowe. Wykazuje doskonałe wyniki w zadaniach takich jak opisywanie obrazów i wizualne pytania i odpowiedzi, przekraczając przepaść między generowaniem języka a wnioskowaniem wizualnym." + }, + "llama-3.2-90b-vision-preview": { + "description": "Llama 3.2 jest zaprojektowana do obsługi zadań łączących dane wizualne i tekstowe. Wykazuje doskonałe wyniki w zadaniach takich jak opisywanie obrazów i wizualne pytania i odpowiedzi, przekraczając przepaść między generowaniem języka a wnioskowaniem wizualnym." + }, "llama3-70b-8192": { "description": "Meta Llama 3 70B oferuje niezrównane możliwości przetwarzania złożoności, dostosowane do projektów o wysokich wymaganiach." }, @@ -643,6 +652,9 @@ "meta-llama/Llama-2-13b-chat-hf": { "description": "LLaMA-2 Chat (13B) oferuje doskonałe możliwości przetwarzania języka i znakomite doświadczenie interakcji." }, + "meta-llama/Llama-2-7b-chat-hf": { + "description": "Jeden z najlepszych modeli do rozmów." + }, "meta-llama/Llama-3-70b-chat-hf": { "description": "LLaMA-3 Chat (70B) to potężny model czatu, wspierający złożone potrzeby dialogowe." }, @@ -811,8 +823,8 @@ "open-mixtral-8x7b": { "description": "Mixtral 8x7B to model rzadkiego eksperta, który wykorzystuje wiele parametrów do zwiększenia prędkości wnioskowania, odpowiedni do przetwarzania zadań wielojęzycznych i generowania kodu." }, - "openai/gpt-4o-2024-08-06": { - "description": "ChatGPT-4o to dynamiczny model, który jest na bieżąco aktualizowany, aby utrzymać najnowszą wersję. Łączy potężne zdolności rozumienia i generowania języka, odpowiedni do zastosowań na dużą skalę, w tym obsługi klienta, edukacji i wsparcia technicznego." + "openai/gpt-4o": { + "description": "ChatGPT-4o to dynamiczny model, który jest na bieżąco aktualizowany, aby utrzymać najnowszą wersję. Łączy potężne zdolności rozumienia i generowania języka, idealny do zastosowań na dużą skalę, w tym obsługi klienta, edukacji i wsparcia technicznego." }, "openai/gpt-4o-mini": { "description": "GPT-4o mini to najnowszy model OpenAI, wydany po GPT-4 Omni, obsługujący wejścia tekstowe i wizualne. Jako ich najnowocześniejszy mały model, jest znacznie tańszy od innych niedawnych modeli czołowych i kosztuje o ponad 60% mniej niż GPT-3.5 Turbo. Utrzymuje najnowocześniejszą inteligencję, oferując jednocześnie znaczną wartość za pieniądze. GPT-4o mini uzyskał wynik 82% w teście MMLU i obecnie zajmuje wyższą pozycję w preferencjach czatu niż GPT-4." @@ -862,11 +874,11 @@ "qwen-vl-chat-v1": { "description": "Qwen VL obsługuje elastyczne interakcje, w tym wiele obrazów, wielokrotne pytania i odpowiedzi oraz zdolności twórcze." }, - "qwen-vl-max": { - "description": "Qwen to ultra-duży model językowy wizualny. W porównaniu do wersji ulepszonej, ponownie poprawia zdolności rozumienia wizualnego i przestrzegania instrukcji, oferując wyższy poziom percepcji wizualnej i poznawczej." + "qwen-vl-max-latest": { + "description": "Model wizualno-językowy Qwen o ultra dużej skali. W porównaniu do wersji rozszerzonej, ponownie zwiększa zdolności wnioskowania wizualnego i przestrzegania instrukcji, oferując wyższy poziom percepcji wizualnej i poznawczej." }, - "qwen-vl-plus": { - "description": "Qwen to ulepszona wersja dużego modelu językowego wizualnego. Znacząco poprawia zdolności rozpoznawania szczegółów i tekstu, obsługując obrazy o rozdzielczości powyżej miliona pikseli i dowolnych proporcjach." + "qwen-vl-plus-latest": { + "description": "Wersja rozszerzona modelu wizualno-językowego Qwen. Znacząco poprawia zdolność rozpoznawania szczegółów i tekstu, obsługuje obrazy o rozdzielczości przekraczającej milion pikseli oraz dowolnych proporcjach." }, "qwen-vl-v1": { "description": "Model wstępnie wytrenowany, zainicjowany przez model językowy Qwen-7B, dodający model obrazowy, z rozdzielczością wejściową obrazu wynoszącą 448." diff --git a/locales/pl-PL/providers.json b/locales/pl-PL/providers.json index bf4ce6f1b46a..afb5d085dd8f 100644 --- a/locales/pl-PL/providers.json +++ b/locales/pl-PL/providers.json @@ -30,6 +30,9 @@ "groq": { "description": "Silnik inferencyjny LPU firmy Groq wyróżnia się w najnowszych niezależnych testach benchmarkowych dużych modeli językowych (LLM), redefiniując standardy rozwiązań AI dzięki niesamowitej szybkości i wydajności. Groq jest reprezentantem natychmiastowej szybkości inferencji, wykazując dobrą wydajność w wdrożeniach opartych na chmurze." }, + "huggingface": { + "description": "HuggingFace Inference API oferuje szybki i bezpłatny sposób na eksplorację tysięcy modeli, które nadają się do różnych zadań. Niezależnie od tego, czy prototypujesz nową aplikację, czy próbujesz funkcji uczenia maszynowego, to API zapewnia natychmiastowy dostęp do wysokowydajnych modeli z wielu dziedzin." + }, "hunyuan": { "description": "Model językowy opracowany przez Tencent, który posiada potężne zdolności twórcze w języku chińskim, umiejętność logicznego wnioskowania w złożonych kontekstach oraz niezawodne zdolności wykonawcze w zadaniach." }, diff --git a/locales/pt-BR/error.json b/locales/pt-BR/error.json index a6da544575be..148895da83f0 100644 --- a/locales/pt-BR/error.json +++ b/locales/pt-BR/error.json @@ -67,6 +67,7 @@ "OllamaBizError": "Erro de negócio ao solicitar o serviço Ollama, verifique as informações a seguir ou tente novamente", "OllamaServiceUnavailable": "O serviço Ollama não está disponível. Verifique se o Ollama está em execução corretamente ou se a configuração de CORS do Ollama está correta", "OpenAIBizError": "Erro no serviço OpenAI solicitado. Por favor, verifique as informações abaixo ou tente novamente.", + "PermissionDenied": "Desculpe, você não tem permissão para acessar este serviço. Verifique se sua chave tem as permissões necessárias.", "PluginApiNotFound": "Desculpe, o API especificado não existe no manifesto do plugin. Verifique se o método de solicitação corresponde ao API do manifesto do plugin", "PluginApiParamsError": "Desculpe, a validação dos parâmetros de entrada da solicitação do plugin falhou. Verifique se os parâmetros de entrada correspondem às informações de descrição do API", "PluginFailToTransformArguments": "Desculpe, falha ao transformar os argumentos da chamada do plugin. Por favor, tente regerar a mensagem do assistente ou tente novamente com um modelo de IA de chamada de ferramentas mais robusto.", diff --git a/locales/pt-BR/modelProvider.json b/locales/pt-BR/modelProvider.json index 48d56c9a0342..1beed30cfb3e 100644 --- a/locales/pt-BR/modelProvider.json +++ b/locales/pt-BR/modelProvider.json @@ -58,6 +58,13 @@ "title": "GitHub PAT" } }, + "huggingface": { + "accessToken": { + "desc": "Insira seu Token do HuggingFace, clique [aqui](https://huggingface.co/settings/tokens) para criar", + "placeholder": "hf_xxxxxxxxx", + "title": "Token do HuggingFace" + } + }, "ollama": { "checker": { "desc": "Teste se o endereço do proxy está corretamente preenchido", diff --git a/locales/pt-BR/models.json b/locales/pt-BR/models.json index 1277d3f805b3..2810c0a4c8df 100644 --- a/locales/pt-BR/models.json +++ b/locales/pt-BR/models.json @@ -458,6 +458,9 @@ "google/gemma-2-27b-it": { "description": "Gemma 2 continua a filosofia de design leve e eficiente." }, + "google/gemma-2-2b-it": { + "description": "Modelo leve de ajuste de instruções do Google." + }, "google/gemma-2-9b-it": { "description": "Gemma 2 é uma série de modelos de texto de código aberto leve da Google." }, @@ -589,6 +592,12 @@ "llama-3.1-sonar-small-128k-online": { "description": "O modelo Llama 3.1 Sonar Small Online possui 8B de parâmetros, suportando um comprimento de contexto de aproximadamente 127.000 tokens, projetado para chats online, capaz de processar eficientemente diversas interações textuais." }, + "llama-3.2-11b-vision-preview": { + "description": "Llama 3.2 é projetado para lidar com tarefas que combinam dados visuais e textuais. Ele se destaca em tarefas como descrição de imagens e perguntas visuais, superando a lacuna entre geração de linguagem e raciocínio visual." + }, + "llama-3.2-90b-vision-preview": { + "description": "Llama 3.2 é projetado para lidar com tarefas que combinam dados visuais e textuais. Ele se destaca em tarefas como descrição de imagens e perguntas visuais, superando a lacuna entre geração de linguagem e raciocínio visual." + }, "llama3-70b-8192": { "description": "Meta Llama 3 70B oferece capacidade de processamento incomparável para complexidade, projetado sob medida para projetos de alta demanda." }, @@ -643,6 +652,9 @@ "meta-llama/Llama-2-13b-chat-hf": { "description": "LLaMA-2 Chat (13B) oferece excelente capacidade de processamento de linguagem e uma experiência interativa notável." }, + "meta-llama/Llama-2-7b-chat-hf": { + "description": "Um dos melhores modelos de diálogo." + }, "meta-llama/Llama-3-70b-chat-hf": { "description": "LLaMA-3 Chat (70B) é um modelo de chat poderoso, suportando necessidades de diálogo complexas." }, @@ -811,8 +823,8 @@ "open-mixtral-8x7b": { "description": "Mixtral 8x7B é um modelo de especialistas esparsos, utilizando múltiplos parâmetros para aumentar a velocidade de raciocínio, adequado para tarefas de geração de linguagem e código." }, - "openai/gpt-4o-2024-08-06": { - "description": "ChatGPT-4o é um modelo dinâmico, atualizado em tempo real para manter a versão mais atual. Ele combina forte compreensão e capacidade de geração de linguagem, adequado para cenários de aplicação em larga escala, incluindo atendimento ao cliente, educação e suporte técnico." + "openai/gpt-4o": { + "description": "ChatGPT-4o é um modelo dinâmico, atualizado em tempo real para manter a versão mais recente. Combina uma poderosa capacidade de compreensão e geração de linguagem, adequado para cenários de aplicação em larga escala, incluindo atendimento ao cliente, educação e suporte técnico." }, "openai/gpt-4o-mini": { "description": "GPT-4o mini é o mais recente modelo da OpenAI, lançado após o GPT-4 Omni, que suporta entrada de texto e imagem e saída de texto. Como seu modelo compacto mais avançado, é muito mais barato do que outros modelos de ponta recentes e custa mais de 60% menos que o GPT-3.5 Turbo. Ele mantém inteligência de ponta, ao mesmo tempo que oferece uma relação custo-benefício significativa. O GPT-4o mini obteve uma pontuação de 82% no teste MMLU e atualmente está classificado acima do GPT-4 em preferências de chat." @@ -862,11 +874,11 @@ "qwen-vl-chat-v1": { "description": "O Qwen VL suporta uma maneira de interação flexível, incluindo múltiplas imagens, perguntas e respostas em várias rodadas, e capacidades criativas." }, - "qwen-vl-max": { - "description": "O Qwen é um modelo de linguagem visual em larga escala. Em comparação com a versão aprimorada, ele melhora ainda mais a capacidade de raciocínio visual e a adesão a instruções, oferecendo um nível mais alto de percepção e cognição visual." + "qwen-vl-max-latest": { + "description": "Modelo de linguagem visual em escala ultra grande Qwen. Em comparação com a versão aprimorada, melhora ainda mais a capacidade de raciocínio visual e de seguir instruções, oferecendo um nível mais alto de percepção e cognição visual." }, - "qwen-vl-plus": { - "description": "O Qwen é uma versão aprimorada do modelo de linguagem visual em larga escala, melhorando significativamente a capacidade de reconhecimento de detalhes e texto, suportando imagens com resolução superior a um milhão de pixels e qualquer proporção de largura e altura." + "qwen-vl-plus-latest": { + "description": "Versão aprimorada do modelo de linguagem visual em larga escala Qwen. Aumenta significativamente a capacidade de reconhecimento de detalhes e de texto, suportando resolução de mais de um milhão de pixels e imagens de qualquer proporção." }, "qwen-vl-v1": { "description": "Inicializado com o modelo de linguagem Qwen-7B, adicionando um modelo de imagem, um modelo pré-treinado com resolução de entrada de imagem de 448." diff --git a/locales/pt-BR/providers.json b/locales/pt-BR/providers.json index b60b145e6fb6..4eb32432aed1 100644 --- a/locales/pt-BR/providers.json +++ b/locales/pt-BR/providers.json @@ -30,6 +30,9 @@ "groq": { "description": "O motor de inferência LPU da Groq se destacou em testes de benchmark independentes de modelos de linguagem de grande escala (LLM), redefinindo os padrões de soluções de IA com sua velocidade e eficiência impressionantes. A Groq representa uma velocidade de inferência em tempo real, demonstrando bom desempenho em implantações baseadas em nuvem." }, + "huggingface": { + "description": "A API de Inferência do HuggingFace oferece uma maneira rápida e gratuita de explorar milhares de modelos para diversas tarefas. Seja você um protótipo para um novo aplicativo ou tentando as funcionalidades de aprendizado de máquina, esta API permite acesso instantâneo a modelos de alto desempenho em múltiplas áreas." + }, "hunyuan": { "description": "Um modelo de linguagem desenvolvido pela Tencent, com forte capacidade de criação em chinês, habilidade de raciocínio lógico em contextos complexos e capacidade confiável de execução de tarefas." }, diff --git a/locales/ru-RU/error.json b/locales/ru-RU/error.json index e8282514f347..25f6ba94f8ee 100644 --- a/locales/ru-RU/error.json +++ b/locales/ru-RU/error.json @@ -67,6 +67,7 @@ "OllamaBizError": "Ошибка обращения к сервису Ollama, пожалуйста, проверьте следующую информацию или повторите попытку", "OllamaServiceUnavailable": "Сервис Ollama недоступен. Пожалуйста, проверьте, работает ли Ollama правильно, и правильно ли настроена его конфигурация для кросс-доменных запросов", "OpenAIBizError": "Ошибка обслуживания OpenAI. Пожалуйста, проверьте следующую информацию или повторите попытку", + "PermissionDenied": "Извините, у вас нет прав доступа к этой службе. Пожалуйста, проверьте, есть ли у вашего ключа права доступа.", "PluginApiNotFound": "К сожалению, API не существует в манифесте плагина. Пожалуйста, проверьте, соответствует ли ваш метод запроса API манифеста плагина", "PluginApiParamsError": "К сожалению, проверка входных параметров для запроса плагина не удалась. Пожалуйста, проверьте, соответствуют ли входные параметры описанию API", "PluginFailToTransformArguments": "Извините, не удалось преобразовать аргументы вызова плагина. Попробуйте сгенерировать помощь заново или повторите попытку с более мощной моделью искусственного интеллекта для вызова инструментов.", diff --git a/locales/ru-RU/modelProvider.json b/locales/ru-RU/modelProvider.json index 2f974ed7c81a..cb0cf1ecfa96 100644 --- a/locales/ru-RU/modelProvider.json +++ b/locales/ru-RU/modelProvider.json @@ -58,6 +58,13 @@ "title": "GitHub PAT" } }, + "huggingface": { + "accessToken": { + "desc": "Введите ваш токен HuggingFace, нажмите [здесь](https://huggingface.co/settings/tokens) для создания", + "placeholder": "hf_xxxxxxxxx", + "title": "Токен HuggingFace" + } + }, "ollama": { "checker": { "desc": "Проверить правильность адреса прокси", diff --git a/locales/ru-RU/models.json b/locales/ru-RU/models.json index b466be4b9e8b..8424cf0b0e5e 100644 --- a/locales/ru-RU/models.json +++ b/locales/ru-RU/models.json @@ -458,6 +458,9 @@ "google/gemma-2-27b-it": { "description": "Gemma 2 продолжает концепцию легковесного и эффективного дизайна." }, + "google/gemma-2-2b-it": { + "description": "Легковесная модель настройки инструкций от Google." + }, "google/gemma-2-9b-it": { "description": "Gemma 2 — это легковесная серия текстовых моделей с открытым исходным кодом от Google." }, @@ -589,6 +592,12 @@ "llama-3.1-sonar-small-128k-online": { "description": "Модель Llama 3.1 Sonar Small Online, обладающая 8B параметрами, поддерживает контекст длиной около 127,000 токенов, специально разработана для онлайн-чатов и эффективно обрабатывает различные текстовые взаимодействия." }, + "llama-3.2-11b-vision-preview": { + "description": "Llama 3.2 предназначена для обработки задач, сочетающих визуальные и текстовые данные. Она демонстрирует отличные результаты в задачах описания изображений и визуального вопросно-ответного взаимодействия, преодолевая разрыв между генерацией языка и визуальным выводом." + }, + "llama-3.2-90b-vision-preview": { + "description": "Llama 3.2 предназначена для обработки задач, сочетающих визуальные и текстовые данные. Она демонстрирует отличные результаты в задачах описания изображений и визуального вопросно-ответного взаимодействия, преодолевая разрыв между генерацией языка и визуальным выводом." + }, "llama3-70b-8192": { "description": "Meta Llama 3 70B предлагает непревзойдённые возможности обработки сложности, специально разработанные для высоких требований проектов." }, @@ -643,6 +652,9 @@ "meta-llama/Llama-2-13b-chat-hf": { "description": "LLaMA-2 Chat (13B) предлагает отличные возможности обработки языка и выдающийся опыт взаимодействия." }, + "meta-llama/Llama-2-7b-chat-hf": { + "description": "Одна из лучших моделей для диалогов." + }, "meta-llama/Llama-3-70b-chat-hf": { "description": "LLaMA-3 Chat (70B) — мощная модель для чата, поддерживающая сложные диалоговые запросы." }, @@ -811,8 +823,8 @@ "open-mixtral-8x7b": { "description": "Mixtral 8x7B — это разреженная экспертная модель, использующая несколько параметров для повышения скорости вывода, подходит для обработки многоязычных и кодовых задач." }, - "openai/gpt-4o-2024-08-06": { - "description": "ChatGPT-4o — это динамическая модель, которая обновляется в реальном времени, чтобы оставаться актуальной. Она сочетает в себе мощные возможности понимания и генерации языка, подходящие для масштабных приложений, включая обслуживание клиентов, образование и техническую поддержку." + "openai/gpt-4o": { + "description": "ChatGPT-4o — это динамическая модель, которая обновляется в реальном времени, чтобы оставаться актуальной. Она сочетает в себе мощные способности понимания и генерации языка, подходит для масштабных приложений, включая обслуживание клиентов, образование и техническую поддержку." }, "openai/gpt-4o-mini": { "description": "GPT-4o mini — это последняя модель от OpenAI, выпущенная после GPT-4 Omni, поддерживающая ввод изображений и текста с выводом текста. Как их самый продвинутый компактный модель, она значительно дешевле других недавних передовых моделей и более чем на 60% дешевле GPT-3.5 Turbo. Она сохраняет передовой уровень интеллекта при значительном соотношении цена-качество. GPT-4o mini набрала 82% в тесте MMLU и в настоящее время занимает более высокое место по предпочтениям в чате, чем GPT-4." @@ -862,11 +874,11 @@ "qwen-vl-chat-v1": { "description": "Qwen VL поддерживает гибкие способы взаимодействия, включая многократные изображения, многократные вопросы и ответы, а также творческие способности." }, - "qwen-vl-max": { - "description": "Qwen — это сверхмасштабная визуально-языковая модель. По сравнению с улучшенной версией, еще больше улучшены способности визуального вывода и соблюдения инструкций, обеспечивая более высокий уровень визуального восприятия и понимания." + "qwen-vl-max-latest": { + "description": "Супер масштабная визуально-языковая модель Tongyi Qianwen. По сравнению с улучшенной версией, еще больше повышает способности визуального вывода и соблюдения инструкций, обеспечивая более высокий уровень визуального восприятия и когнитивных способностей." }, - "qwen-vl-plus": { - "description": "Qwen — это улучшенная версия крупномасштабной визуально-языковой модели. Существенно улучшена способность распознавания деталей и текстов, поддерживает изображения с разрешением более миллиона пикселей и произвольным соотношением сторон." + "qwen-vl-plus-latest": { + "description": "Улучшенная версия масштабной визуально-языковой модели Tongyi Qianwen. Значительно повышает способность распознавания деталей и текста, поддерживает разрешение более миллиона пикселей и изображения с произвольным соотношением сторон." }, "qwen-vl-v1": { "description": "Инициализированная языковой моделью Qwen-7B, добавлена модель изображения, предобученная модель с разрешением входного изображения 448." diff --git a/locales/ru-RU/providers.json b/locales/ru-RU/providers.json index 11a98eb19291..0c18a6ee33bc 100644 --- a/locales/ru-RU/providers.json +++ b/locales/ru-RU/providers.json @@ -30,6 +30,9 @@ "groq": { "description": "Инженерный движок LPU от Groq показал выдающиеся результаты в последних независимых бенчмарках больших языковых моделей (LLM), переопределяя стандарты AI-решений благодаря своей удивительной скорости и эффективности. Groq представляет собой образец мгновенной скорости вывода, демонстрируя хорошие результаты в облачных развертываниях." }, + "huggingface": { + "description": "API для инференса HuggingFace предоставляет быстрый и бесплатный способ исследовать тысячи моделей для различных задач. Независимо от того, разрабатываете ли вы прототип для нового приложения или пробуете возможности машинного обучения, этот API обеспечивает мгновенный доступ к высокопроизводительным моделям в различных областях." + }, "hunyuan": { "description": "Большая языковая модель, разработанная Tencent, обладающая мощными способностями к созданию текстов на китайском языке, логическим рассуждениям в сложных контекстах и надежным выполнением задач." }, diff --git a/locales/tr-TR/error.json b/locales/tr-TR/error.json index 6f8f189dc074..730c8a8f92a2 100644 --- a/locales/tr-TR/error.json +++ b/locales/tr-TR/error.json @@ -67,6 +67,7 @@ "OllamaBizError": "Ollama servisine yapılan istekte hata oluştu, lütfen aşağıdaki bilgilere göre sorunu gidermeye çalışın veya tekrar deneyin", "OllamaServiceUnavailable": "Ollama servisi kullanılamıyor, lütfen Ollama'nın düzgün çalışıp çalışmadığını kontrol edin veya Ollama'nın çapraz kaynak yapılandırmasının doğru olup olmadığını kontrol edin", "OpenAIBizError": "OpenAI hizmetinde bir hata oluştu, lütfen aşağıdaki bilgilere göre sorunu giderin veya tekrar deneyin", + "PermissionDenied": "Üzgünüm, bu hizmete erişim izniniz yok. Lütfen anahtarınızın erişim iznine sahip olup olmadığını kontrol edin.", "PluginApiNotFound": "Üzgünüm, eklentinin bildiriminde API mevcut değil. Lütfen istek yönteminizin eklenti bildirim API'sı ile eşleşip eşleşmediğini kontrol edin", "PluginApiParamsError": "Üzgünüm, eklenti isteği için giriş parametre doğrulaması başarısız oldu. Lütfen giriş parametrelerinin API açıklamasıyla eşleşip eşleşmediğini kontrol edin", "PluginFailToTransformArguments": "Özür dilerim, eklenti çağrı parametrelerini dönüştürme başarısız oldu, lütfen yardımcı mesajı yeniden oluşturmayı deneyin veya daha güçlü bir AI modeli olan Tools Calling'i değiştirip tekrar deneyin", diff --git a/locales/tr-TR/modelProvider.json b/locales/tr-TR/modelProvider.json index 4a2bd80535a6..e9d7c5f5c9d5 100644 --- a/locales/tr-TR/modelProvider.json +++ b/locales/tr-TR/modelProvider.json @@ -58,6 +58,13 @@ "title": "GitHub PAT" } }, + "huggingface": { + "accessToken": { + "desc": "HuggingFace Token'inizi buraya girin, [buraya](https://huggingface.co/settings/tokens) tıklayarak oluşturun", + "placeholder": "hf_xxxxxxxxx", + "title": "HuggingFace Token" + } + }, "ollama": { "checker": { "desc": "Proxy adresinin doğru girilip girilmediğini test edin", diff --git a/locales/tr-TR/models.json b/locales/tr-TR/models.json index c53fa6575987..a6512217d1b0 100644 --- a/locales/tr-TR/models.json +++ b/locales/tr-TR/models.json @@ -458,6 +458,9 @@ "google/gemma-2-27b-it": { "description": "Gemma 2, hafiflik ve verimlilik tasarım felsefesini sürdürmektedir." }, + "google/gemma-2-2b-it": { + "description": "Google'ın hafif talimat ayarlama modeli" + }, "google/gemma-2-9b-it": { "description": "Gemma 2, Google'ın hafif açık kaynak metin modeli serisidir." }, @@ -589,6 +592,12 @@ "llama-3.1-sonar-small-128k-online": { "description": "Llama 3.1 Sonar Small Online modeli, 8B parametreye sahiptir ve yaklaşık 127,000 belirteçlik bağlam uzunluğunu destekler, çevrimiçi sohbet için tasarlanmıştır ve çeşitli metin etkileşimlerini etkili bir şekilde işler." }, + "llama-3.2-11b-vision-preview": { + "description": "Llama 3.2, görsel ve metin verilerini birleştiren görevleri işlemek için tasarlanmıştır. Görüntü tanımlama ve görsel soru-cevap gibi görevlerde mükemmel performans sergiler, dil üretimi ile görsel akıl yürütme arasındaki uçurumu aşar." + }, + "llama-3.2-90b-vision-preview": { + "description": "Llama 3.2, görsel ve metin verilerini birleştiren görevleri işlemek için tasarlanmıştır. Görüntü tanımlama ve görsel soru-cevap gibi görevlerde mükemmel performans sergiler, dil üretimi ile görsel akıl yürütme arasındaki uçurumu aşar." + }, "llama3-70b-8192": { "description": "Meta Llama 3 70B, eşsiz karmaşıklık işleme yeteneği sunar ve yüksek talepli projeler için özel olarak tasarlanmıştır." }, @@ -643,6 +652,9 @@ "meta-llama/Llama-2-13b-chat-hf": { "description": "LLaMA-2 Chat (13B), mükemmel dil işleme yetenekleri ve olağanüstü etkileşim deneyimi sunar." }, + "meta-llama/Llama-2-7b-chat-hf": { + "description": "En iyi sohbet modellerinden biri" + }, "meta-llama/Llama-3-70b-chat-hf": { "description": "LLaMA-3 Chat (70B), karmaşık diyalog ihtiyaçlarını destekleyen güçlü bir sohbet modelidir." }, @@ -811,8 +823,8 @@ "open-mixtral-8x7b": { "description": "Mixtral 8x7B, birden fazla parametre kullanarak akıl yürütme hızını artıran seyrek uzman modelidir, çok dilli ve kod üretim görevlerini işlemek için uygundur." }, - "openai/gpt-4o-2024-08-06": { - "description": "ChatGPT-4o, dinamik bir modeldir; en güncel versiyonu korumak için gerçek zamanlı olarak güncellenir. Güçlü dil anlama ve üretme yeteneklerini birleştirir, geniş ölçekli uygulama senaryoları için uygundur; müşteri hizmetleri, eğitim ve teknik destek gibi." + "openai/gpt-4o": { + "description": "ChatGPT-4o, güncel en son sürümü korumak için gerçek zamanlı olarak güncellenen dinamik bir modeldir. Güçlü dil anlama ve üretme yeteneklerini birleştirir, müşteri hizmetleri, eğitim ve teknik destek gibi büyük ölçekli uygulama senaryoları için uygundur." }, "openai/gpt-4o-mini": { "description": "GPT-4o mini, OpenAI'nin GPT-4 Omni'den sonra sunduğu en son modeldir; görsel ve metin girişi destekler ve metin çıktısı verir. En gelişmiş küçük model olarak, diğer son zamanlardaki öncü modellere göre çok daha ucuzdur ve GPT-3.5 Turbo'dan %60'tan fazla daha ucuzdur. En son teknolojiyi korurken, önemli bir maliyet etkinliği sunar. GPT-4o mini, MMLU testinde %82 puan almış olup, şu anda sohbet tercihleri açısından GPT-4'ün üzerinde bir sıralamaya sahiptir." @@ -862,11 +874,11 @@ "qwen-vl-chat-v1": { "description": "Tongyi Qianwen VL, çoklu görüntü, çok turlu soru-cevap, yaratım gibi esnek etkileşim yöntemlerini destekleyen bir modeldir." }, - "qwen-vl-max": { - "description": "Tongyi Qianwen, büyük ölçekli görsel dil modelidir. Geliştirilmiş versiyonuna göre görsel akıl yürütme ve talimatları takip etme yeteneklerini daha da artırır, daha yüksek görsel algı ve biliş düzeyi sunar." + "qwen-vl-max-latest": { + "description": "Tongyi Qianwen ultra büyük ölçekli görsel dil modeli. Geliştirilmiş versiyona kıyasla, görsel akıl yürütme yeteneğini ve talimatlara uyum yeteneğini bir kez daha artırır, daha yüksek görsel algı ve bilişsel seviyeler sunar." }, - "qwen-vl-plus": { - "description": "Tongyi Qianwen, büyük ölçekli görsel dil modelinin geliştirilmiş versiyonudur. Detay tanıma ve metin tanıma yeteneklerini önemli ölçüde artırır, bir milyondan fazla piksel çözünürlüğü ve herhangi bir en-boy oranı spesifikasyonunu destekler." + "qwen-vl-plus-latest": { + "description": "Tongyi Qianwen büyük ölçekli görsel dil modelinin geliştirilmiş versiyonu. Detay tanıma ve metin tanıma yeteneklerini büyük ölçüde artırır, bir milyondan fazla piksel çözünürlüğü ve herhangi bir en-boy oranındaki görüntüleri destekler." }, "qwen-vl-v1": { "description": "Qwen-7B dil modeli ile başlatılan, 448 çözünürlükte görüntü girişi olan önceden eğitilmiş bir modeldir." diff --git a/locales/tr-TR/providers.json b/locales/tr-TR/providers.json index 5a324e5a4f03..2703d8b3bd19 100644 --- a/locales/tr-TR/providers.json +++ b/locales/tr-TR/providers.json @@ -30,6 +30,9 @@ "groq": { "description": "Groq'un LPU çıkarım motoru, en son bağımsız büyük dil modeli (LLM) benchmark testlerinde mükemmel performans sergilemekte ve olağanüstü hız ve verimliliği ile yapay zeka çözümlerinin standartlarını yeniden tanımlamaktadır. Groq, bulut tabanlı dağıtımlarda iyi bir performans sergileyen anlık çıkarım hızının temsilcisidir." }, + "huggingface": { + "description": "HuggingFace Inference API, binlerce modeli keşfetmenin hızlı ve ücretsiz bir yolunu sunar, çeşitli görevler için uygundur. Yeni uygulamalar için prototip oluşturuyor ya da makine öğreniminin yeteneklerini deniyorsanız, bu API size birçok alanda yüksek performanslı modellere anında erişim sağlar." + }, "hunyuan": { "description": "Tencent tarafından geliştirilen büyük bir dil modeli, güçlü Çince yaratım yeteneklerine, karmaşık bağlamlarda mantıksal akıl yürütme yeteneğine ve güvenilir görev yerine getirme yeteneğine sahiptir." }, diff --git a/locales/vi-VN/error.json b/locales/vi-VN/error.json index 97702c4a5834..37cee71ce5ce 100644 --- a/locales/vi-VN/error.json +++ b/locales/vi-VN/error.json @@ -67,6 +67,7 @@ "OllamaBizError": "Yêu cầu dịch vụ Ollama gặp lỗi, vui lòng kiểm tra thông tin dưới đây hoặc thử lại", "OllamaServiceUnavailable": "Dịch vụ Ollama không khả dụng, vui lòng kiểm tra xem Ollama có hoạt động bình thường không, hoặc xem xét cấu hình chéo đúng của Ollama", "OpenAIBizError": "Yêu cầu dịch vụ OpenAI gặp sự cố, vui lòng kiểm tra thông tin dưới đây hoặc thử lại", + "PermissionDenied": "Xin lỗi, bạn không có quyền truy cập dịch vụ này, vui lòng kiểm tra xem khóa của bạn có quyền truy cập hay không", "PluginApiNotFound": "Xin lỗi, không có API nào trong tệp mô tả plugin, vui lòng kiểm tra phương thức yêu cầu của bạn có khớp với API mô tả plugin không", "PluginApiParamsError": "Xin lỗi, kiểm tra tham số đầu vào yêu cầu của plugin không thông qua, vui lòng kiểm tra tham số đầu vào có khớp với thông tin mô tả API không", "PluginFailToTransformArguments": "Xin lỗi, không thể chuyển đổi đối số của plugin, vui lòng thử tạo lại tin nhắn trợ giúp hoặc thay đổi mô hình AI có khả năng gọi Tools mạnh hơn và thử lại", diff --git a/locales/vi-VN/modelProvider.json b/locales/vi-VN/modelProvider.json index 54ff8a321ec5..f5b18cbbb819 100644 --- a/locales/vi-VN/modelProvider.json +++ b/locales/vi-VN/modelProvider.json @@ -58,6 +58,13 @@ "title": "GitHub PAT" } }, + "huggingface": { + "accessToken": { + "desc": "Nhập mã thông báo HuggingFace của bạn, nhấp vào [đây](https://huggingface.co/settings/tokens) để tạo", + "placeholder": "hf_xxxxxxxxx", + "title": "Mã thông báo HuggingFace" + } + }, "ollama": { "checker": { "desc": "Kiểm tra địa chỉ proxy có được nhập chính xác không", diff --git a/locales/vi-VN/models.json b/locales/vi-VN/models.json index 1c8dbded195f..4f258cd09739 100644 --- a/locales/vi-VN/models.json +++ b/locales/vi-VN/models.json @@ -458,6 +458,9 @@ "google/gemma-2-27b-it": { "description": "Gemma 2 tiếp tục triết lý thiết kế nhẹ và hiệu quả." }, + "google/gemma-2-2b-it": { + "description": "Mô hình tinh chỉnh hướng dẫn nhẹ của Google" + }, "google/gemma-2-9b-it": { "description": "Gemma 2 là một loạt mô hình văn bản mã nguồn mở nhẹ của Google." }, @@ -589,6 +592,12 @@ "llama-3.1-sonar-small-128k-online": { "description": "Mô hình Llama 3.1 Sonar Small Online, có 8B tham số, hỗ trợ độ dài ngữ cảnh khoảng 127,000 mã, được thiết kế cho trò chuyện trực tuyến, có khả năng xử lý hiệu quả các tương tác văn bản khác nhau." }, + "llama-3.2-11b-vision-preview": { + "description": "Llama 3.2 được thiết kế để xử lý các nhiệm vụ kết hợp dữ liệu hình ảnh và văn bản. Nó thể hiện xuất sắc trong các nhiệm vụ mô tả hình ảnh và hỏi đáp hình ảnh, vượt qua rào cản giữa tạo ngôn ngữ và suy luận hình ảnh." + }, + "llama-3.2-90b-vision-preview": { + "description": "Llama 3.2 được thiết kế để xử lý các nhiệm vụ kết hợp dữ liệu hình ảnh và văn bản. Nó thể hiện xuất sắc trong các nhiệm vụ mô tả hình ảnh và hỏi đáp hình ảnh, vượt qua rào cản giữa tạo ngôn ngữ và suy luận hình ảnh." + }, "llama3-70b-8192": { "description": "Meta Llama 3 70B cung cấp khả năng xử lý phức tạp vô song, được thiết kế riêng cho các dự án yêu cầu cao." }, @@ -643,6 +652,9 @@ "meta-llama/Llama-2-13b-chat-hf": { "description": "LLaMA-2 Chat (13B) cung cấp khả năng xử lý ngôn ngữ xuất sắc và trải nghiệm tương tác tuyệt vời." }, + "meta-llama/Llama-2-7b-chat-hf": { + "description": "Một trong những mô hình đối thoại tốt nhất" + }, "meta-llama/Llama-3-70b-chat-hf": { "description": "LLaMA-3 Chat (70B) là mô hình trò chuyện mạnh mẽ, hỗ trợ các nhu cầu đối thoại phức tạp." }, @@ -811,8 +823,8 @@ "open-mixtral-8x7b": { "description": "Mixtral 8x7B là một mô hình chuyên gia thưa thớt, sử dụng nhiều tham số để tăng tốc độ suy luận, phù hợp cho việc xử lý đa ngôn ngữ và sinh mã." }, - "openai/gpt-4o-2024-08-06": { - "description": "ChatGPT-4o là một mô hình động, được cập nhật theo thời gian để giữ phiên bản mới nhất. Nó kết hợp khả năng hiểu và sinh ngôn ngữ mạnh mẽ, phù hợp cho các ứng dụng quy mô lớn, bao gồm dịch vụ khách hàng, giáo dục và hỗ trợ kỹ thuật." + "openai/gpt-4o": { + "description": "ChatGPT-4o là một mô hình động, cập nhật theo thời gian để giữ phiên bản mới nhất. Nó kết hợp khả năng hiểu và tạo ngôn ngữ mạnh mẽ, phù hợp với các tình huống ứng dụng quy mô lớn, bao gồm dịch vụ khách hàng, giáo dục và hỗ trợ kỹ thuật." }, "openai/gpt-4o-mini": { "description": "GPT-4o mini là mô hình mới nhất của OpenAI, được phát hành sau GPT-4 Omni, hỗ trợ đầu vào hình ảnh và văn bản, và đầu ra văn bản. Là mô hình nhỏ tiên tiến nhất của họ, nó rẻ hơn nhiều so với các mô hình tiên tiến gần đây khác và rẻ hơn hơn 60% so với GPT-3.5 Turbo. Nó giữ lại trí thông minh tiên tiến nhất trong khi có giá trị sử dụng đáng kể. GPT-4o mini đạt 82% điểm trong bài kiểm tra MMLU và hiện đứng đầu về sở thích trò chuyện so với GPT-4." @@ -862,11 +874,11 @@ "qwen-vl-chat-v1": { "description": "Mô hình Qwen VL hỗ trợ các phương thức tương tác linh hoạt, bao gồm nhiều hình ảnh, nhiều vòng hỏi đáp, sáng tạo, v.v." }, - "qwen-vl-max": { - "description": "Mô hình ngôn ngữ hình ảnh quy mô lớn Qwen. So với phiên bản nâng cao, nâng cao khả năng suy luận hình ảnh và tuân thủ chỉ dẫn, cung cấp mức độ nhận thức và nhận thức hình ảnh cao hơn." + "qwen-vl-max-latest": { + "description": "Mô hình ngôn ngữ hình ảnh quy mô siêu lớn của Tongyi Qianwen. So với phiên bản nâng cao, nó lại nâng cao khả năng suy luận hình ảnh và khả năng tuân thủ chỉ dẫn, cung cấp mức độ nhận thức và cảm nhận hình ảnh cao hơn." }, - "qwen-vl-plus": { - "description": "Mô hình ngôn ngữ hình ảnh quy mô lớn Qwen phiên bản nâng cao. Nâng cao khả năng nhận diện chi tiết và nhận diện văn bản, hỗ trợ độ phân giải hình ảnh trên một triệu pixel và tỷ lệ khung hình tùy ý." + "qwen-vl-plus-latest": { + "description": "Mô hình ngôn ngữ hình ảnh quy mô lớn phiên bản nâng cao của Tongyi Qianwen. Nâng cao khả năng nhận diện chi tiết và nhận diện văn bản, hỗ trợ độ phân giải trên một triệu pixel và các tỷ lệ chiều dài và chiều rộng tùy ý." }, "qwen-vl-v1": { "description": "Mô hình được khởi tạo bằng mô hình ngôn ngữ Qwen-7B, thêm mô hình hình ảnh, mô hình được huấn luyện trước với độ phân giải đầu vào hình ảnh là 448." diff --git a/locales/vi-VN/providers.json b/locales/vi-VN/providers.json index 21c4c79606c1..d608f5d1545c 100644 --- a/locales/vi-VN/providers.json +++ b/locales/vi-VN/providers.json @@ -30,6 +30,9 @@ "groq": { "description": "Bộ máy suy diễn LPU của Groq thể hiện xuất sắc trong các bài kiểm tra chuẩn mô hình ngôn ngữ lớn (LLM) độc lập mới nhất, định nghĩa lại tiêu chuẩn cho các giải pháp AI với tốc độ và hiệu quả đáng kinh ngạc. Groq là đại diện cho tốc độ suy diễn tức thì, thể hiện hiệu suất tốt trong triển khai dựa trên đám mây." }, + "huggingface": { + "description": "HuggingFace Inference API cung cấp một cách nhanh chóng và miễn phí để bạn khám phá hàng ngàn mô hình cho nhiều nhiệm vụ khác nhau. Dù bạn đang thiết kế nguyên mẫu cho một ứng dụng mới hay đang thử nghiệm khả năng của học máy, API này cho phép bạn truy cập ngay lập tức vào các mô hình hiệu suất cao trong nhiều lĩnh vực." + }, "hunyuan": { "description": "Mô hình ngôn ngữ lớn được phát triển bởi Tencent, có khả năng sáng tạo tiếng Trung mạnh mẽ, khả năng suy luận logic trong các ngữ cảnh phức tạp, và khả năng thực hiện nhiệm vụ đáng tin cậy." }, diff --git a/locales/zh-CN/error.json b/locales/zh-CN/error.json index ce33af3b23e5..75e1853802af 100644 --- a/locales/zh-CN/error.json +++ b/locales/zh-CN/error.json @@ -70,7 +70,8 @@ "InvalidAccessCode": "密码不正确或为空,请输入正确的访问密码,或者添加自定义 API Key", "InvalidClerkUser": "很抱歉,你当前尚未登录,请先登录或注册账号后继续操作", "LocationNotSupportError": "很抱歉,你的所在地区不支持此模型服务,可能是由于区域限制或服务未开通。请确认当前地区是否支持使用此服务,或尝试使用切换到其他地区后重试。", - "QuotaLimitReached": "很抱歉,当前 Token 用量或请求次数已达该秘钥的配额(quota)上限,请增加该秘钥的配额或稍后再试", + "QuotaLimitReached": "很抱歉,当前 Token 用量或请求次数已达该密钥的配额(quota)上限,请增加该密钥的配额或稍后再试", + "PermissionDenied": "很抱歉,你没有权限访问该服务,请检查你的密钥是否有访问权限", "InvalidProviderAPIKey": "{{provider}} API Key 不正确或为空,请检查 {{provider}} API Key 后重试", "ProviderBizError": "请求 {{provider}} 服务出错,请根据以下信息排查或重试", "NoOpenAIAPIKey": "OpenAI API Key 不正确或为空,请添加自定义 OpenAI API Key", diff --git a/locales/zh-CN/modelProvider.json b/locales/zh-CN/modelProvider.json index 216c75f040fe..37f8d83077df 100644 --- a/locales/zh-CN/modelProvider.json +++ b/locales/zh-CN/modelProvider.json @@ -53,11 +53,18 @@ }, "github": { "personalAccessToken": { - "desc": "填入你的 Github PAT,点击[这里](https://github.com/settings/tokens) 创建", + "desc": "填入你的 Github PAT,点击 [这里](https://github.com/settings/tokens) 创建", "placeholder": "ghp_xxxxxx", "title": "Github PAT" } }, + "huggingface": { + "accessToken": { + "desc": "填入你的 HuggingFace Token,点击 [这里](https://huggingface.co/settings/tokens) 创建", + "placeholder": "hf_xxxxxxxxx", + "title": "HuggingFace Token" + } + }, "ollama": { "checker": { "desc": "测试代理地址是否正确填写", diff --git a/locales/zh-CN/models.json b/locales/zh-CN/models.json index 679925ded7c9..81bca1cc6f8a 100644 --- a/locales/zh-CN/models.json +++ b/locales/zh-CN/models.json @@ -458,6 +458,9 @@ "google/gemma-2-27b-it": { "description": "Gemma 2 延续了轻量化与高效的设计理念。" }, + "google/gemma-2-2b-it": { + "description": "Google的轻量级指令调优模型" + }, "google/gemma-2-9b-it": { "description": "Gemma 2 是Google轻量化的开源文本模型系列。" }, @@ -589,6 +592,12 @@ "llama-3.1-sonar-small-128k-online": { "description": "Llama 3.1 Sonar Small Online 模型,具备8B参数,支持约127,000个标记的上下文长度,专为在线聊天设计,能高效处理各种文本交互。" }, + "llama-3.2-11b-vision-preview": { + "description": "Llama 3.2 旨在处理结合视觉和文本数据的任务。它在图像描述和视觉问答等任务中表现出色,跨越了语言生成和视觉推理之间的鸿沟。" + }, + "llama-3.2-90b-vision-preview": { + "description": "Llama 3.2 旨在处理结合视觉和文本数据的任务。它在图像描述和视觉问答等任务中表现出色,跨越了语言生成和视觉推理之间的鸿沟。" + }, "llama3-70b-8192": { "description": "Meta Llama 3 70B 提供无与伦比的复杂性处理能力,为高要求项目量身定制。" }, @@ -643,6 +652,9 @@ "meta-llama/Llama-2-13b-chat-hf": { "description": "LLaMA-2 Chat (13B) 提供优秀的语言处理能力和出色的交互体验。" }, + "meta-llama/Llama-2-7b-chat-hf": { + "description": "最佳对话模型之一" + }, "meta-llama/Llama-3-70b-chat-hf": { "description": "LLaMA-3 Chat (70B) 是功能强大的聊天模型,支持复杂的对话需求。" }, @@ -752,7 +764,7 @@ "description": "Mistral (7B) Instruct 以高性能著称,适用于多种语言任务。" }, "mistralai/Mistral-7B-Instruct-v0.2": { - "description": "Mistral (7B) Instruct v0.2 提供改进的指令处理能力和更精确的结果。" + "description": "Mistral AI的指令调优模型" }, "mistralai/Mistral-7B-Instruct-v0.3": { "description": "Mistral (7B) Instruct v0.3 提供高效的计算能力和自然语言理解,适合广泛的应用。" @@ -811,7 +823,7 @@ "open-mixtral-8x7b": { "description": "Mixtral 8x7B是一个稀疏专家模型,利用多个参数提高推理速度,适合处理多语言和代码生成任务。" }, - "openai/gpt-4o-2024-08-06": { + "openai/gpt-4o": { "description": "ChatGPT-4o 是一款动态模型,实时更新以保持当前最新版本。它结合了强大的语言理解与生成能力,适合于大规模应用场景,包括客户服务、教育和技术支持。" }, "openai/gpt-4o-mini": { @@ -862,10 +874,10 @@ "qwen-vl-chat-v1": { "description": "通义千问VL支持灵活的交互方式,包括多图、多轮问答、创作等能力的模型。" }, - "qwen-vl-max": { + "qwen-vl-max-latest": { "description": "通义千问超大规模视觉语言模型。相比增强版,再次提升视觉推理能力和指令遵循能力,提供更高的视觉感知和认知水平。" }, - "qwen-vl-plus": { + "qwen-vl-plus-latest": { "description": "通义千问大规模视觉语言模型增强版。大幅提升细节识别能力和文字识别能力,支持超百万像素分辨率和任意长宽比规格的图像。" }, "qwen-vl-v1": { diff --git a/locales/zh-CN/providers.json b/locales/zh-CN/providers.json index ce1fa0f77a25..9bc7cd289343 100644 --- a/locales/zh-CN/providers.json +++ b/locales/zh-CN/providers.json @@ -30,6 +30,9 @@ "groq": { "description": "Groq 的 LPU 推理引擎在最新的独立大语言模型(LLM)基准测试中表现卓越,以其惊人的速度和效率重新定义了 AI 解决方案的标准。Groq 是一种即时推理速度的代表,在基于云的部署中展现了良好的性能。" }, + "huggingface": { + "description": "HuggingFace Inference API 提供了一种快速且免费的方式,让您可以探索成千上万种模型,适用于各种任务。无论您是在为新应用程序进行原型设计,还是在尝试机器学习的功能,这个 API 都能让您即时访问多个领域的高性能模型。" + }, "hunyuan": { "description": "由腾讯研发的大语言模型,具备强大的中文创作能力,复杂语境下的逻辑推理能力,以及可靠的任务执行能力" }, diff --git a/locales/zh-TW/error.json b/locales/zh-TW/error.json index 24154d66e2c7..5e4462c1689f 100644 --- a/locales/zh-TW/error.json +++ b/locales/zh-TW/error.json @@ -67,6 +67,7 @@ "OllamaBizError": "請求 Ollama 服務出錯,請根據以下資訊排查或重試", "OllamaServiceUnavailable": "Ollama 服務暫時無法使用,請檢查 Ollama 是否運作正常,或是否正確設定 Ollama 的跨域配置", "OpenAIBizError": "請求 OpenAI 服務出錯,請根據以下資訊排查或重試", + "PermissionDenied": "很抱歉,您沒有權限訪問該服務,請檢查您的金鑰是否具有訪問權限", "PluginApiNotFound": "抱歉,外掛描述檔案中不存在該 API。請檢查您的請求方法與外掛清單 API 是否相符", "PluginApiParamsError": "抱歉,該外掛請求的輸入參數驗證失敗。請檢查輸入參數與 API 描述資訊是否相符", "PluginFailToTransformArguments": "很抱歉,插件無法轉換參數,請嘗試重新生成助手消息,或更換功能更強大的 AI 模型後重試", diff --git a/locales/zh-TW/modelProvider.json b/locales/zh-TW/modelProvider.json index e502fbaa19d8..52d865aa6059 100644 --- a/locales/zh-TW/modelProvider.json +++ b/locales/zh-TW/modelProvider.json @@ -58,6 +58,13 @@ "title": "GitHub PAT" } }, + "huggingface": { + "accessToken": { + "desc": "填入你的 HuggingFace Token,點擊 [這裡](https://huggingface.co/settings/tokens) 創建", + "placeholder": "hf_xxxxxxxxx", + "title": "HuggingFace Token" + } + }, "ollama": { "checker": { "desc": "測試代理地址是否正確填寫", diff --git a/locales/zh-TW/models.json b/locales/zh-TW/models.json index 5b00f24a09c2..fb5935008871 100644 --- a/locales/zh-TW/models.json +++ b/locales/zh-TW/models.json @@ -458,6 +458,9 @@ "google/gemma-2-27b-it": { "description": "Gemma 2 延續了輕量化與高效的設計理念。" }, + "google/gemma-2-2b-it": { + "description": "Google的輕量級指令調優模型" + }, "google/gemma-2-9b-it": { "description": "Gemma 2 是 Google 輕量化的開源文本模型系列。" }, @@ -589,6 +592,12 @@ "llama-3.1-sonar-small-128k-online": { "description": "Llama 3.1 Sonar Small Online 模型,具備 8B 參數,支持約 127,000 個標記的上下文長度,專為在線聊天設計,能高效處理各種文本交互。" }, + "llama-3.2-11b-vision-preview": { + "description": "Llama 3.2 旨在處理結合視覺和文本數據的任務。它在圖像描述和視覺問答等任務中表現出色,跨越了語言生成和視覺推理之間的鴻溝。" + }, + "llama-3.2-90b-vision-preview": { + "description": "Llama 3.2 旨在處理結合視覺和文本數據的任務。它在圖像描述和視覺問答等任務中表現出色,跨越了語言生成和視覺推理之間的鴻溝。" + }, "llama3-70b-8192": { "description": "Meta Llama 3 70B 提供無與倫比的複雜性處理能力,為高要求項目量身定制。" }, @@ -643,6 +652,9 @@ "meta-llama/Llama-2-13b-chat-hf": { "description": "LLaMA-2 Chat (13B) 提供優秀的語言處理能力和出色的互動體驗。" }, + "meta-llama/Llama-2-7b-chat-hf": { + "description": "最佳對話模型之一" + }, "meta-llama/Llama-3-70b-chat-hf": { "description": "LLaMA-3 Chat (70B) 是功能強大的聊天模型,支持複雜的對話需求。" }, @@ -811,7 +823,7 @@ "open-mixtral-8x7b": { "description": "Mixtral 8x7B 是一個稀疏專家模型,利用多個參數提高推理速度,適合處理多語言和代碼生成任務。" }, - "openai/gpt-4o-2024-08-06": { + "openai/gpt-4o": { "description": "ChatGPT-4o 是一款動態模型,實時更新以保持當前最新版本。它結合了強大的語言理解與生成能力,適合於大規模應用場景,包括客戶服務、教育和技術支持。" }, "openai/gpt-4o-mini": { @@ -862,11 +874,11 @@ "qwen-vl-chat-v1": { "description": "通義千問VL支持靈活的交互方式,包括多圖、多輪問答、創作等能力的模型。" }, - "qwen-vl-max": { + "qwen-vl-max-latest": { "description": "通義千問超大規模視覺語言模型。相比增強版,再次提升視覺推理能力和指令遵循能力,提供更高的視覺感知和認知水平。" }, - "qwen-vl-plus": { - "description": "通義千問大規模視覺語言模型增強版。大幅提升細節識別能力和文字識別能力,支持超百萬像素分辨率和任意長寬比規格的圖像。" + "qwen-vl-plus-latest": { + "description": "通義千問大規模視覺語言模型增強版。大幅提升細節識別能力和文字識別能力,支持超百萬像素解析度和任意長寬比規格的圖像。" }, "qwen-vl-v1": { "description": "以Qwen-7B語言模型初始化,添加圖像模型,圖像輸入分辨率為448的預訓練模型。" diff --git a/locales/zh-TW/providers.json b/locales/zh-TW/providers.json index 0c5f40f61fab..2d04a8d63e82 100644 --- a/locales/zh-TW/providers.json +++ b/locales/zh-TW/providers.json @@ -30,6 +30,9 @@ "groq": { "description": "Groq 的 LPU 推理引擎在最新的獨立大語言模型(LLM)基準測試中表現卓越,以其驚人的速度和效率重新定義了 AI 解決方案的標準。Groq 是一種即時推理速度的代表,在基於雲的部署中展現了良好的性能。" }, + "huggingface": { + "description": "HuggingFace Inference API 提供了一種快速且免費的方式,讓您可以探索成千上萬種模型,適用於各種任務。無論您是在為新應用程式進行原型設計,還是在嘗試機器學習的功能,這個 API 都能讓您即時訪問多個領域的高性能模型。" + }, "hunyuan": { "description": "由騰訊研發的大語言模型,具備強大的中文創作能力、複雜語境下的邏輯推理能力,以及可靠的任務執行能力" }, diff --git a/package.json b/package.json index 70efbdcd5187..d89f550f14d9 100644 --- a/package.json +++ b/package.json @@ -116,12 +116,13 @@ "@codesandbox/sandpack-react": "^2.19.8", "@cyntler/react-doc-viewer": "^1.16.6", "@google/generative-ai": "^0.16.0", + "@huggingface/inference": "^2.8.1", "@icons-pack/react-simple-icons": "9.6.0", "@khmyznikov/pwa-install": "^0.3.9", "@langchain/community": "^0.2.31", "@lobehub/chat-plugin-sdk": "^1.32.4", "@lobehub/chat-plugins-gateway": "^1.9.0", - "@lobehub/icons": "^1.34.2", + "@lobehub/icons": "^1.35.3", "@lobehub/tts": "^1.24.3", "@lobehub/ui": "^1.150.3", "@neondatabase/serverless": "^0.9.4", @@ -235,6 +236,7 @@ "devDependencies": { "@commitlint/cli": "^19.4.0", "@edge-runtime/vm": "^4.0.2", + "@huggingface/tasks": "^0.12.12", "@lobehub/i18n-cli": "^1.19.1", "@lobehub/lint": "^1.24.4", "@lobehub/seo-cli": "^1.4.2", diff --git a/src/app/(main)/settings/llm/ProviderList/HuggingFace/index.tsx b/src/app/(main)/settings/llm/ProviderList/HuggingFace/index.tsx new file mode 100644 index 000000000000..87b0fbb92bb3 --- /dev/null +++ b/src/app/(main)/settings/llm/ProviderList/HuggingFace/index.tsx @@ -0,0 +1,53 @@ +'use client'; + +import { Markdown } from '@lobehub/ui'; +import { Input } from 'antd'; +import { createStyles } from 'antd-style'; +import { useTranslation } from 'react-i18next'; + +import { HuggingFaceProviderCard } from '@/config/modelProviders'; +import { GlobalLLMProviderKey } from '@/types/user/settings'; + +import { KeyVaultsConfigKey, LLMProviderApiTokenKey } from '../../const'; +import { ProviderItem } from '../../type'; + +const useStyles = createStyles(({ css, token }) => ({ + markdown: css` + p { + color: ${token.colorTextDescription} !important; + } + `, + tip: css` + font-size: 12px; + color: ${token.colorTextDescription}; + `, +})); + +const providerKey: GlobalLLMProviderKey = 'huggingface'; + +// Same as OpenAIProvider, but replace API Key with HuggingFace Access Token +export const useHuggingFaceProvider = (): ProviderItem => { + const { t } = useTranslation('modelProvider'); + const { styles } = useStyles(); + + return { + ...HuggingFaceProviderCard, + apiKeyItems: [ + { + children: ( + + ), + desc: ( + + {t(`${providerKey}.accessToken.desc`)} + + ), + label: t(`${providerKey}.accessToken.title`), + name: [KeyVaultsConfigKey, providerKey, LLMProviderApiTokenKey], + }, + ], + }; +}; diff --git a/src/app/(main)/settings/llm/ProviderList/providers.tsx b/src/app/(main)/settings/llm/ProviderList/providers.tsx index d07e93fe0546..3025c6b5fa39 100644 --- a/src/app/(main)/settings/llm/ProviderList/providers.tsx +++ b/src/app/(main)/settings/llm/ProviderList/providers.tsx @@ -31,6 +31,7 @@ import { ProviderItem } from '../type'; import { useAzureProvider } from './Azure'; import { useBedrockProvider } from './Bedrock'; import { useGithubProvider } from './Github'; +import { useHuggingFaceProvider } from './HuggingFace'; import { useOllamaProvider } from './Ollama'; import { useOpenAIProvider } from './OpenAI'; import { useWenxinProvider } from './Wenxin'; @@ -41,6 +42,7 @@ export const useProviderList = (): ProviderItem[] => { const OpenAIProvider = useOpenAIProvider(); const BedrockProvider = useBedrockProvider(); const GithubProvider = useGithubProvider(); + const HuggingFaceProvider = useHuggingFaceProvider(); const WenxinProvider = useWenxinProvider(); return useMemo( @@ -52,6 +54,7 @@ export const useProviderList = (): ProviderItem[] => { BedrockProvider, GoogleProviderCard, DeepSeekProviderCard, + HuggingFaceProvider, OpenRouterProviderCard, GithubProvider, NovitaProviderCard, @@ -76,6 +79,14 @@ export const useProviderList = (): ProviderItem[] => { TaichuProviderCard, SiliconCloudProviderCard, ], - [AzureProvider, OllamaProvider, OpenAIProvider, BedrockProvider, GithubProvider,WenxinProvider], + [ + AzureProvider, + OllamaProvider, + OpenAIProvider, + BedrockProvider, + GithubProvider, + WenxinProvider, + HuggingFaceProvider, + ], ); }; diff --git a/src/config/llm.ts b/src/config/llm.ts index b07ed60f6082..e8e3ddbd53b5 100644 --- a/src/config/llm.ts +++ b/src/config/llm.ts @@ -125,6 +125,11 @@ export const getLLMConfig = () => { ENABLED_HUNYUAN: z.boolean(), HUNYUAN_API_KEY: z.string().optional(), HUNYUAN_MODEL_LIST: z.string().optional(), + + ENABLED_HUGGINGFACE: z.boolean(), + HUGGINGFACE_API_KEY: z.string().optional(), + HUGGINGFACE_PROXY_URL: z.string().optional(), + HUGGINGFACE_MODEL_LIST: z.string().optional(), }, runtimeEnv: { API_KEY_SELECT_MODE: process.env.API_KEY_SELECT_MODE, @@ -247,6 +252,11 @@ export const getLLMConfig = () => { ENABLED_HUNYUAN: !!process.env.HUNYUAN_API_KEY, HUNYUAN_API_KEY: process.env.HUNYUAN_API_KEY, HUNYUAN_MODEL_LIST: process.env.HUNYUAN_MODEL_LIST, + + ENABLED_HUGGINGFACE: !!process.env.HUGGINGFACE_API_KEY, + HUGGINGFACE_API_KEY: process.env.HUGGINGFACE_API_KEY, + HUGGINGFACE_PROXY_URL: process.env.HUGGINGFACE_PROXY_URL, + HUGGINGFACE_MODEL_LIST: process.env.HUGGINGFACE_MODEL_LIST, }, }); }; diff --git a/src/config/modelProviders/huggingface.ts b/src/config/modelProviders/huggingface.ts new file mode 100644 index 000000000000..77c29ecb1f32 --- /dev/null +++ b/src/config/modelProviders/huggingface.ts @@ -0,0 +1,50 @@ +import { ModelProviderCard } from '@/types/llm'; + +const HuggingFace: ModelProviderCard = { + chatModels: [ + { + description: 'Mistral AI的指令调优模型', + displayName: 'Mistral 7B Instruct v0.2', + enabled: true, + id: 'mistralai/Mistral-7B-Instruct-v0.2', + tokens: 8192, + }, + { + description: '高质量多语言聊天模型,具有大型上下文长度', + displayName: 'Meta Llama 3.1 70B Instruct', + enabled: true, + id: 'meta-llama/Meta-Llama-3.1-70B-Instruct', + tokens: 32_768, + }, + { + description: '高质量多语言聊天模型,具有较大上下文长度', + displayName: 'Meta Llama 3.1 8B Instruct', + enabled: true, + id: 'meta-llama/Meta-Llama-3.1-8B-Instruct', + tokens: 8192, + }, + { + description: '最佳对话模型之一', + displayName: 'Llama 2 7B Chat', + id: 'meta-llama/Llama-2-7b-chat-hf', + tokens: 4096, + }, + { + description: 'Google的轻量级指令调优模型', + displayName: 'Gemma 2B Instruct', + id: 'google/gemma-2-2b-it', + tokens: 8192, + }, + ], + checkModel: 'mistralai/Mistral-7B-Instruct-v0.2', + description: + 'HuggingFace Inference API 提供了一种快速且免费的方式,让您可以探索成千上万种模型,适用于各种任务。无论您是在为新应用程序进行原型设计,还是在尝试机器学习的功能,这个 API 都能让您即时访问多个领域的高性能模型。', + disableBrowserRequest: true, + id: 'huggingface', + modelList: { showModelFetcher: true }, + modelsUrl: 'https://huggingface.co/docs/api-inference/en/supported-models', + name: 'HuggingFace', + url: 'https://huggingface.co', +}; + +export default HuggingFace; diff --git a/src/config/modelProviders/index.ts b/src/config/modelProviders/index.ts index 3cca8d0f813a..71cd88027e9d 100644 --- a/src/config/modelProviders/index.ts +++ b/src/config/modelProviders/index.ts @@ -11,6 +11,7 @@ import FireworksAIProvider from './fireworksai'; import GithubProvider from './github'; import GoogleProvider from './google'; import GroqProvider from './groq'; +import HuggingFaceProvider from './huggingface'; import HunyuanProvider from './hunyuan'; import MinimaxProvider from './minimax'; import MistralProvider from './mistral'; @@ -49,6 +50,7 @@ export const LOBE_DEFAULT_MODEL_LIST: ChatModelCard[] = [ FireworksAIProvider.chatModels, PerplexityProvider.chatModels, AnthropicProvider.chatModels, + HuggingFaceProvider.chatModels, ZeroOneProvider.chatModels, StepfunProvider.chatModels, NovitaProvider.chatModels, @@ -71,6 +73,7 @@ export const DEFAULT_MODEL_PROVIDER_LIST = [ BedrockProvider, GoogleProvider, DeepSeekProvider, + HuggingFaceProvider, OpenRouterProvider, GithubProvider, NovitaProvider, @@ -116,6 +119,7 @@ export { default as FireworksAIProviderCard } from './fireworksai'; export { default as GithubProviderCard } from './github'; export { default as GoogleProviderCard } from './google'; export { default as GroqProviderCard } from './groq'; +export { default as HuggingFaceProviderCard } from './huggingface'; export { default as HunyuanProviderCard } from './hunyuan'; export { default as MinimaxProviderCard } from './minimax'; export { default as MistralProviderCard } from './mistral'; diff --git a/src/const/settings/llm.ts b/src/const/settings/llm.ts index d22d1e55d4b0..276acbef243d 100644 --- a/src/const/settings/llm.ts +++ b/src/const/settings/llm.ts @@ -9,6 +9,7 @@ import { GithubProviderCard, GoogleProviderCard, GroqProviderCard, + HuggingFaceProviderCard, HunyuanProviderCard, MinimaxProviderCard, MistralProviderCard, @@ -77,6 +78,10 @@ export const DEFAULT_LLM_CONFIG: UserModelProviderConfig = { enabled: false, enabledModels: filterEnabledModels(GroqProviderCard), }, + huggingface: { + enabled: false, + enabledModels: filterEnabledModels(HuggingFaceProviderCard), + }, hunyuan: { enabled: false, enabledModels: filterEnabledModels(HunyuanProviderCard), diff --git a/src/features/Conversation/Error/index.tsx b/src/features/Conversation/Error/index.tsx index 2b3627ea79e2..cad3b1ac7780 100644 --- a/src/features/Conversation/Error/index.tsx +++ b/src/features/Conversation/Error/index.tsx @@ -34,6 +34,7 @@ const getErrorAlertConfig = ( }; switch (errorType) { + case AgentRuntimeErrorType.PermissionDenied: case AgentRuntimeErrorType.QuotaLimitReached: case AgentRuntimeErrorType.LocationNotSupportError: { return { diff --git a/src/libs/agent-runtime/AgentRuntime.ts b/src/libs/agent-runtime/AgentRuntime.ts index d6efbd985615..a55a811e56b0 100644 --- a/src/libs/agent-runtime/AgentRuntime.ts +++ b/src/libs/agent-runtime/AgentRuntime.ts @@ -14,6 +14,7 @@ import { LobeFireworksAI } from './fireworksai'; import { LobeGithubAI } from './github'; import { LobeGoogleAI } from './google'; import { LobeGroq } from './groq'; +import { LobeHuggingFaceAI } from './huggingface'; import { LobeHunyuanAI } from './hunyuan'; import { LobeMinimaxAI } from './minimax'; import { LobeMistralAI } from './mistral'; @@ -134,6 +135,7 @@ class AgentRuntime { github: Partial; google: { apiKey?: string; baseURL?: string }; groq: Partial; + huggingface: { apiKey?: string; baseURL?: string }; hunyuan: Partial; minimax: Partial; mistral: Partial; @@ -213,6 +215,11 @@ class AgentRuntime { break; } + case ModelProvider.HuggingFace: { + runtimeModel = new LobeHuggingFaceAI(params.huggingface); + break; + } + case ModelProvider.Minimax: { runtimeModel = new LobeMinimaxAI(params.minimax); break; diff --git a/src/libs/agent-runtime/error.ts b/src/libs/agent-runtime/error.ts index fd919addbf1a..2d8e6f34cb57 100644 --- a/src/libs/agent-runtime/error.ts +++ b/src/libs/agent-runtime/error.ts @@ -4,6 +4,7 @@ export const AgentRuntimeErrorType = { AgentRuntimeError: 'AgentRuntimeError', // Agent Runtime 模块运行时错误 LocationNotSupportError: 'LocationNotSupportError', QuotaLimitReached: 'QuotaLimitReached', + PermissionDenied: 'PermissionDenied', InvalidProviderAPIKey: 'InvalidProviderAPIKey', ProviderBizError: 'ProviderBizError', diff --git a/src/libs/agent-runtime/groq/index.ts b/src/libs/agent-runtime/groq/index.ts index 9099b80db8c0..de6700fe7a8a 100644 --- a/src/libs/agent-runtime/groq/index.ts +++ b/src/libs/agent-runtime/groq/index.ts @@ -6,7 +6,7 @@ export const LobeGroq = LobeOpenAICompatibleFactory({ baseURL: 'https://api.groq.com/openai/v1', chatCompletion: { handleError: (error) => { - // 403 means the location is not supporteds + // 403 means the location is not supported if (error.status === 403) return { error, errorType: AgentRuntimeErrorType.LocationNotSupportError }; }, diff --git a/src/libs/agent-runtime/huggingface/index.ts b/src/libs/agent-runtime/huggingface/index.ts new file mode 100644 index 000000000000..78aa41b36fab --- /dev/null +++ b/src/libs/agent-runtime/huggingface/index.ts @@ -0,0 +1,48 @@ +import { HfInference } from '@huggingface/inference'; + +import { AgentRuntimeErrorType } from '../error'; +import { ModelProvider } from '../types'; +import { LobeOpenAICompatibleFactory } from '../utils/openaiCompatibleFactory'; +import { convertIterableToStream } from '../utils/streams'; + +export const LobeHuggingFaceAI = LobeOpenAICompatibleFactory({ + chatCompletion: { + handleStreamBizErrorType: (error) => { + // e.g.: Server meta-llama/Meta-Llama-3.1-8B-Instruct does not seem to support chat completion. Error: Model requires a Pro subscription; check out hf.co/pricing to learn more. Make sure to include your HF token in your query. + if (error.message?.includes('Model requires a Pro subscription')) { + return AgentRuntimeErrorType.PermissionDenied; + } + + // e.g.: Server meta-llama/Meta-Llama-3.1-8B-Instruct does not seem to support chat completion. Error: Authorization header is correct, but the token seems invalid + if (error.message?.includes('the token seems invalid')) { + return AgentRuntimeErrorType.InvalidProviderAPIKey; + } + }, + }, + customClient: { + createChatCompletionStream: (client: HfInference, payload, instance) => { + const hfRes = client.chatCompletionStream({ + endpointUrl: instance.baseURL, + messages: payload.messages, + model: payload.model, + stream: true, + temperature: payload.temperature, + // `top_p` must be > 0.0 and < 1.0 + top_p: payload?.top_p + ? payload?.top_p >= 1 + ? 0.99 + : payload?.top_p <= 0 + ? 0.01 + : payload?.top_p + : undefined, + }); + + return convertIterableToStream(hfRes); + }, + createClient: (options) => new HfInference(options.apiKey), + }, + debug: { + chatCompletion: () => process.env.DEBUG_HUGGINGFACE_CHAT_COMPLETION === '1', + }, + provider: ModelProvider.HuggingFace, +}); diff --git a/src/libs/agent-runtime/types/type.ts b/src/libs/agent-runtime/types/type.ts index 59a2fc03b8be..c870a9c462a8 100644 --- a/src/libs/agent-runtime/types/type.ts +++ b/src/libs/agent-runtime/types/type.ts @@ -33,6 +33,7 @@ export enum ModelProvider { Github = 'github', Google = 'google', Groq = 'groq', + HuggingFace = 'huggingface', Hunyuan = 'hunyuan', Minimax = 'minimax', Mistral = 'mistral', diff --git a/src/libs/agent-runtime/utils/openaiCompatibleFactory/index.ts b/src/libs/agent-runtime/utils/openaiCompatibleFactory/index.ts index 90331b73c63f..3e9ae8214568 100644 --- a/src/libs/agent-runtime/utils/openaiCompatibleFactory/index.ts +++ b/src/libs/agent-runtime/utils/openaiCompatibleFactory/index.ts @@ -1,4 +1,5 @@ import OpenAI, { ClientOptions } from 'openai'; +import { Stream } from 'openai/streaming'; import { LOBE_DEFAULT_MODEL_LIST } from '@/config/modelProviders'; import { ChatModelCard } from '@/types/llm'; @@ -22,7 +23,7 @@ import { desensitizeUrl } from '../desensitizeUrl'; import { handleOpenAIError } from '../handleOpenAIError'; import { convertOpenAIMessages } from '../openaiHelpers'; import { StreamingResponse } from '../response'; -import { OpenAIStream } from '../streams'; +import { OpenAIStream, OpenAIStreamOptions } from '../streams'; // the model contains the following keywords is not a chat model, so we should filter them out const CHAT_MODELS_BLOCK_LIST = [ @@ -39,6 +40,15 @@ const CHAT_MODELS_BLOCK_LIST = [ type ConstructorOptions = any> = ClientOptions & T; +export interface CustomClientOptions = any> { + createChatCompletionStream?: ( + client: any, + payload: ChatStreamPayload, + instance: any, + ) => ReadableStream; + createClient?: (options: ConstructorOptions) => any; +} + interface OpenAICompatibleFactoryOptions = any> { baseURL?: string; chatCompletion?: { @@ -50,9 +60,14 @@ interface OpenAICompatibleFactoryOptions = any> { payload: ChatStreamPayload, options: ConstructorOptions, ) => OpenAI.ChatCompletionCreateParamsStreaming; + handleStreamBizErrorType?: (error: { + message: string; + name: string; + }) => ILobeAgentRuntimeErrorType | undefined; noUserId?: boolean; }; constructorOptions?: ConstructorOptions; + customClient?: CustomClientOptions; debug?: { chatCompletion: () => boolean; }; @@ -129,6 +144,7 @@ export const LobeOpenAICompatibleFactory = = any> constructorOptions, chatCompletion, models, + customClient, }: OpenAICompatibleFactoryOptions) => { const ErrorType = { bizError: errorType?.bizError || AgentRuntimeErrorType.ProviderBizError, @@ -136,9 +152,9 @@ export const LobeOpenAICompatibleFactory = = any> }; return class LobeOpenAICompatibleAI implements LobeRuntimeAI { - client: OpenAI; + client!: OpenAI; - baseURL: string; + baseURL!: string; private _options: ConstructorOptions; constructor(options: ClientOptions & Record = {}) { @@ -148,8 +164,16 @@ export const LobeOpenAICompatibleFactory = = any> if (!apiKey) throw AgentRuntimeError.createError(ErrorType?.invalidAPIKey); - this.client = new OpenAI({ apiKey, baseURL, ...constructorOptions, ...res }); - this.baseURL = this.client.baseURL; + const initOptions = { apiKey, baseURL, ...constructorOptions, ...res }; + + // if the custom client is provided, use it as client + if (customClient?.createClient) { + this.client = customClient.createClient(initOptions as any); + } else { + this.client = new OpenAI(initOptions); + } + + this.baseURL = baseURL || this.client.baseURL; } async chat({ responseMode, ...payload }: ChatStreamPayload, options?: ChatCompetitionOptions) { @@ -163,27 +187,41 @@ export const LobeOpenAICompatibleFactory = = any> const messages = await convertOpenAIMessages(postPayload.messages); - const response = await this.client.chat.completions.create( - { - ...postPayload, - messages, - ...(chatCompletion?.noUserId ? {} : { user: options?.user }), - }, - { - // https://github.com/lobehub/lobe-chat/pull/318 - headers: { Accept: '*/*' }, - signal: options?.signal, - }, - ); + let response: Stream; + + const streamOptions: OpenAIStreamOptions = { + bizErrorTypeTransformer: chatCompletion?.handleStreamBizErrorType, + callbacks: options?.callback, + provider, + }; + if (customClient?.createChatCompletionStream) { + response = customClient.createChatCompletionStream(this.client, payload, this) as any; + } else { + response = await this.client.chat.completions.create( + { + ...postPayload, + messages, + ...(chatCompletion?.noUserId ? {} : { user: options?.user }), + }, + { + // https://github.com/lobehub/lobe-chat/pull/318 + headers: { Accept: '*/*' }, + signal: options?.signal, + }, + ); + } if (postPayload.stream) { const [prod, useForDebug] = response.tee(); if (debug?.chatCompletion?.()) { - debugStream(useForDebug.toReadableStream()).catch(console.error); + const useForDebugStream = + useForDebug instanceof ReadableStream ? useForDebug : useForDebug.toReadableStream(); + + debugStream(useForDebugStream).catch(console.error); } - return StreamingResponse(OpenAIStream(prod, options?.callback), { + return StreamingResponse(OpenAIStream(prod, streamOptions), { headers: options?.headers, }); } @@ -196,7 +234,7 @@ export const LobeOpenAICompatibleFactory = = any> const stream = transformResponseToStream(response as unknown as OpenAI.ChatCompletion); - return StreamingResponse(OpenAIStream(stream, options?.callback), { + return StreamingResponse(OpenAIStream(stream, streamOptions), { headers: options?.headers, }); } catch (error) { diff --git a/src/libs/agent-runtime/utils/streams/openai.test.ts b/src/libs/agent-runtime/utils/streams/openai.test.ts index 2187ecb2ec91..a393ee10f3dd 100644 --- a/src/libs/agent-runtime/utils/streams/openai.test.ts +++ b/src/libs/agent-runtime/utils/streams/openai.test.ts @@ -1,6 +1,9 @@ import { describe, expect, it, vi } from 'vitest'; +import { AgentRuntimeErrorType } from '@/libs/agent-runtime'; + import { OpenAIStream } from './openai'; +import { FIRST_CHUNK_ERROR_KEY } from './protocol'; describe('OpenAIStream', () => { it('should transform OpenAI stream to protocol stream', async () => { @@ -45,10 +48,12 @@ describe('OpenAIStream', () => { const onCompletionMock = vi.fn(); const protocolStream = OpenAIStream(mockOpenAIStream, { - onStart: onStartMock, - onText: onTextMock, - onToken: onTokenMock, - onCompletion: onCompletionMock, + callbacks: { + onStart: onStartMock, + onText: onTextMock, + onToken: onTokenMock, + onCompletion: onCompletionMock, + }, }); const decoder = new TextDecoder(); @@ -189,7 +194,9 @@ describe('OpenAIStream', () => { const onToolCallMock = vi.fn(); const protocolStream = OpenAIStream(mockOpenAIStream, { - onToolCall: onToolCallMock, + callbacks: { + onToolCall: onToolCallMock, + }, }); const decoder = new TextDecoder(); @@ -281,6 +288,66 @@ describe('OpenAIStream', () => { ); }); + it('should handle FIRST_CHUNK_ERROR_KEY', async () => { + const mockOpenAIStream = new ReadableStream({ + start(controller) { + controller.enqueue({ + [FIRST_CHUNK_ERROR_KEY]: true, + errorType: AgentRuntimeErrorType.ProviderBizError, + message: 'Test error', + }); + controller.close(); + }, + }); + + const protocolStream = OpenAIStream(mockOpenAIStream); + + const decoder = new TextDecoder(); + const chunks = []; + + // @ts-ignore + for await (const chunk of protocolStream) { + chunks.push(decoder.decode(chunk, { stream: true })); + } + + expect(chunks).toEqual([ + 'id: first_chunk_error\n', + 'event: error\n', + `data: {"body":{"errorType":"ProviderBizError","message":"Test error"},"type":"ProviderBizError"}\n\n`, + ]); + }); + + it('should use bizErrorTypeTransformer', async () => { + const mockOpenAIStream = new ReadableStream({ + start(controller) { + controller.enqueue( + '%FIRST_CHUNK_ERROR%: ' + + JSON.stringify({ message: 'Custom error', name: 'CustomError' }), + ); + controller.close(); + }, + }); + + const protocolStream = OpenAIStream(mockOpenAIStream, { + bizErrorTypeTransformer: () => AgentRuntimeErrorType.PermissionDenied, + provider: 'grok', + }); + + const decoder = new TextDecoder(); + const chunks = []; + + // @ts-ignore + for await (const chunk of protocolStream) { + chunks.push(decoder.decode(chunk, { stream: true })); + } + + expect(chunks).toEqual([ + 'id: first_chunk_error\n', + 'event: error\n', + `data: {"body":{"message":"Custom error","errorType":"PermissionDenied","provider":"grok"},"type":"PermissionDenied"}\n\n`, + ]); + }); + describe('Tools Calling', () => { it('should handle OpenAI official tool calls', async () => { const mockOpenAIStream = new ReadableStream({ @@ -316,7 +383,9 @@ describe('OpenAIStream', () => { const onToolCallMock = vi.fn(); const protocolStream = OpenAIStream(mockOpenAIStream, { - onToolCall: onToolCallMock, + callbacks: { + onToolCall: onToolCallMock, + }, }); const decoder = new TextDecoder(); @@ -447,7 +516,9 @@ describe('OpenAIStream', () => { const onToolCallMock = vi.fn(); const protocolStream = OpenAIStream(mockOpenAIStream, { - onToolCall: onToolCallMock, + callbacks: { + onToolCall: onToolCallMock, + }, }); const decoder = new TextDecoder(); diff --git a/src/libs/agent-runtime/utils/streams/openai.ts b/src/libs/agent-runtime/utils/streams/openai.ts index 0f01f07e26b4..24670146db41 100644 --- a/src/libs/agent-runtime/utils/streams/openai.ts +++ b/src/libs/agent-runtime/utils/streams/openai.ts @@ -3,14 +3,17 @@ import type { Stream } from 'openai/streaming'; import { ChatMessageError } from '@/types/message'; +import { AgentRuntimeErrorType, ILobeAgentRuntimeErrorType } from '../../error'; import { ChatStreamCallbacks } from '../../types'; import { + FIRST_CHUNK_ERROR_KEY, StreamProtocolChunk, StreamProtocolToolCallChunk, StreamStack, StreamToolCallChunkData, convertIterableToStream, createCallbacksTransformer, + createFirstErrorHandleTransformer, createSSEProtocolTransformer, generateToolCallId, } from './protocol'; @@ -19,6 +22,21 @@ export const transformOpenAIStream = ( chunk: OpenAI.ChatCompletionChunk, stack?: StreamStack, ): StreamProtocolChunk => { + // handle the first chunk error + if (FIRST_CHUNK_ERROR_KEY in chunk) { + delete chunk[FIRST_CHUNK_ERROR_KEY]; + // @ts-ignore + delete chunk['name']; + // @ts-ignore + delete chunk['stack']; + + const errorData = { + body: chunk, + type: 'errorType' in chunk ? chunk.errorType : AgentRuntimeErrorType.ProviderBizError, + } as ChatMessageError; + return { data: errorData, id: 'first_chunk_error', type: 'error' }; + } + // maybe need another structure to add support for multiple choices try { @@ -97,7 +115,7 @@ export const transformOpenAIStream = ( 'chat response streaming chunk parse error, please contact your API Provider to fix it.', context: { error: { message: err.message, name: err.name }, chunk }, }, - type: 'StreamChunkError', + type: errorName, } as ChatMessageError; /* eslint-enable */ @@ -105,16 +123,31 @@ export const transformOpenAIStream = ( } }; +export interface OpenAIStreamOptions { + bizErrorTypeTransformer?: (error: { + message: string; + name: string; + }) => ILobeAgentRuntimeErrorType | undefined; + callbacks?: ChatStreamCallbacks; + provider?: string; +} + export const OpenAIStream = ( stream: Stream | ReadableStream, - callbacks?: ChatStreamCallbacks, + { callbacks, provider, bizErrorTypeTransformer }: OpenAIStreamOptions = {}, ) => { const streamStack: StreamStack = { id: '' }; const readableStream = stream instanceof ReadableStream ? stream : convertIterableToStream(stream); - return readableStream - .pipeThrough(createSSEProtocolTransformer(transformOpenAIStream, streamStack)) - .pipeThrough(createCallbacksTransformer(callbacks)); + return ( + readableStream + // 1. handle the first error if exist + // provider like huggingface or minimax will return error in the stream, + // so in the first Transformer, we need to handle the error + .pipeThrough(createFirstErrorHandleTransformer(bizErrorTypeTransformer, provider)) + .pipeThrough(createSSEProtocolTransformer(transformOpenAIStream, streamStack)) + .pipeThrough(createCallbacksTransformer(callbacks)) + ); }; diff --git a/src/libs/agent-runtime/utils/streams/protocol.ts b/src/libs/agent-runtime/utils/streams/protocol.ts index ecbe9a93c2ae..dade76f2dc4f 100644 --- a/src/libs/agent-runtime/utils/streams/protocol.ts +++ b/src/libs/agent-runtime/utils/streams/protocol.ts @@ -1,7 +1,7 @@ -import { readableFromAsyncIterable } from 'ai'; - import { ChatStreamCallbacks } from '@/libs/agent-runtime'; +import { AgentRuntimeErrorType } from '../../error'; + export interface StreamStack { id: string; tool?: { @@ -38,17 +38,52 @@ export interface StreamProtocolToolCallChunk { export const generateToolCallId = (index: number, functionName?: string) => `${functionName || 'unknown_tool_call'}_${index}`; -export const chatStreamable = async function* (stream: AsyncIterable) { +const chatStreamable = async function* (stream: AsyncIterable) { for await (const response of stream) { yield response; } }; +const ERROR_CHUNK_PREFIX = '%FIRST_CHUNK_ERROR%: '; // make the response to the streamable format export const convertIterableToStream = (stream: AsyncIterable) => { - return readableFromAsyncIterable(chatStreamable(stream)); + const iterable = chatStreamable(stream); + + // copy from https://github.com/vercel/ai/blob/d3aa5486529e3d1a38b30e3972b4f4c63ea4ae9a/packages/ai/streams/ai-stream.ts#L284 + // and add an error handle + let it = iterable[Symbol.asyncIterator](); + + return new ReadableStream({ + async cancel(reason) { + await it.return?.(reason); + }, + async pull(controller) { + const { done, value } = await it.next(); + if (done) controller.close(); + else controller.enqueue(value); + }, + + async start(controller) { + try { + const { done, value } = await it.next(); + if (done) controller.close(); + else controller.enqueue(value); + } catch (e) { + const error = e as Error; + + controller.enqueue( + (ERROR_CHUNK_PREFIX + + JSON.stringify({ message: error.message, name: error.name, stack: error.stack })) as T, + ); + controller.close(); + } + }, + }); }; +/** + * Create a transformer to convert the response into an SSE format + */ export const createSSEProtocolTransformer = ( transformer: (chunk: any, stack: StreamStack) => StreamProtocolChunk, streamStack?: StreamStack, @@ -111,3 +146,27 @@ export function createCallbacksTransformer(cb: ChatStreamCallbacks | undefined) }, }); } + +export const FIRST_CHUNK_ERROR_KEY = '_isFirstChunkError'; + +export const createFirstErrorHandleTransformer = ( + errorHandler?: (errorJson: any) => any, + provider?: string, +) => { + return new TransformStream({ + transform(chunk, controller) { + if (chunk.toString().startsWith(ERROR_CHUNK_PREFIX)) { + const errorData = JSON.parse(chunk.toString().replace(ERROR_CHUNK_PREFIX, '')); + + controller.enqueue({ + ...errorData, + [FIRST_CHUNK_ERROR_KEY]: true, + errorType: errorHandler?.(errorData) || AgentRuntimeErrorType.ProviderBizError, + provider, + }); + } else { + controller.enqueue(chunk); + } + }, + }); +}; diff --git a/src/locales/default/error.ts b/src/locales/default/error.ts index 217604583f89..9f35496f7483 100644 --- a/src/locales/default/error.ts +++ b/src/locales/default/error.ts @@ -80,8 +80,8 @@ export default { LocationNotSupportError: '很抱歉,你的所在地区不支持此模型服务,可能是由于区域限制或服务未开通。请确认当前地区是否支持使用此服务,或尝试使用切换到其他地区后重试。', QuotaLimitReached: - '很抱歉,当前 Token 用量或请求次数已达该秘钥的配额(quota)上限,请增加该秘钥的配额或稍后再试', - + '很抱歉,当前 Token 用量或请求次数已达该密钥的配额(quota)上限,请增加该密钥的配额或稍后再试', + PermissionDenied: '很抱歉,你没有权限访问该服务,请检查你的密钥是否有访问权限', InvalidProviderAPIKey: '{{provider}} API Key 不正确或为空,请检查 {{provider}} API Key 后重试', ProviderBizError: '请求 {{provider}} 服务出错,请根据以下信息排查或重试', /** diff --git a/src/locales/default/modelProvider.ts b/src/locales/default/modelProvider.ts index 964413157fbb..30e0a78ca161 100644 --- a/src/locales/default/modelProvider.ts +++ b/src/locales/default/modelProvider.ts @@ -54,11 +54,18 @@ export default { }, github: { personalAccessToken: { - desc: '填入你的 Github PAT,点击[这里](https://github.com/settings/tokens) 创建', + desc: '填入你的 Github PAT,点击 [这里](https://github.com/settings/tokens) 创建', placeholder: 'ghp_xxxxxx', title: 'Github PAT', }, }, + huggingface: { + accessToken: { + desc: '填入你的 HuggingFace Token,点击 [这里](https://huggingface.co/settings/tokens) 创建', + placeholder: 'hf_xxxxxxxxx', + title: 'HuggingFace Token', + }, + }, ollama: { checker: { desc: '测试代理地址是否正确填写', diff --git a/src/server/globalConfig/index.ts b/src/server/globalConfig/index.ts index f26ddd83ae69..4297b81c21fd 100644 --- a/src/server/globalConfig/index.ts +++ b/src/server/globalConfig/index.ts @@ -9,6 +9,7 @@ import { GithubProviderCard, GoogleProviderCard, GroqProviderCard, + HuggingFaceProviderCard, HunyuanProviderCard, NovitaProviderCard, OllamaProviderCard, @@ -98,6 +99,9 @@ export const getServerGlobalConfig = () => { FIREWORKSAI_MODEL_LIST, ENABLED_WENXIN, + + ENABLED_HUGGINGFACE, + HUGGINGFACE_MODEL_LIST, } = getLLMConfig(); const config: GlobalServerConfig = { @@ -166,6 +170,14 @@ export const getServerGlobalConfig = () => { modelString: GROQ_MODEL_LIST, }), }, + huggingface: { + enabled: ENABLED_HUGGINGFACE, + enabledModels: extractEnabledModels(HUGGINGFACE_MODEL_LIST), + serverModelCards: transformToChatModelCards({ + defaultChatModels: HuggingFaceProviderCard.chatModels, + modelString: HUGGINGFACE_MODEL_LIST, + }), + }, hunyuan: { enabled: ENABLED_HUNYUAN, enabledModels: extractEnabledModels(HUNYUAN_MODEL_LIST), @@ -202,7 +214,6 @@ export const getServerGlobalConfig = () => { modelString: OPENAI_MODEL_LIST, }), }, - openrouter: { enabled: ENABLED_OPENROUTER, enabledModels: extractEnabledModels(OPENROUTER_MODEL_LIST), diff --git a/src/server/modules/AgentRuntime/index.ts b/src/server/modules/AgentRuntime/index.ts index f215a6ea0004..69998915c6d4 100644 --- a/src/server/modules/AgentRuntime/index.ts +++ b/src/server/modules/AgentRuntime/index.ts @@ -225,6 +225,16 @@ const getLlmOptionsFromPayload = (provider: string, payload: JWTPayload) => { return { apiKey, baseURL }; } + + case ModelProvider.HuggingFace: { + const { HUGGINGFACE_PROXY_URL, HUGGINGFACE_API_KEY } = getLLMConfig(); + + const apiKey = apiKeyManager.pick(payload?.apiKey || HUGGINGFACE_API_KEY); + const baseURL = payload?.endpoint || HUGGINGFACE_PROXY_URL; + + return { apiKey, baseURL }; + } + case ModelProvider.Upstage: { const { UPSTAGE_API_KEY } = getLLMConfig(); diff --git a/src/types/user/settings/keyVaults.ts b/src/types/user/settings/keyVaults.ts index 1134a768996a..518bf7bafdb7 100644 --- a/src/types/user/settings/keyVaults.ts +++ b/src/types/user/settings/keyVaults.ts @@ -33,6 +33,7 @@ export interface UserKeyVaults { github?: OpenAICompatibleKeyVault; google?: OpenAICompatibleKeyVault; groq?: OpenAICompatibleKeyVault; + huggingface?: OpenAICompatibleKeyVault; hunyuan?: OpenAICompatibleKeyVault; lobehub?: any; minimax?: OpenAICompatibleKeyVault;