Skip to content

Commit

Permalink
✨ feat: add HuggingFace Model Provider (#4225)
Browse files Browse the repository at this point in the history
* 🚧 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
  • Loading branch information
arvinxx authored Oct 12, 2024
1 parent 4722444 commit d310931
Show file tree
Hide file tree
Showing 90 changed files with 954 additions and 140 deletions.
1 change: 1 addition & 0 deletions locales/ar/error.json
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@
"OllamaBizError": "خطأ في طلب خدمة Ollama، يرجى التحقق من المعلومات التالية أو إعادة المحاولة",
"OllamaServiceUnavailable": "خدمة Ollama غير متوفرة، يرجى التحقق من تشغيل Ollama بشكل صحيح أو إعدادات الـ Ollama للاتصال عبر النطاقات",
"OpenAIBizError": "طلب خدمة OpenAI خاطئ، يرجى التحقق من المعلومات التالية أو إعادة المحاولة",
"PermissionDenied": "عذرًا، ليس لديك إذن للوصول إلى هذه الخدمة، يرجى التحقق مما إذا كانت مفاتيحك تمتلك إذن الوصول",
"PluginApiNotFound": "عذرًا، لا يوجد API للإضافة في وصف الإضافة، يرجى التحقق من تطابق طريقة الطلب الخاصة بك مع API الوصف",
"PluginApiParamsError": "عذرًا، فشلت التحقق من صحة معلمات الطلب للإضافة، يرجى التحقق من تطابق المعلمات مع معلومات الوصف",
"PluginFailToTransformArguments": "عذرًا، فشل تحويل معلمات استدعاء الإضافة، يرجى محاولة إعادة إنشاء رسالة المساعد أو تجربة نموذج AI ذو قدرات استدعاء أقوى",
Expand Down
7 changes: 7 additions & 0 deletions locales/ar/modelProvider.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,13 @@
"title": "GitHub PAT"
}
},
"huggingface": {
"accessToken": {
"desc": "أدخل رمز HuggingFace الخاص بك، انقر [هنا](https://huggingface.co/settings/tokens) لإنشاء واحد",
"placeholder": "hf_xxxxxxxxx",
"title": "رمز HuggingFace"
}
},
"ollama": {
"checker": {
"desc": "اختبر ما إذا تم إدخال عنوان الوكيل بشكل صحيح",
Expand Down
24 changes: 18 additions & 6 deletions locales/ar/models.json
Original file line number Diff line number Diff line change
Expand Up @@ -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."
},
Expand Down Expand Up @@ -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 يوفر قدرة معالجة معقدة لا مثيل لها، مصمم خصيصًا للمشاريع ذات المتطلبات العالية."
},
Expand Down Expand Up @@ -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) هو نموذج دردشة قوي، يدعم احتياجات الحوار المعقدة."
},
Expand Down Expand Up @@ -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 في تفضيلات الدردشة."
Expand Down Expand Up @@ -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."
Expand Down
3 changes: 3 additions & 0 deletions locales/ar/providers.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@
"groq": {
"description": "يتميز محرك الاستدلال LPU من Groq بأداء ممتاز في أحدث اختبارات المعايير لنماذج اللغة الكبيرة المستقلة (LLM)، حيث أعاد تعريف معايير حلول الذكاء الاصطناعي بسرعته وكفاءته المذهلة. Groq يمثل سرعة استدلال فورية، ويظهر أداءً جيدًا في النشر القائم على السحابة."
},
"huggingface": {
"description": "تقدم واجهة برمجة التطبيقات الخاصة بـ HuggingFace طريقة سريعة ومجانية لاستكشاف الآلاف من النماذج لمجموعة متنوعة من المهام. سواء كنت تقوم بتصميم نموذج أولي لتطبيق جديد أو تحاول استكشاف إمكانيات التعلم الآلي، فإن هذه الواجهة تتيح لك الوصول الفوري إلى نماذج عالية الأداء في مجالات متعددة."
},
"hunyuan": {
"description": "نموذج لغة متقدم تم تطويره بواسطة Tencent، يتمتع بقدرة قوية على الإبداع باللغة الصينية، وقدرة على الاستدلال المنطقي في سياقات معقدة، بالإضافة إلى قدرة موثوقة على تنفيذ المهام."
},
Expand Down
1 change: 1 addition & 0 deletions locales/bg-BG/error.json
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@
"OllamaBizError": "Грешка при заявка към услугата Ollama, моля, отстранете неизправностите или опитайте отново въз основа на следната информация",
"OllamaServiceUnavailable": "Услугата Ollama не е налична. Моля, проверете дали Ollama работи правилно или дали е конфигуриран коректно за междудомейност.",
"OpenAIBizError": "Грешка в услугата на OpenAI, моля проверете следната информация или опитайте отново",
"PermissionDenied": "Съжаляваме, нямате разрешение да достъпвате тази услуга. Моля, проверете дали вашият ключ има необходимите права за достъп.",
"PluginApiNotFound": "Съжаляваме, API не съществува в манифеста на плъгина. Моля, проверете дали методът на вашата заявка съвпада с API на манифеста на плъгина",
"PluginApiParamsError": "Съжаляваме, проверката на входния параметър за заявката на плъгина е неуспешна. Моля, проверете дали входните параметри съвпадат с описанието на API",
"PluginFailToTransformArguments": "Съжаляваме, неуспешно преобразуване на аргументите за извикване на плъгин. Моля, опитайте отново да генерирате съобщението на помощника или опитайте с по-мощна AI модел на Tools Calling.",
Expand Down
7 changes: 7 additions & 0 deletions locales/bg-BG/modelProvider.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,13 @@
"title": "GitHub PAT"
}
},
"huggingface": {
"accessToken": {
"desc": "Въведете вашия HuggingFace токен, кликнете [тук](https://huggingface.co/settings/tokens), за да създадете",
"placeholder": "hf_xxxxxxxxx",
"title": "HuggingFace токен"
}
},
"ollama": {
"checker": {
"desc": "Тестване дали адресът на прокси е попълнен правилно",
Expand Down
24 changes: 18 additions & 6 deletions locales/bg-BG/models.json
Original file line number Diff line number Diff line change
Expand Up @@ -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."
},
Expand Down Expand Up @@ -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 предлага ненадмината способност за обработка на сложност, проектирана за високи изисквания."
},
Expand Down Expand Up @@ -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) е мощен чат модел, поддържащ сложни изисквания за диалог."
},
Expand Down Expand Up @@ -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 в предпочитанията за чат."
Expand Down Expand Up @@ -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."
Expand Down
Loading

0 comments on commit d310931

Please sign in to comment.