Skip to content

Commit f284c25

Browse files
authored
✨ feat: support no-fc models like deepseek r1 with online search (lobehub#6842)
* update crawler rule * feat: 完成联网集成 * update i18n * update tests * update tests * fix tests * improve performance * fix error issue * fix signal issue and improve implement * fix pricing in CNY * fix tests * filter empty providers * fix tests * improve search crawler env * fix search crawler env * fix documents
1 parent 23a26a9 commit f284c25

File tree

54 files changed

+665
-170
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+665
-170
lines changed

Diff for: docs/self-hosting/advanced/auth/clerk.zh-CN.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ tags:
3636

3737
<Image alt={'Clerk 添加 Webhooks 端点'} src={'https://github.com/lobehub/lobe-chat/assets/28616219/f50f47fb-5e8e-4930-bf4e-8cf6f5b8afb9'} />
3838

39-
endppint 中填写你的项目 URL,如 `https://your-project.com/api/webhooks/clerk`。然后在订阅事件(Subscribe to events)中,勾选 user 的三个事件(`user.created``user.deleted``user.updated`),然后点击创建。
39+
endpoint 中填写你的项目 URL,如 `https://your-project.com/api/webhooks/clerk`。然后在订阅事件(Subscribe to events)中,勾选 user 的三个事件(`user.created``user.deleted``user.updated`),然后点击创建。
4040

4141
<Callout type={'warning'}>URL 的`https://`不可缺失,须保持 URL 的完整性</Callout>
4242

Diff for: docs/self-hosting/server-database/vercel.zh-CN.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ tags:
140140

141141
<Image alt={'Clerk 添加 Webhooks 端点'} src={'https://github.com/lobehub/lobe-chat/assets/28616219/f50f47fb-5e8e-4930-bf4e-8cf6f5b8afb9'} />
142142

143-
endppint 中填写你的 Vercel 项目的 URL,如 `https://your-project.vercel.app/api/webhooks/clerk`。然后在订阅事件(Subscribe to events)中,勾选 user 的三个事件(`user.created``user.deleted``user.updated`),然后点击创建。
143+
endpoint 中填写你的 Vercel 项目的 URL,如 `https://your-project.vercel.app/api/webhooks/clerk`。然后在订阅事件(Subscribe to events)中,勾选 user 的三个事件(`user.created``user.deleted``user.updated`),然后点击创建。
144144

145145
<Callout type={'warning'}>URL 的`https://`不可缺失,须保持 URL 的完整性</Callout>
146146

Diff for: locales/ar/chat.json

+7-1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@
6464
"stop": "توقف",
6565
"warp": "تغيير السطر"
6666
},
67+
"intentUnderstanding": {
68+
"title": "جارٍ تحليل وفهم نواياك..."
69+
},
6770
"knowledgeBase": {
6871
"all": "جميع المحتويات",
6972
"allFiles": "جميع الملفات",
@@ -144,7 +147,6 @@
144147
"desc": "تحديد ما إذا كان من الضروري البحث بناءً على محتوى المحادثة",
145148
"title": "الاتصال الذكي"
146149
},
147-
"disable": "النموذج الحالي لا يدعم استدعاء الوظائف، لذا لا يمكن استخدام وظيفة الاتصال الذكي",
148150
"off": {
149151
"desc": "استخدام المعرفة الأساسية للنموذج فقط، دون إجراء بحث عبر الإنترنت",
150152
"title": "إيقاف الاتصال"
@@ -155,6 +157,10 @@
155157
},
156158
"useModelBuiltin": "استخدام محرك البحث المدمج في النموذج"
157159
},
160+
"searchModel": {
161+
"desc": "النموذج الحالي لا يدعم استدعاء الدوال، لذا يجب استخدام نموذج يدعم استدعاء الدوال للبحث عبر الإنترنت",
162+
"title": "نموذج البحث المساعد"
163+
},
158164
"title": "بحث عبر الإنترنت"
159165
},
160166
"searchAgentPlaceholder": "مساعد البحث...",

Diff for: locales/bg-BG/chat.json

+7-1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@
6464
"stop": "Спри",
6565
"warp": "Нов ред"
6666
},
67+
"intentUnderstanding": {
68+
"title": "Анализирам и разбирам вашето намерение..."
69+
},
6770
"knowledgeBase": {
6871
"all": "Всички съдържания",
6972
"allFiles": "Всички файлове",
@@ -144,7 +147,6 @@
144147
"desc": "Интелигентно определяне на необходимостта от търсене въз основа на съдържанието на разговора",
145148
"title": "Интелигентно свързване"
146149
},
147-
"disable": "Текущият модел не поддържа извикване на функции, затова не може да се използва интелигентно свързване",
148150
"off": {
149151
"desc": "Използва само основните знания на модела, без интернет търсене",
150152
"title": "Изключване на свързването"
@@ -155,6 +157,10 @@
155157
},
156158
"useModelBuiltin": "Използване на вградената търсачка на модела"
157159
},
160+
"searchModel": {
161+
"desc": "Текущият модел не поддържа извикване на функции, затова е необходимо да се комбинира с модел, който поддържа извикване на функции, за да се извърши търсене в интернет",
162+
"title": "Модел за търсене на помощ"
163+
},
158164
"title": "Търсене в интернет"
159165
},
160166
"searchAgentPlaceholder": "Търсач на помощ...",

Diff for: locales/de-DE/chat.json

+7-1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@
6464
"stop": "Stoppen",
6565
"warp": "Zeilenumbruch"
6666
},
67+
"intentUnderstanding": {
68+
"title": "Analysiere und verstehe Ihre Absicht..."
69+
},
6770
"knowledgeBase": {
6871
"all": "Alle Inhalte",
6972
"allFiles": "Alle Dateien",
@@ -144,7 +147,6 @@
144147
"desc": "Intelligente Beurteilung, ob eine Suche basierend auf dem Gesprächsinhalt erforderlich ist",
145148
"title": "Intelligente Vernetzung"
146149
},
147-
"disable": "Das aktuelle Modell unterstützt keine Funktionsaufrufe, daher kann die intelligente Vernetzungsfunktion nicht verwendet werden",
148150
"off": {
149151
"desc": "Verwendet nur das Grundwissen des Modells, ohne Netzsuche",
150152
"title": "Vernetzung deaktivieren"
@@ -155,6 +157,10 @@
155157
},
156158
"useModelBuiltin": "Verwenden Sie die integrierte Suchmaschine des Modells"
157159
},
160+
"searchModel": {
161+
"desc": "Das aktuelle Modell unterstützt keine Funktionsaufrufe, daher muss es mit einem Modell kombiniert werden, das Funktionsaufrufe unterstützt, um online zu suchen",
162+
"title": "Suchunterstützungsmodell"
163+
},
158164
"title": "Netzwerksuche"
159165
},
160166
"searchAgentPlaceholder": "Suchassistent...",

Diff for: locales/en-US/chat.json

+7-1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@
6464
"stop": "Stop",
6565
"warp": "New Line"
6666
},
67+
"intentUnderstanding": {
68+
"title": "Analyzing and understanding your intent..."
69+
},
6770
"knowledgeBase": {
6871
"all": "All Content",
6972
"allFiles": "All Files",
@@ -144,7 +147,6 @@
144147
"desc": "Intelligently determine whether a search is needed based on the conversation content",
145148
"title": "Smart Online Search"
146149
},
147-
"disable": "The current model does not support function calls, so the smart online search feature is unavailable",
148150
"off": {
149151
"desc": "Use only the model's basic knowledge without performing a web search",
150152
"title": "Disable Online Search"
@@ -155,6 +157,10 @@
155157
},
156158
"useModelBuiltin": "Use the model's built-in search engine"
157159
},
160+
"searchModel": {
161+
"desc": "The current model does not support function calls, so it needs to be paired with a model that does support function calls for online searching.",
162+
"title": "Search Assistant Model"
163+
},
158164
"title": "Online Search"
159165
},
160166
"searchAgentPlaceholder": "Search assistants...",

Diff for: locales/es-ES/chat.json

+7-1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@
6464
"stop": "Detener",
6565
"warp": "Salto de línea"
6666
},
67+
"intentUnderstanding": {
68+
"title": "Analizando y comprendiendo su intención..."
69+
},
6770
"knowledgeBase": {
6871
"all": "Todo el contenido",
6972
"allFiles": "Todos los archivos",
@@ -144,7 +147,6 @@
144147
"desc": "Determina inteligentemente si se necesita buscar según el contenido de la conversación",
145148
"title": "Conexión inteligente"
146149
},
147-
"disable": "El modelo actual no admite llamadas a funciones, por lo que no se puede utilizar la función de conexión inteligente",
148150
"off": {
149151
"desc": "Utiliza solo el conocimiento básico del modelo, sin realizar búsquedas en línea",
150152
"title": "Desactivar conexión"
@@ -155,6 +157,10 @@
155157
},
156158
"useModelBuiltin": "Utilizar el motor de búsqueda integrado del modelo"
157159
},
160+
"searchModel": {
161+
"desc": "El modelo actual no admite llamadas a funciones, por lo que se necesita combinarlo con un modelo que admita llamadas a funciones para realizar búsquedas en línea",
162+
"title": "Modelo de búsqueda auxiliar"
163+
},
158164
"title": "Búsqueda en línea"
159165
},
160166
"searchAgentPlaceholder": "Asistente de búsqueda...",

Diff for: locales/fa-IR/chat.json

+7-1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@
6464
"stop": "توقف",
6565
"warp": "خط جدید"
6666
},
67+
"intentUnderstanding": {
68+
"title": "در حال تحلیل و درک نیت شما..."
69+
},
6770
"knowledgeBase": {
6871
"all": "همه محتوا",
6972
"allFiles": "همه فایل‌ها",
@@ -144,7 +147,6 @@
144147
"desc": "به طور هوشمندانه بر اساس محتوای گفتگو تشخیص می‌دهد که آیا نیاز به جستجو است",
145148
"title": "اتصال هوشمند"
146149
},
147-
"disable": "مدل فعلی از فراخوانی توابع پشتیبانی نمی‌کند، بنابراین نمی‌توان از ویژگی اتصال هوشمند استفاده کرد",
148150
"off": {
149151
"desc": "فقط از دانش پایه مدل استفاده می‌کند و جستجوی اینترنتی انجام نمی‌دهد",
150152
"title": "قطع اتصال"
@@ -155,6 +157,10 @@
155157
},
156158
"useModelBuiltin": "استفاده از موتور جستجوی داخلی مدل"
157159
},
160+
"searchModel": {
161+
"desc": "مدل فعلی از فراخوانی توابع پشتیبانی نمی‌کند، بنابراین نیاز است که با مدلی که از فراخوانی توابع پشتیبانی می‌کند، برای جستجوی آنلاین ترکیب شود",
162+
"title": "مدل جستجوی کمکی"
163+
},
158164
"title": "جستجوی متصل"
159165
},
160166
"searchAgentPlaceholder": "جستجوی دستیار...",

Diff for: locales/fr-FR/chat.json

+7-1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@
6464
"stop": "Arrêter",
6565
"warp": "Saut de ligne"
6666
},
67+
"intentUnderstanding": {
68+
"title": "Analyse et comprend votre intention..."
69+
},
6770
"knowledgeBase": {
6871
"all": "Tout le contenu",
6972
"allFiles": "Tous les fichiers",
@@ -144,7 +147,6 @@
144147
"desc": "Détermine intelligemment si une recherche est nécessaire en fonction du contenu de la conversation",
145148
"title": "Connexion intelligente"
146149
},
147-
"disable": "Le modèle actuel ne prend pas en charge l'appel de fonctions, donc la fonctionnalité de connexion intelligente est indisponible",
148150
"off": {
149151
"desc": "Utilise uniquement les connaissances de base du modèle, sans recherche en ligne",
150152
"title": "Déconnexion"
@@ -155,6 +157,10 @@
155157
},
156158
"useModelBuiltin": "Utiliser le moteur de recherche intégré du modèle"
157159
},
160+
"searchModel": {
161+
"desc": "Le modèle actuel ne prend pas en charge les appels de fonction, il doit donc être associé à un modèle prenant en charge les appels de fonction pour effectuer une recherche en ligne",
162+
"title": "Modèle d'assistance à la recherche"
163+
},
158164
"title": "Recherche en ligne"
159165
},
160166
"searchAgentPlaceholder": "Assistant de recherche...",

Diff for: locales/it-IT/chat.json

+7-1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@
6464
"stop": "Ferma",
6565
"warp": "A capo"
6666
},
67+
"intentUnderstanding": {
68+
"title": "Analizzando e comprendendo le tue intenzioni..."
69+
},
6770
"knowledgeBase": {
6871
"all": "Tutti i contenuti",
6972
"allFiles": "Tutti i file",
@@ -144,7 +147,6 @@
144147
"desc": "Determina intelligentemente se è necessario cercare in base al contenuto della conversazione",
145148
"title": "Collegamento intelligente"
146149
},
147-
"disable": "Il modello attuale non supporta le chiamate di funzione, quindi non è possibile utilizzare la funzionalità di collegamento intelligente",
148150
"off": {
149151
"desc": "Utilizza solo la conoscenza di base del modello, senza effettuare ricerche online",
150152
"title": "Disattiva collegamento"
@@ -155,6 +157,10 @@
155157
},
156158
"useModelBuiltin": "Utilizza il motore di ricerca integrato del modello"
157159
},
160+
"searchModel": {
161+
"desc": "Il modello attuale non supporta le chiamate di funzione, quindi è necessario utilizzarlo insieme a un modello che supporti le chiamate di funzione per cercare online",
162+
"title": "Modello di ricerca assistita"
163+
},
158164
"title": "Ricerca online"
159165
},
160166
"searchAgentPlaceholder": "Assistente di ricerca...",

Diff for: locales/ja-JP/chat.json

+7-1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@
6464
"stop": "停止",
6565
"warp": "改行"
6666
},
67+
"intentUnderstanding": {
68+
"title": "あなたの意図を分析し理解しています..."
69+
},
6770
"knowledgeBase": {
6871
"all": "すべてのコンテンツ",
6972
"allFiles": "すべてのファイル",
@@ -144,7 +147,6 @@
144147
"desc": "会話の内容に基づいて、検索が必要かどうかを自動的に判断します",
145148
"title": "インテリジェント接続"
146149
},
147-
"disable": "現在のモデルは関数呼び出しをサポートしていないため、インテリジェント接続機能は使用できません",
148150
"off": {
149151
"desc": "モデルの基本知識のみを使用し、ネット検索は行いません",
150152
"title": "接続をオフ"
@@ -155,6 +157,10 @@
155157
},
156158
"useModelBuiltin": "モデル内蔵の検索エンジンを使用"
157159
},
160+
"searchModel": {
161+
"desc": "現在のモデルは関数呼び出しをサポートしていないため、関数呼び出しをサポートするモデルと組み合わせてネット検索を行う必要があります",
162+
"title": "検索補助モデル"
163+
},
158164
"title": "ネット接続検索"
159165
},
160166
"searchAgentPlaceholder": "検索アシスタント...",

Diff for: locales/ko-KR/chat.json

+7-1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@
6464
"stop": "중지",
6565
"warp": "줄바꿈"
6666
},
67+
"intentUnderstanding": {
68+
"title": "귀하의 의도를 분석하고 이해하는 중입니다..."
69+
},
6770
"knowledgeBase": {
6871
"all": "모든 내용",
6972
"allFiles": "모든 파일",
@@ -144,7 +147,6 @@
144147
"desc": "대화 내용을 기반으로 검색 필요성을 스마트하게 판단",
145148
"title": "스마트 연결"
146149
},
147-
"disable": "현재 모델은 함수 호출을 지원하지 않으므로 스마트 연결 기능을 사용할 수 없습니다",
148150
"off": {
149151
"desc": "모델의 기본 지식만 사용하고 네트워크 검색을 수행하지 않음",
150152
"title": "연결 끄기"
@@ -155,6 +157,10 @@
155157
},
156158
"useModelBuiltin": "모델 내장 검색 엔진 사용"
157159
},
160+
"searchModel": {
161+
"desc": "현재 모델은 함수 호출을 지원하지 않으므로 함수 호출을 지원하는 모델과 함께 사용해야 인터넷 검색이 가능합니다.",
162+
"title": "검색 보조 모델"
163+
},
158164
"title": "연결 검색"
159165
},
160166
"searchAgentPlaceholder": "검색 도우미...",

Diff for: locales/nl-NL/chat.json

+7-1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@
6464
"stop": "Stoppen",
6565
"warp": "Nieuwe regel"
6666
},
67+
"intentUnderstanding": {
68+
"title": "Bezig met het analyseren en begrijpen van uw intentie..."
69+
},
6770
"knowledgeBase": {
6871
"all": "Alle inhoud",
6972
"allFiles": "Alle bestanden",
@@ -144,7 +147,6 @@
144147
"desc": "Intelligente beoordeling of er gezocht moet worden op basis van de gesprekinhoud",
145148
"title": "Slimme verbinding"
146149
},
147-
"disable": "Het huidige model ondersteunt geen functieaanroepen, dus de slimme verbindingsfunctie kan niet worden gebruikt",
148150
"off": {
149151
"desc": "Gebruik alleen de basiskennis van het model, zonder online zoekopdrachten",
150152
"title": "Verbinding uitschakelen"
@@ -155,6 +157,10 @@
155157
},
156158
"useModelBuiltin": "Gebruik de ingebouwde zoekmachine van het model"
157159
},
160+
"searchModel": {
161+
"desc": "Het huidige model ondersteunt geen functieaanroepen, dus het moet worden gecombineerd met een model dat functieaanroepen ondersteunt om online te zoeken",
162+
"title": "Zoekhulpmiddel model"
163+
},
158164
"title": "Online zoeken"
159165
},
160166
"searchAgentPlaceholder": "Zoekassistent...",

Diff for: locales/pl-PL/chat.json

+7-1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@
6464
"stop": "Zatrzymaj",
6565
"warp": "Złamanie wiersza"
6666
},
67+
"intentUnderstanding": {
68+
"title": "Analizuję i rozumiem Twoje intencje..."
69+
},
6770
"knowledgeBase": {
6871
"all": "Wszystkie treści",
6972
"allFiles": "Wszystkie pliki",
@@ -144,7 +147,6 @@
144147
"desc": "Inteligentne określenie, czy potrzebne jest wyszukiwanie na podstawie treści rozmowy",
145148
"title": "Inteligentne połączenie"
146149
},
147-
"disable": "Aktualny model nie obsługuje wywołań funkcji, więc nie można korzystać z inteligentnego połączenia",
148150
"off": {
149151
"desc": "Używaj tylko podstawowej wiedzy modelu, bez wyszukiwania w sieci",
150152
"title": "Wyłącz połączenie"
@@ -155,6 +157,10 @@
155157
},
156158
"useModelBuiltin": "Użyj wbudowanej wyszukiwarki modelu"
157159
},
160+
"searchModel": {
161+
"desc": "Aktualny model nie obsługuje wywołań funkcji, dlatego wymaga współpracy z modelem obsługującym wywołania funkcji, aby móc przeszukiwać sieć",
162+
"title": "Model wspomagający wyszukiwanie"
163+
},
158164
"title": "Wyszukiwanie w sieci"
159165
},
160166
"searchAgentPlaceholder": "Wyszukaj pomocnika...",

Diff for: locales/pt-BR/chat.json

+7-1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@
6464
"stop": "Parar",
6565
"warp": "Quebrar linha"
6666
},
67+
"intentUnderstanding": {
68+
"title": "Analisando e compreendendo sua intenção..."
69+
},
6770
"knowledgeBase": {
6871
"all": "Todo conteúdo",
6972
"allFiles": "Todos os arquivos",
@@ -144,7 +147,6 @@
144147
"desc": "Determina inteligentemente se é necessário pesquisar com base no conteúdo da conversa",
145148
"title": "Conexão Inteligente"
146149
},
147-
"disable": "O modelo atual não suporta chamadas de função, portanto, a funcionalidade de conexão inteligente não está disponível",
148150
"off": {
149151
"desc": "Usa apenas o conhecimento básico do modelo, sem realizar pesquisas na web",
150152
"title": "Desativar Conexão"
@@ -155,6 +157,10 @@
155157
},
156158
"useModelBuiltin": "Usar o mecanismo de busca embutido no modelo"
157159
},
160+
"searchModel": {
161+
"desc": "O modelo atual não suporta chamadas de função, portanto, é necessário combiná-lo com um modelo que suporte chamadas de função para realizar buscas na internet",
162+
"title": "Modelo de busca auxiliar"
163+
},
158164
"title": "Pesquisa Conectada"
159165
},
160166
"searchAgentPlaceholder": "Assistente de busca...",

0 commit comments

Comments
 (0)