Wyszukiwanie w sieci
Funkcja wyszukiwania w internecie w LibreChat umożliwia przeszukiwanie sieci i pobieranie istotnych informacji w celu wzbogacenia Twoich konwersacji. Funkcja ta składa się z trzech głównych komponentów, które współpracują ze sobą, aby zapewnić kompleksowe wyniki wyszukiwania.
Szybki start
Aby rozpocząć korzystanie z wyszukiwania w sieci, musisz skonfigurować klucze API dla dostawcy wyszukiwania oraz narzędzia do scrapowania. Przeranking (reranking) może korzystać z Jina lub Cohere, albo zostać wyłączony za pomocą rerankerType: "none". Możesz to zrobić na dwa sposoby:
-
Zmienne środowiskowe (Zalecane dla administratorów):
# Search Provider (Required - choose one) SERPER_API_KEY=your_serper_api_key # or SEARXNG_INSTANCE_URL=your_searxng_instance_url SEARXNG_API_KEY=your_searxng_api_key # Optional # or TAVILY_API_KEY=your_tavily_api_key # Scraper (Required - choose one) FIRECRAWL_API_KEY=your_firecrawl_api_key # Optional: Custom Firecrawl API URL FIRECRAWL_API_URL=your_firecrawl_api_url # Optional: Firecrawl API version (v0 or v1) # FIRECRAWL_VERSION=v1 # or TAVILY_API_KEY=your_tavily_api_key # Reranker (Optional - choose one, or set rerankerType: "none") JINA_API_KEY=your_jina_api_key # Optional: Custom Jina API URL JINA_API_URL=your_jina_api_url # or COHERE_API_KEY=your_cohere_api_key -
Interfejs użytkownika (jeśli zmienne środowiskowe nie są ustawione):
- Użytkownicy zostaną poproszeni o wprowadzenie wymaganych kluczy API przy pierwszym użyciu funkcji wyszukiwania w sieci.
- Mogą oni wybrać, którego dostawcę wyszukiwania (Serper, SearXNG lub Tavily) oraz której usługi rerankera (Jina, Cohere lub brak) użyć.
Uzyskiwanie kluczy API
Każda włączona usługa zewnętrzna wymaga własnego klucza API. Oto jak je uzyskać:
Dostawcy wyszukiwania
Serper
- Odwiedź Serper.dev
- Zarejestruj konto
- Przejdź do sekcji API Key
- Skopiuj swój klucz API
- Ustaw to w swoich zmiennych środowiskowych lub podaj przez UI
SearXNG
- Postępuj zgodnie z instrukcjami konfiguracji w dokumentacji Web Search Configuration
- Ustaw
SEARXNG_INSTANCE_URLna adres URL swojej instancji - Opcjonalnie ustaw
SEARXNG_API_KEY, jeśli Twoja instancja wymaga uwierzytelnienia
Tavily
- Odwiedź Tavily
- Zarejestruj konto
- Skopiuj swój klucz API
- Ustaw
TAVILY_API_KEYw swoich zmiennych środowiskowych lub podaj go za pośrednictwem interfejsu użytkownika (UI) - Tavily może być używany zarówno jako dostawca wyszukiwania, jak i dostawca scrapingu.
Scraper: Firecrawl
- Odwiedź Firecrawl.dev
- Zarejestruj konto
- Przejdź do sekcji API Key
- Skopiuj swój klucz API
- Ustaw to w swoich zmiennych środowiskowych lub podaj przez UI
- (Opcjonalnie) Jeśli używasz własnej instancji Firecrawl, musisz również ustawić adres URL API
Rerankers
Jina
- Odwiedź Jina.ai
- Zarejestruj konto
- Przejdź do pulpitu nawigacyjnego API
- Skopiuj swój klucz API
- Ustaw to w swoich zmiennych środowiskowych lub podaj przez UI
Cohere
- Odwiedź Cohere Dashboard
- Zarejestruj konto
- Przejdź do sekcji API Keys
- Skopiuj swój klucz API
- Ustaw to w swoich zmiennych środowiskowych lub podaj przez UI
Komponenty
1. Dostawcy wyszukiwania
Dostawcy wyszukiwania odpowiadają za przeprowadzenie wstępnego wyszukiwania w sieci i zwrócenie odpowiednich wyników.
Dostępni dostawcy:
- Serper: API wyszukiwarki Google, które zapewnia wysokiej jakości wyniki wyszukiwania
- Pobierz swój klucz API z Serper.dev
- SearXNG: Otwartoźródłowa, hostowana samodzielnie metawyszukiwarka
- Hostuj samodzielnie własną instancję
- Wyniki wyszukiwania zorientowane na prywatność
- Tavily: API wyszukiwania zoptymalizowane pod kątem AI
- Pobierz swój klucz API z Tavily
- Obsługuje konfigurowalną głębokość wyszukiwania, filtrowanie tematów, filtrowanie domen i wiele więcej
- Może również służyć jako dostawca scrapingu
2. Scrapers
Scrapers wyodrębniają właściwą treść ze stron internetowych zwróconych przez dostawcę wyszukiwania.
Dostępne scrapery:
-
Firecrawl: Potężna usługa web scrapingu, która wyodrębnia zawartość ze stron internetowych
- Pobierz swój klucz API z Firecrawl.dev
- API URL jest opcjonalny (domyślnie używana jest usługa hostowana Firecrawl)
-
Tavily: Przetwarzanie wsadowe ekstrakcji adresów URL za pośrednictwem Tavily Extract API
- Używa tego samego
TAVILY_API_KEYco dostawca wyszukiwania - Obsługuje konfigurowalną głębokość ekstrakcji, ekstrakcję obrazów oraz ekstrakcję favicon.
- Używa tego samego
Planowane scrapery:
- Local Firecrawl: Własna instancja Firecrawl
- Dodatkowe usługi scrapingu stron trzecich
3. Rerankers
Rerankery analizują pobraną zawartość, aby określić najbardziej istotne części i zmienić ich kolejność w celu uzyskania lepszych wyników.
Dostępne rerankery:
- Jina: Usługa rerankingu oparta na AI
- Pobierz swój klucz API z Jina.ai
- URL API jest opcjonalny (domyślnie używana jest usługa hostowana przez Jina)
- Cohere: Zaawansowana usługa rerankingu
- Pobierz swój klucz API z Cohere Dashboard
- None: Pomija reranking, gdy
rerankerTypejest ustawiony na"none"
Planowane Rerankery:
- RAG API: Reranking typu open-source przy użyciu RAG (Retrieval-Augmented Generation)
- Dodatkowe usługi rerankingu innych firm
Konfiguracja
Konfiguracja administratora
Administratorzy mogą skonfigurować funkcję wyszukiwania w sieci za pomocą zmiennych środowiskowych. Konfiguracja YAML pozwala na określenie niestandardowych nazw zmiennych środowiskowych dla każdego komponentu.
⚠️ Ważne: Nigdy nie umieszczaj rzeczywistych kluczy API ani wartości w pliku YAML (nie będą działać) – używaj wyłącznie nazw zmiennych środowiskowych.
webSearch:
# Search Provider Configuration
serperApiKey: "${CUSTOM_SERPER_API_KEY}" # ✅ Correct: Using environment variable name
# serperApiKey: "sk-123..." # ❌ Wrong: Never put actual API keys here
# or
searxngInstanceUrl: "${CUSTOM_SEARXNG_INSTANCE_URL}" # ✅ Correct: Using environment variable name
searxngApiKey: "${CUSTOM_SEARXNG_API_KEY}" # ✅ Correct: Using environment variable name
# searxngInstanceUrl: "http://..." # ❌ Wrong: Never put actual URLs here
# searxngApiKey: "sk-123..." # ❌ Wrong: Never put actual API keys here
# Tavily Configuration (search and/or scraper)
tavilyApiKey: "${CUSTOM_TAVILY_API_KEY}"
tavilySearchUrl: "${CUSTOM_TAVILY_SEARCH_URL}"
tavilyExtractUrl: "${CUSTOM_TAVILY_EXTRACT_URL}"
# Scraper Configuration
firecrawlApiKey: "${CUSTOM_FIRECRAWL_API_KEY}"
firecrawlApiUrl: "${CUSTOM_FIRECRAWL_API_URL}"
# firecrawlApiKey: "fc-123..." # ❌ Wrong: Never put actual API keys here
# firecrawlApiUrl: "https://..." # ❌ Wrong: Never put actual URLs here
# Reranker Configuration
jinaApiKey: "${CUSTOM_JINA_API_KEY}"
jinaApiUrl: "${CUSTOM_JINA_API_URL}"
cohereApiKey: "${CUSTOM_COHERE_API_KEY}"
# jinaApiKey: "jn-123..." # ❌ Wrong: Never put actual API keys here
# jinaApiUrl: "https://..." # ❌ Wrong: Never put actual URLs here
# cohereApiKey: "ch-123..." # ❌ Wrong: Never put actual API keys here
# General Settings
safeSearch: 1 # Options: 0 (OFF), 1 (MODERATE - default), 2 (STRICT)Uwaga: Konfiguracja YAML powinna zawierać wyłącznie nazwy zmiennych środowiskowych (w formacie ${VARIABLE_NAME}). Ta elastyczność umożliwia:
- Używanie różnych nazw zmiennych w różnych środowiskach
- Obsługa wielu konfiguracji dla różnych grup użytkowników
- Przyszła integracja z konfiguracjami opartymi na rolach
Jeśli chcesz ograniczyć system tak, aby korzystał tylko z określonych usług, możesz wyszczególnić typy usług:
webSearch:
# ... variable configurations ...
searchProvider: "serper" # Only use Serper for search
# searchProvider: "searxng" # Only use SearXNG for search
# searchProvider: "tavily" # Only use Tavily for search
scraperProvider: "firecrawl" # Only use Firecrawl for scraping
# scraperProvider: "tavily" # Only use Tavily for scraping
rerankerType: "jina" # Options: "jina", "cohere", "none"Konfiguracja użytkownika
Jeśli administrator nie skonfigurował wszystkich niezbędnych kluczy API, użytkownicy zostaną poproszeni o ich podanie za pośrednictwem interfejsu użytkownika. Interfejs umożliwia użytkownikom:
- Wybierz preferowany reranker (Jina, Cohere lub brak)
- Wprowadź klucze API dla wymaganych usług
- Skonfiguruj adres URL API Firecrawl, jeśli to konieczne (opcjonalne)
- Skonfiguruj adres URL API Jina, jeśli to konieczne (opcjonalne)
- Skonfiguruj adresy URL API Tavily Search lub Extract, jeśli to konieczne (opcjonalne)
Użycie
Po skonfigurowaniu możesz korzystać z wyszukiwania w internecie na dwa sposoby:
- Interfejs czatu: Kliknij przycisk wyszukiwania w sieci w interfejsie czatu, aby włączyć wyszukiwanie w sieci dla swojej konwersacji
- Agenci: Użyj funkcji
web_searchw agentach, aby umożliwić im przeszukiwanie sieci
Uwagi
- Wymagana jest konfiguracja dostawcy wyszukiwania i scrapera; reranking można wyłączyć za pomocą
rerankerType: "none" - Adres URL API Firecrawl jest opcjonalny i domyślnie wskazuje na ich usługę hostowaną.
- Adres URL Jina API jest opcjonalny i domyślnie wskazuje na ich hostowaną usługę
- Adresy URL API Tavily Search and Extract są opcjonalne i domyślnie wskazują na usługi hostowane przez Tavily.
- Safe search zapewnia trzy poziomy filtrowania treści: OFF (0), MODERATE (1 - domyślny) oraz STRICT (2)
- Tavily domyślnie nie dziedziczy globalnego ustawienia
safeSearch; używajtavilySearchOptions.safeSearchtylko wtedy, gdy Twoje konto Tavily obsługujesafe_search - Limit czasu skanera (scraper timeout) jest domyślnie ustawiony na 7,5 sekundy (7500ms)
- Klucze API można w każdej chwili unieważnić za pośrednictwem interfejsu użytkownika.
- Przyszłe aktualizacje będą zawierać więcej opcji open-source i self-hosted dla wszystkich komponentów
- Planowane są dodatkowe opcje dostosowywania, w tym:
- Kontrola nad liczbą linków do pobrania
- Lista dozwolonych/zablokowanych domen dla scrapingu
- Niestandardowe reguły i filtry scrapowania
- Zaawansowane opcje filtrowania i rankingu wyników
- Kontrola limitów szybkości i ograniczania żądań
Jaka jest ta instrukcja?