Skip to content

Commit

Permalink
✨ feat: fully support ollama with browser request mode (lobehub#2168)
Browse files Browse the repository at this point in the history
* 🌐 style: add i18n

* 🐛 fix: fix ollama chat error

* 💄 style: improve ollama request mode

* 🚸 style: improve ollama setup guide

* 📝 docs: remove v1 suffix

* 🐛 fix: keep server mode if user use proxy
  • Loading branch information
arvinxx authored Apr 24, 2024
1 parent 32aeb52 commit 562d189
Show file tree
Hide file tree
Showing 93 changed files with 851 additions and 514 deletions.
2 changes: 1 addition & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ OPENAI_API_KEY=sk-xxxxxxxxx
# You can use ollama to get and run LLM locally, learn more about it via https://github.com/ollama/ollama

# The local/remote ollama service url
# OLLAMA_PROXY_URL=http://127.0.0.1:11434/v1
# OLLAMA_PROXY_URL=http://127.0.0.1:11434

# OLLAMA_MODEL_LIST=your_ollama_model_names

Expand Down
2 changes: 1 addition & 1 deletion docs/self-hosting/environment-variables/model-provider.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ If you need to use Azure OpenAI to provide model services, you can refer to the
- Type: Required
- Description: Used to enable the Ollama service, setting this will display optional open-source language models in the language model list and can also specify custom language models
- Default: -
- Example: `http://127.0.0.1:11434/v1`
- Example: `http://127.0.0.1:11434`

### `OLLAMA_MODEL_LIST`

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ LobeChat 在部署时提供了丰富的模型服务商相关的环境变量,
- 类型:必选
- 描述:用于启用 Ollama 服务,设置后可在语言模型列表内展示可选开源语言模型,也可以指定自定义语言模型
- 默认值:-
- 示例:`http://127.0.0.1:11434/v1`
- 示例:`http://127.0.0.1:11434`

### `OLLAMA_MODEL_LIST`

Expand Down
1 change: 0 additions & 1 deletion docs/self-hosting/examples/ollama.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@ If Ollama is run as a macOS application, environment variables should be set usi

2. Restart Ollama application.


### Setting environment variables on Linux

If Ollama is run as a systemd service, environment variables should be set using `systemctl`:
Expand Down
2 changes: 0 additions & 2 deletions docs/self-hosting/examples/ollama.zh-CN.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ docker run -d -p 3210:3210 -e OLLAMA_PROXY_URL=http://host.docker.internal:11434
4. 点击`OK/应用`保存。
5. 重新运行`Ollama`


### 在 Mac 上设置环境变量

如果 Ollama 作为 macOS 应用程序运行,你需要使用 `launchctl` 设置环境变量:
Expand All @@ -68,7 +67,6 @@ docker run -d -p 3210:3210 -e OLLAMA_PROXY_URL=http://host.docker.internal:11434

2. 重启 Ollama 应用程序。


### 在 Linux 上设置环境变量

如果 Ollama 作为 systemd 服务运行,应该使用`systemctl`设置环境变量:
Expand Down
4 changes: 4 additions & 0 deletions locales/ar/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,17 @@
"sessionGroup": {
"config": "إدارة المجموعات",
"confirmRemoveGroupAlert": "سيتم حذف هذه المجموعة قريبًا، وبعد الحذف، سيتم نقل مساعدي هذه المجموعة إلى القائمة الافتراضية، يرجى تأكيد إجراءك",
"createAgentSuccess": "تم إنشاء المساعد بنجاح",
"createGroup": "إضافة مجموعة جديدة",
"createSuccess": "تم الإنشاء بنجاح",
"creatingAgent": "جاري إنشاء المساعد...",
"inputPlaceholder": "الرجاء إدخال اسم المجموعة...",
"moveGroup": "نقل إلى مجموعة",
"newGroup": "مجموعة جديدة",
"rename": "إعادة تسمية المجموعة",
"renameSuccess": "تمت إعادة التسمية بنجاح",
"sortSuccess": "تمت إعادة ترتيب الفئات بنجاح",
"sorting": "جاري تحديث ترتيب الفئات...",
"tooLong": "يجب أن يكون طول اسم المجموعة بين 1 و 20"
},
"shareModal": {
Expand Down
2 changes: 1 addition & 1 deletion locales/ar/error.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
"MoonshotBizError": "حدث خطأ في خدمة جانب القمر، يرجى التحقق من المعلومات أدناه أو إعادة المحاولة",
"NoOpenAIAPIKey": "مفتاح API الخاص بـ OpenAI فارغ، يرجى إضافة مفتاح API الخاص بـ OpenAI",
"OllamaBizError": "خطأ في طلب خدمة Ollama، يرجى التحقق من المعلومات التالية أو إعادة المحاولة",
"OllamaServiceUnavailable": "خدمة Ollama غير متوفرة، يرجى التحقق مما إذا كانت قد تم تشغيلها بشكل صحيح",
"OllamaServiceUnavailable": "خدمة Ollama غير متوفرة، يرجى التحقق من تشغيل Ollama بشكل صحيح أو إعدادات الـ Ollama للاتصال عبر النطاقات",
"OpenAIBizError": "حدث خطأ في طلب خدمة OpenAI، يرجى التحقق من المعلومات أدناه وإعادة المحاولة",
"OpenRouterBizError": "خطأ في طلب خدمة OpenRouter AI، يرجى التحقق من المعلومات التالية أو إعادة المحاولة",
"PerplexityBizError": "خطأ في طلب خدمة Perplexity AI، يرجى التحقق من المعلومات التالية أو إعادة المحاولة",
Expand Down
28 changes: 27 additions & 1 deletion locales/ar/modelProvider.json
Original file line number Diff line number Diff line change
Expand Up @@ -130,9 +130,35 @@
},
"endpoint": {
"desc": "أدخل عنوان واجهة برمجة التطبيقات الخاص بـ Ollama، إذا لم يتم تحديده محليًا، يمكن تركه فارغًا",
"placeholder": "http://127.0.0.1:11434/v1",
"placeholder": "http://127.0.0.1:11434",
"title": "عنوان وكيل الواجهة"
},
"setup": {
"cors": {
"description": "بسبب قيود الأمان في المتصفح، يجب تكوين الوصول عبر المواقع المختلفة لـ Ollama لاستخدامه بشكل صحيح.",
"linux": {
"env": "في القسم [Service]، أضف `Environment` وأضف متغير البيئة OLLAMA_ORIGINS:",
"reboot": "أعد تحميل systemd وأعد تشغيل Ollama",
"systemd": "استدعاء تحرير خدمة ollama في systemd:"
},
"macos": "افتح تطبيق \"Terminal\" والصق الأمر التالي، ثم اضغط على Enter للتشغيل.",
"reboot": "يرجى إعادة تشغيل خدمة Ollama بعد الانتهاء من التنفيذ",
"title": "تكوين Ollama للسماح بالوصول عبر المواقع المختلفة",
"windows": "على نظام Windows، انقر فوق \"لوحة التحكم\"، ثم ادخل إلى تحرير متغيرات البيئة النظامية. قم بإنشاء متغير بيئي بعنوان \"OLLAMA_ORIGINS\" لحساب المستخدم الخاص بك، واجعل قيمته * ثم انقر على \"موافق/تطبيق\" للحفظ."
},
"install": {
"description": "يرجى التأكد من تشغيل Ollama. إذا لم يتم تنزيل Ollama بعد، يرجى زيارة الموقع الرسمي لتنزيله.",
"docker": "إذا كنت تفضل استخدام Docker، يوفر Ollama أيضًا صور Docker الرسمية، يمكنك سحبها باستخدام الأمر التالي:",
"linux": {
"command": "قم بتثبيته باستخدام الأمر التالي:",
"manual": "أو يمكنك الرجوع إلى <1>دليل تثبيت Linux يدويًا</1> للقيام بالتثبيت بنفسك."
},
"macos": "قم بـ<0>تنزيل إصدار Ollama لنظام macOS</0>، وقم بفك الضغط والتثبيت.",
"title": "تثبيت وتشغيل تطبيق Ollama محليًا",
"windows": "قم بـ<0>تنزيل إصدار Ollama لنظام Windows</0>، وقم بفك الضغط والتثبيت.",
"windowsTab": "Windows (نسخة معاينة)"
}
},
"title": "Ollama"
},
"openai": {
Expand Down
1 change: 1 addition & 0 deletions locales/ar/welcome.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"button": {
"import": "استيراد التكوين",
"market": "تسوق في السوق",
"start": "ابدأ الآن"
},
"header": "مرحبًا بكم في الاستخدام",
Expand Down
4 changes: 4 additions & 0 deletions locales/bg-BG/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,17 @@
"sessionGroup": {
"config": "Управление на групи",
"confirmRemoveGroupAlert": "Тази група е на път да бъде изтрита. След изтриването, агентите в тази група ще бъдат преместени в списъка по подразбиране. Моля, потвърди действието си.",
"createAgentSuccess": "Асистентът е създаден успешно",
"createGroup": "Добави нова група",
"createSuccess": "Създадена успешно",
"creatingAgent": "Създаване на асистент...",
"inputPlaceholder": "Моля, въведете име на групата...",
"moveGroup": "Премести в група",
"newGroup": "Нова група",
"rename": "Преименувай група",
"renameSuccess": "Преименувана успешно",
"sortSuccess": "Сортирането е успешно",
"sorting": "Актуализация на подредбата на групите...",
"tooLong": "Дължината на името на групата трябва да бъде между 1-20 символа"
},
"shareModal": {
Expand Down
2 changes: 1 addition & 1 deletion locales/bg-BG/error.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
"MoonshotBizError": "Възникна грешка с услугата Moonshot, моля, отстранете неизправностите или опитайте отново въз основа на следната информация.",
"NoOpenAIAPIKey": "API ключът на OpenAI е празен, моля, добавете персонализиран API ключ на OpenAI",
"OllamaBizError": "Грешка при заявка към услугата Ollama, моля, отстранете неизправностите или опитайте отново въз основа на следната информация",
"OllamaServiceUnavailable": "Услугата Ollama не е открита, моля, проверете дали работи правилно",
"OllamaServiceUnavailable": "Услугата Ollama не е налична. Моля, проверете дали Ollama работи правилно или дали е конфигуриран коректно за междудомейност.",
"OpenAIBizError": "Грешка при заявка към услугата OpenAI. Моля, отстранете неизправностите или опитайте отново въз основа на следната информация.",
"OpenRouterBizError": "Грешка при заявка към услугата OpenRouter AI. Моля, отстранете неизправностите или опитайте отново въз основа на следната информация.",
"PerplexityBizError": "Грешка при заявка към услугата Perplexity AI. Моля, отстранете неизправностите или опитайте отново въз основа на следната информация.",
Expand Down
28 changes: 27 additions & 1 deletion locales/bg-BG/modelProvider.json
Original file line number Diff line number Diff line change
Expand Up @@ -130,9 +130,35 @@
},
"endpoint": {
"desc": "Въведете адрес на Ollama интерфейсния прокси, оставете празно, ако локално не е указано специално",
"placeholder": "http://127.0.0.1:11434/v1",
"placeholder": "http://127.0.0.1:11434",
"title": "Адрес на прокси интерфейс"
},
"setup": {
"cors": {
"description": "Заради ограниченията за сигурност в браузъра, трябва да конфигурирате кросдомейн за Ollama, за да работи правилно.",
"linux": {
"env": "Добавете `Environment` в раздела [Service], като добавите променливата на средата OLLAMA_ORIGINS:",
"reboot": "Презаредете systemd и рестартирайте Ollama",
"systemd": "Извикайте systemd за редактиране на услугата ollama:"
},
"macos": "Моля, отворете приложението „Терминал“ и поставете следната команда, след което натиснете Enter",
"reboot": "Моля, рестартирайте услугата Ollama след приключване на изпълнението",
"title": "Конфигуриране на Ollama за позволяване на кросдомейн достъп",
"windows": "На Windows кликнете върху „Контролен панел“, влезте в редактиране на системните променливи. Създайте нова променлива на средата с име „OLLAMA_ORIGINS“, стойност * и кликнете „ОК/Приложи“, за да запазите промените"
},
"install": {
"description": "Моля, потвърдете, че сте стартирали Ollama. Ако не сте го изтеглили, моля, посетете официалния уебсайт за изтегляне",
"docker": "Ако предпочитате да използвате Docker, Ollama предлага официален Docker образ, който можете да изтеглите с помощта на следната команда:",
"linux": {
"command": "Инсталирайте чрез следната команда:",
"manual": "Или може да се обадите на <1>Ръководство за ръчна инсталация на Linux</1> и да инсталирате ръчно"
},
"macos": "<0>Изтеглете версията за macOS на Ollama</0>, разархивирайте я и я инсталирайте",
"title": "Инсталиране и стартиране на приложението Ollama локално",
"windows": "<0>Изтеглете версията за Windows на Ollama</0>, разархивирайте я и я инсталирайте",
"windowsTab": "Windows (преглед)"
}
},
"title": "Ollama"
},
"openai": {
Expand Down
1 change: 1 addition & 0 deletions locales/bg-BG/welcome.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"button": {
"import": "Импортирай конфигурация",
"market": "Пазар",
"start": "Започни сега"
},
"header": "Добре дошли",
Expand Down
4 changes: 4 additions & 0 deletions locales/de-DE/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,17 @@
"sessionGroup": {
"config": "Gruppenkonfiguration",
"confirmRemoveGroupAlert": "Die Gruppe wird bald gelöscht. Nach dem Löschen werden die Assistenten in die Standardliste verschoben. Bitte bestätigen Sie Ihre Aktion.",
"createAgentSuccess": "Assistent erfolgreich erstellt",
"createGroup": "Neue Gruppe erstellen",
"createSuccess": "Erstellung erfolgreich",
"creatingAgent": "Assistent wird erstellt...",
"inputPlaceholder": "Geben Sie den Gruppennamen ein...",
"moveGroup": "In Gruppe verschieben",
"newGroup": "Neue Gruppe",
"rename": "Gruppe umbenennen",
"renameSuccess": "Umbenennung erfolgreich",
"sortSuccess": "Sortierung erfolgreich aktualisiert",
"sorting": "Gruppensortierung wird aktualisiert...",
"tooLong": "Gruppenname muss zwischen 1 und 20 Zeichen lang sein"
},
"shareModal": {
Expand Down
2 changes: 1 addition & 1 deletion locales/de-DE/error.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
"MoonshotBizError": "Fehler beim Abrufen des Dark Side of the Moon-Services. Bitte überprüfen Sie die folgenden Informationen oder versuchen Sie es erneut.",
"NoOpenAIAPIKey": "Der OpenAI-API-Schlüssel ist leer. Bitte fügen Sie einen benutzerdefinierten OpenAI-API-Schlüssel hinzu",
"OllamaBizError": "Fehler bei der Anforderung des Ollama-Dienstes. Bitte überprüfen Sie die folgenden Informationen oder versuchen Sie es erneut.",
"OllamaServiceUnavailable": "Ollama-Dienst nicht verfügbar. Bitte überprüfen Sie, ob er ordnungsgemäß gestartet wurde.",
"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 OpenAI-Serviceanfrage. Bitte überprüfen Sie die folgenden Informationen oder versuchen Sie es erneut",
"OpenRouterBizError": "Fehler bei der Anforderung des OpenRouter AI-Dienstes. Bitte überprüfen Sie die folgenden Informationen oder versuchen Sie es erneut.",
"PerplexityBizError": "Fehler bei der Anforderung des Perplexity AI-Dienstes. Bitte überprüfen Sie die folgenden Informationen oder versuchen Sie es erneut.",
Expand Down
28 changes: 27 additions & 1 deletion locales/de-DE/modelProvider.json
Original file line number Diff line number Diff line change
Expand Up @@ -130,9 +130,35 @@
},
"endpoint": {
"desc": "Geben Sie die Proxy-Adresse der Ollama-Schnittstelle ein, leer lassen, wenn lokal nicht spezifiziert",
"placeholder": "http://127.0.0.1:11434/v1",
"placeholder": "http://127.0.0.1:11434",
"title": "Schnittstellen-Proxy-Adresse"
},
"setup": {
"cors": {
"description": "Aufgrund von Browser-Sicherheitsbeschränkungen müssen Sie die CORS-Einstellungen für Ollama konfigurieren, um es ordnungsgemäß zu verwenden.",
"linux": {
"env": "Fügen Sie unter [Service] `Environment` hinzu und setzen Sie die Umgebungsvariable OLLAMA_ORIGINS:",
"reboot": "Systemd neu laden und Ollama neu starten",
"systemd": "Rufen Sie systemd auf, um den Ollama-Dienst zu bearbeiten:"
},
"macos": "Öffnen Sie das Terminal und fügen Sie den folgenden Befehl ein, um fortzufahren.",
"reboot": "Starten Sie den Ollama-Dienst nach Abschluss der Ausführung neu.",
"title": "Konfigurieren Sie Ollama für den Zugriff über CORS",
"windows": "Klicken Sie auf Windows auf 'Systemsteuerung', um die Systemumgebungsvariablen zu bearbeiten. Erstellen Sie eine Umgebungsvariable namens 'OLLAMA_ORIGINS' für Ihr Benutzerkonto mit dem Wert '*', und klicken Sie auf 'OK/Anwenden', um zu speichern."
},
"install": {
"description": "Stellen Sie sicher, dass Ollama gestartet ist. Wenn Sie Ollama noch nicht heruntergeladen haben, besuchen Sie die offizielle Website, um es herunterzuladen.",
"docker": "Wenn Sie Docker bevorzugen, bietet Ollama auch offizielle Docker-Images an. Sie können sie mit dem folgenden Befehl abrufen:",
"linux": {
"command": "Installieren Sie mit dem folgenden Befehl:",
"manual": "Alternativ können Sie die <1>Linux-Installationsanleitung</1> für die manuelle Installation verwenden."
},
"macos": "<0>macOS-Version von Ollama herunterladen</0>, entpacken und installieren.",
"title": "Installieren und starten Sie die lokale Ollama-Anwendung",
"windows": "<0>Windows-Version von Ollama herunterladen</0>, entpacken und installieren.",
"windowsTab": "Windows (Vorschau)"
}
},
"title": "Ollama"
},
"openai": {
Expand Down
1 change: 1 addition & 0 deletions locales/de-DE/welcome.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"button": {
"import": "Konfiguration importieren",
"market": "Markt durchstöbern",
"start": "Jetzt starten"
},
"header": "Willkommen",
Expand Down
4 changes: 4 additions & 0 deletions locales/en-US/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,17 @@
"sessionGroup": {
"config": "Group Management",
"confirmRemoveGroupAlert": "This group is about to be deleted. After deletion, the agents in this group will be moved to the default list. Please confirm your operation.",
"createAgentSuccess": "Assistant created successfully",
"createGroup": "Add New Group",
"createSuccess": "Created successfully",
"creatingAgent": "Creating assistant...",
"inputPlaceholder": "Please enter group name...",
"moveGroup": "Move to Group",
"newGroup": "New Group",
"rename": "Rename Group",
"renameSuccess": "Renamed successfully",
"sortSuccess": "Reorder successful",
"sorting": "Group sorting updating...",
"tooLong": "Group name length should be between 1-20"
},
"shareModal": {
Expand Down
Loading

0 comments on commit 562d189

Please sign in to comment.