Skip to content

Commit

Permalink
✨ feat: support no-fc models like deepseek r1 with online search (#6842)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
arvinxx authored Mar 9, 2025
1 parent 23a26a9 commit f284c25
Show file tree
Hide file tree
Showing 54 changed files with 665 additions and 170 deletions.
2 changes: 1 addition & 1 deletion docs/self-hosting/advanced/auth/clerk.zh-CN.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ tags:

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

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

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

Expand Down
2 changes: 1 addition & 1 deletion docs/self-hosting/server-database/vercel.zh-CN.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ tags:

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

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

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

Expand Down
8 changes: 7 additions & 1 deletion locales/ar/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@
"stop": "توقف",
"warp": "تغيير السطر"
},
"intentUnderstanding": {
"title": "جارٍ تحليل وفهم نواياك..."
},
"knowledgeBase": {
"all": "جميع المحتويات",
"allFiles": "جميع الملفات",
Expand Down Expand Up @@ -144,7 +147,6 @@
"desc": "تحديد ما إذا كان من الضروري البحث بناءً على محتوى المحادثة",
"title": "الاتصال الذكي"
},
"disable": "النموذج الحالي لا يدعم استدعاء الوظائف، لذا لا يمكن استخدام وظيفة الاتصال الذكي",
"off": {
"desc": "استخدام المعرفة الأساسية للنموذج فقط، دون إجراء بحث عبر الإنترنت",
"title": "إيقاف الاتصال"
Expand All @@ -155,6 +157,10 @@
},
"useModelBuiltin": "استخدام محرك البحث المدمج في النموذج"
},
"searchModel": {
"desc": "النموذج الحالي لا يدعم استدعاء الدوال، لذا يجب استخدام نموذج يدعم استدعاء الدوال للبحث عبر الإنترنت",
"title": "نموذج البحث المساعد"
},
"title": "بحث عبر الإنترنت"
},
"searchAgentPlaceholder": "مساعد البحث...",
Expand Down
8 changes: 7 additions & 1 deletion locales/bg-BG/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@
"stop": "Спри",
"warp": "Нов ред"
},
"intentUnderstanding": {
"title": "Анализирам и разбирам вашето намерение..."
},
"knowledgeBase": {
"all": "Всички съдържания",
"allFiles": "Всички файлове",
Expand Down Expand Up @@ -144,7 +147,6 @@
"desc": "Интелигентно определяне на необходимостта от търсене въз основа на съдържанието на разговора",
"title": "Интелигентно свързване"
},
"disable": "Текущият модел не поддържа извикване на функции, затова не може да се използва интелигентно свързване",
"off": {
"desc": "Използва само основните знания на модела, без интернет търсене",
"title": "Изключване на свързването"
Expand All @@ -155,6 +157,10 @@
},
"useModelBuiltin": "Използване на вградената търсачка на модела"
},
"searchModel": {
"desc": "Текущият модел не поддържа извикване на функции, затова е необходимо да се комбинира с модел, който поддържа извикване на функции, за да се извърши търсене в интернет",
"title": "Модел за търсене на помощ"
},
"title": "Търсене в интернет"
},
"searchAgentPlaceholder": "Търсач на помощ...",
Expand Down
8 changes: 7 additions & 1 deletion locales/de-DE/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@
"stop": "Stoppen",
"warp": "Zeilenumbruch"
},
"intentUnderstanding": {
"title": "Analysiere und verstehe Ihre Absicht..."
},
"knowledgeBase": {
"all": "Alle Inhalte",
"allFiles": "Alle Dateien",
Expand Down Expand Up @@ -144,7 +147,6 @@
"desc": "Intelligente Beurteilung, ob eine Suche basierend auf dem Gesprächsinhalt erforderlich ist",
"title": "Intelligente Vernetzung"
},
"disable": "Das aktuelle Modell unterstützt keine Funktionsaufrufe, daher kann die intelligente Vernetzungsfunktion nicht verwendet werden",
"off": {
"desc": "Verwendet nur das Grundwissen des Modells, ohne Netzsuche",
"title": "Vernetzung deaktivieren"
Expand All @@ -155,6 +157,10 @@
},
"useModelBuiltin": "Verwenden Sie die integrierte Suchmaschine des Modells"
},
"searchModel": {
"desc": "Das aktuelle Modell unterstützt keine Funktionsaufrufe, daher muss es mit einem Modell kombiniert werden, das Funktionsaufrufe unterstützt, um online zu suchen",
"title": "Suchunterstützungsmodell"
},
"title": "Netzwerksuche"
},
"searchAgentPlaceholder": "Suchassistent...",
Expand Down
8 changes: 7 additions & 1 deletion locales/en-US/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@
"stop": "Stop",
"warp": "New Line"
},
"intentUnderstanding": {
"title": "Analyzing and understanding your intent..."
},
"knowledgeBase": {
"all": "All Content",
"allFiles": "All Files",
Expand Down Expand Up @@ -144,7 +147,6 @@
"desc": "Intelligently determine whether a search is needed based on the conversation content",
"title": "Smart Online Search"
},
"disable": "The current model does not support function calls, so the smart online search feature is unavailable",
"off": {
"desc": "Use only the model's basic knowledge without performing a web search",
"title": "Disable Online Search"
Expand All @@ -155,6 +157,10 @@
},
"useModelBuiltin": "Use the model's built-in search engine"
},
"searchModel": {
"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.",
"title": "Search Assistant Model"
},
"title": "Online Search"
},
"searchAgentPlaceholder": "Search assistants...",
Expand Down
8 changes: 7 additions & 1 deletion locales/es-ES/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@
"stop": "Detener",
"warp": "Salto de línea"
},
"intentUnderstanding": {
"title": "Analizando y comprendiendo su intención..."
},
"knowledgeBase": {
"all": "Todo el contenido",
"allFiles": "Todos los archivos",
Expand Down Expand Up @@ -144,7 +147,6 @@
"desc": "Determina inteligentemente si se necesita buscar según el contenido de la conversación",
"title": "Conexión inteligente"
},
"disable": "El modelo actual no admite llamadas a funciones, por lo que no se puede utilizar la función de conexión inteligente",
"off": {
"desc": "Utiliza solo el conocimiento básico del modelo, sin realizar búsquedas en línea",
"title": "Desactivar conexión"
Expand All @@ -155,6 +157,10 @@
},
"useModelBuiltin": "Utilizar el motor de búsqueda integrado del modelo"
},
"searchModel": {
"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",
"title": "Modelo de búsqueda auxiliar"
},
"title": "Búsqueda en línea"
},
"searchAgentPlaceholder": "Asistente de búsqueda...",
Expand Down
8 changes: 7 additions & 1 deletion locales/fa-IR/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@
"stop": "توقف",
"warp": "خط جدید"
},
"intentUnderstanding": {
"title": "در حال تحلیل و درک نیت شما..."
},
"knowledgeBase": {
"all": "همه محتوا",
"allFiles": "همه فایل‌ها",
Expand Down Expand Up @@ -144,7 +147,6 @@
"desc": "به طور هوشمندانه بر اساس محتوای گفتگو تشخیص می‌دهد که آیا نیاز به جستجو است",
"title": "اتصال هوشمند"
},
"disable": "مدل فعلی از فراخوانی توابع پشتیبانی نمی‌کند، بنابراین نمی‌توان از ویژگی اتصال هوشمند استفاده کرد",
"off": {
"desc": "فقط از دانش پایه مدل استفاده می‌کند و جستجوی اینترنتی انجام نمی‌دهد",
"title": "قطع اتصال"
Expand All @@ -155,6 +157,10 @@
},
"useModelBuiltin": "استفاده از موتور جستجوی داخلی مدل"
},
"searchModel": {
"desc": "مدل فعلی از فراخوانی توابع پشتیبانی نمی‌کند، بنابراین نیاز است که با مدلی که از فراخوانی توابع پشتیبانی می‌کند، برای جستجوی آنلاین ترکیب شود",
"title": "مدل جستجوی کمکی"
},
"title": "جستجوی متصل"
},
"searchAgentPlaceholder": "جستجوی دستیار...",
Expand Down
8 changes: 7 additions & 1 deletion locales/fr-FR/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@
"stop": "Arrêter",
"warp": "Saut de ligne"
},
"intentUnderstanding": {
"title": "Analyse et comprend votre intention..."
},
"knowledgeBase": {
"all": "Tout le contenu",
"allFiles": "Tous les fichiers",
Expand Down Expand Up @@ -144,7 +147,6 @@
"desc": "Détermine intelligemment si une recherche est nécessaire en fonction du contenu de la conversation",
"title": "Connexion intelligente"
},
"disable": "Le modèle actuel ne prend pas en charge l'appel de fonctions, donc la fonctionnalité de connexion intelligente est indisponible",
"off": {
"desc": "Utilise uniquement les connaissances de base du modèle, sans recherche en ligne",
"title": "Déconnexion"
Expand All @@ -155,6 +157,10 @@
},
"useModelBuiltin": "Utiliser le moteur de recherche intégré du modèle"
},
"searchModel": {
"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",
"title": "Modèle d'assistance à la recherche"
},
"title": "Recherche en ligne"
},
"searchAgentPlaceholder": "Assistant de recherche...",
Expand Down
8 changes: 7 additions & 1 deletion locales/it-IT/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@
"stop": "Ferma",
"warp": "A capo"
},
"intentUnderstanding": {
"title": "Analizzando e comprendendo le tue intenzioni..."
},
"knowledgeBase": {
"all": "Tutti i contenuti",
"allFiles": "Tutti i file",
Expand Down Expand Up @@ -144,7 +147,6 @@
"desc": "Determina intelligentemente se è necessario cercare in base al contenuto della conversazione",
"title": "Collegamento intelligente"
},
"disable": "Il modello attuale non supporta le chiamate di funzione, quindi non è possibile utilizzare la funzionalità di collegamento intelligente",
"off": {
"desc": "Utilizza solo la conoscenza di base del modello, senza effettuare ricerche online",
"title": "Disattiva collegamento"
Expand All @@ -155,6 +157,10 @@
},
"useModelBuiltin": "Utilizza il motore di ricerca integrato del modello"
},
"searchModel": {
"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",
"title": "Modello di ricerca assistita"
},
"title": "Ricerca online"
},
"searchAgentPlaceholder": "Assistente di ricerca...",
Expand Down
8 changes: 7 additions & 1 deletion locales/ja-JP/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@
"stop": "停止",
"warp": "改行"
},
"intentUnderstanding": {
"title": "あなたの意図を分析し理解しています..."
},
"knowledgeBase": {
"all": "すべてのコンテンツ",
"allFiles": "すべてのファイル",
Expand Down Expand Up @@ -144,7 +147,6 @@
"desc": "会話の内容に基づいて、検索が必要かどうかを自動的に判断します",
"title": "インテリジェント接続"
},
"disable": "現在のモデルは関数呼び出しをサポートしていないため、インテリジェント接続機能は使用できません",
"off": {
"desc": "モデルの基本知識のみを使用し、ネット検索は行いません",
"title": "接続をオフ"
Expand All @@ -155,6 +157,10 @@
},
"useModelBuiltin": "モデル内蔵の検索エンジンを使用"
},
"searchModel": {
"desc": "現在のモデルは関数呼び出しをサポートしていないため、関数呼び出しをサポートするモデルと組み合わせてネット検索を行う必要があります",
"title": "検索補助モデル"
},
"title": "ネット接続検索"
},
"searchAgentPlaceholder": "検索アシスタント...",
Expand Down
8 changes: 7 additions & 1 deletion locales/ko-KR/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@
"stop": "중지",
"warp": "줄바꿈"
},
"intentUnderstanding": {
"title": "귀하의 의도를 분석하고 이해하는 중입니다..."
},
"knowledgeBase": {
"all": "모든 내용",
"allFiles": "모든 파일",
Expand Down Expand Up @@ -144,7 +147,6 @@
"desc": "대화 내용을 기반으로 검색 필요성을 스마트하게 판단",
"title": "스마트 연결"
},
"disable": "현재 모델은 함수 호출을 지원하지 않으므로 스마트 연결 기능을 사용할 수 없습니다",
"off": {
"desc": "모델의 기본 지식만 사용하고 네트워크 검색을 수행하지 않음",
"title": "연결 끄기"
Expand All @@ -155,6 +157,10 @@
},
"useModelBuiltin": "모델 내장 검색 엔진 사용"
},
"searchModel": {
"desc": "현재 모델은 함수 호출을 지원하지 않으므로 함수 호출을 지원하는 모델과 함께 사용해야 인터넷 검색이 가능합니다.",
"title": "검색 보조 모델"
},
"title": "연결 검색"
},
"searchAgentPlaceholder": "검색 도우미...",
Expand Down
8 changes: 7 additions & 1 deletion locales/nl-NL/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@
"stop": "Stoppen",
"warp": "Nieuwe regel"
},
"intentUnderstanding": {
"title": "Bezig met het analyseren en begrijpen van uw intentie..."
},
"knowledgeBase": {
"all": "Alle inhoud",
"allFiles": "Alle bestanden",
Expand Down Expand Up @@ -144,7 +147,6 @@
"desc": "Intelligente beoordeling of er gezocht moet worden op basis van de gesprekinhoud",
"title": "Slimme verbinding"
},
"disable": "Het huidige model ondersteunt geen functieaanroepen, dus de slimme verbindingsfunctie kan niet worden gebruikt",
"off": {
"desc": "Gebruik alleen de basiskennis van het model, zonder online zoekopdrachten",
"title": "Verbinding uitschakelen"
Expand All @@ -155,6 +157,10 @@
},
"useModelBuiltin": "Gebruik de ingebouwde zoekmachine van het model"
},
"searchModel": {
"desc": "Het huidige model ondersteunt geen functieaanroepen, dus het moet worden gecombineerd met een model dat functieaanroepen ondersteunt om online te zoeken",
"title": "Zoekhulpmiddel model"
},
"title": "Online zoeken"
},
"searchAgentPlaceholder": "Zoekassistent...",
Expand Down
8 changes: 7 additions & 1 deletion locales/pl-PL/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@
"stop": "Zatrzymaj",
"warp": "Złamanie wiersza"
},
"intentUnderstanding": {
"title": "Analizuję i rozumiem Twoje intencje..."
},
"knowledgeBase": {
"all": "Wszystkie treści",
"allFiles": "Wszystkie pliki",
Expand Down Expand Up @@ -144,7 +147,6 @@
"desc": "Inteligentne określenie, czy potrzebne jest wyszukiwanie na podstawie treści rozmowy",
"title": "Inteligentne połączenie"
},
"disable": "Aktualny model nie obsługuje wywołań funkcji, więc nie można korzystać z inteligentnego połączenia",
"off": {
"desc": "Używaj tylko podstawowej wiedzy modelu, bez wyszukiwania w sieci",
"title": "Wyłącz połączenie"
Expand All @@ -155,6 +157,10 @@
},
"useModelBuiltin": "Użyj wbudowanej wyszukiwarki modelu"
},
"searchModel": {
"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ć",
"title": "Model wspomagający wyszukiwanie"
},
"title": "Wyszukiwanie w sieci"
},
"searchAgentPlaceholder": "Wyszukaj pomocnika...",
Expand Down
8 changes: 7 additions & 1 deletion locales/pt-BR/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@
"stop": "Parar",
"warp": "Quebrar linha"
},
"intentUnderstanding": {
"title": "Analisando e compreendendo sua intenção..."
},
"knowledgeBase": {
"all": "Todo conteúdo",
"allFiles": "Todos os arquivos",
Expand Down Expand Up @@ -144,7 +147,6 @@
"desc": "Determina inteligentemente se é necessário pesquisar com base no conteúdo da conversa",
"title": "Conexão Inteligente"
},
"disable": "O modelo atual não suporta chamadas de função, portanto, a funcionalidade de conexão inteligente não está disponível",
"off": {
"desc": "Usa apenas o conhecimento básico do modelo, sem realizar pesquisas na web",
"title": "Desativar Conexão"
Expand All @@ -155,6 +157,10 @@
},
"useModelBuiltin": "Usar o mecanismo de busca embutido no modelo"
},
"searchModel": {
"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",
"title": "Modelo de busca auxiliar"
},
"title": "Pesquisa Conectada"
},
"searchAgentPlaceholder": "Assistente de busca...",
Expand Down
Loading

0 comments on commit f284c25

Please sign in to comment.