Web Araması
LibreChat'in web arama özelliği, internette arama yapmanıza ve konuşmalarınızı geliştirmek için ilgili bilgileri almanıza olanak tanır. Bu özellik, kapsamlı arama sonuçları sağlamak için birlikte çalışan üç ana bileşenden oluşur.
Hızlı Başlangıç
Web aramaya başlamak için, bir arama sağlayıcısı ve kazıyıcı (scraper) için API anahtarlarını yapılandırmanız gerekir. Yeniden sıralama (reranking) için Jina veya Cohere kullanılabilir ya da rerankerType: "none" ile devre dışı bırakılabilir. Bunu iki şekilde yapabilirsiniz:
-
Ortam Değişkenleri (Yöneticiler için önerilir):
# 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 -
Kullanıcı Arayüzü (Eğer ortam değişkenleri ayarlanmadıysa):
- Kullanıcılar, web arama özelliğini ilk kez kullandıklarında gerekli API anahtarlarını girmeleri için yönlendirileceklerdir.
- Hangi arama sağlayıcısını (Serper, SearXNG veya Tavily) ve hangi yeniden sıralayıcı (reranker) hizmetini (Jina, Cohere veya hiçbiri) kullanacaklarını seçebilirler.
API Anahtarlarını Edinme
Etkinleştirilen her harici hizmet kendi API anahtarını gerektirir. Bunları nasıl edineceğiniz aşağıda açıklanmıştır:
Arama Sağlayıcıları
Serper
- Serper.dev adresini ziyaret edin
- Bir hesap için kaydolun
- API Key bölümüne gidin
- API anahtarınızı kopyalayın
- Bunu ortam değişkenlerinizde ayarlayın veya arayüz (UI) aracılığıyla sağlayın
SearXNG
- Web Search Configuration belgelerindeki kurulum talimatlarını izleyin
SEARXNG_INSTANCE_URLdeğerini kendi instance URL'nize ayarlayın- İsteğe bağlı olarak, eğer örneğiniz kimlik doğrulaması gerektiriyorsa
SEARXNG_API_KEYdeğerini ayarlayın.
Tavily
- Tavily adresini ziyaret edin
- Bir hesap için kaydolun
- API anahtarınızı kopyalayın
TAVILY_API_KEYdeğerini ortam değişkenlerinizde ayarlayın veya arayüz (UI) üzerinden sağlayın- Tavily, hem arama sağlayıcısı hem de kazıyıcı (scraper) sağlayıcısı olarak kullanılabilir
Scraper: Firecrawl
- Firecrawl.dev adresini ziyaret edin
- Bir hesap için kaydolun
- API Key bölümüne gidin
- API anahtarınızı kopyalayın
- Bunu ortam değişkenlerinizde ayarlayın veya arayüz (UI) aracılığıyla sağlayın
- (İsteğe bağlı) Özel bir Firecrawl örneği kullanıyorsanız, API URL'sini de ayarlamanız gerekecektir.
Rerankers
Jina
- Jina.ai adresini ziyaret edin
- Bir hesap için kaydolun
- API Panosuna gidin
- API anahtarınızı kopyalayın
- Bunu ortam değişkenlerinizde ayarlayın veya arayüz (UI) aracılığıyla sağlayın
Cohere
- Cohere Dashboard adresini ziyaret edin
- Bir hesap için kaydolun
- API Keys bölümüne gidin
- API anahtarınızı kopyalayın
- Bunu ortam değişkenlerinizde ayarlayın veya arayüz (UI) aracılığıyla sağlayın
Bileşenler
1. Arama Sağlayıcıları
Arama sağlayıcıları, ilk web aramasını gerçekleştirmekten ve ilgili sonuçları döndürmekten sorumludur.
Kullanılabilir Sağlayıcılar:
- Serper: Yüksek kaliteli arama sonuçları sağlayan bir Google Arama API'si
- API anahtarınızı Serper.dev adresinden alın
- SearXNG: Açık kaynaklı, kendi kendine barındırılan meta arama motoru
- Kendi LibreChat örneğinizi barındırın
- Gizlilik odaklı arama sonuçları
- Tavily: Yapay zeka için optimize edilmiş arama API'si
- API anahtarınızı Tavily üzerinden alın
- Yapılandırılabilir arama derinliği, konu filtreleme, alan adı filtreleme ve daha fazlasını destekler
- Ayrıca bir scraper sağlayıcısı olarak da hizmet verebilir
2. Scrapers
Scraper'lar, arama sağlayıcısı tarafından döndürülen web sayfalarından gerçek içeriği çıkarır.
Kullanılabilir Kazıyıcılar:
-
Firecrawl: Web sayfalarından içerik çıkaran güçlü bir web kazıma hizmeti
- API anahtarınızı Firecrawl.dev adresinden alın
- API URL isteğe bağlıdır (varsayılan olarak Firecrawl'un barındırılan hizmetini kullanır)
-
Tavily: Tavily Extract API aracılığıyla toplu URL çıkarma
- Arama sağlayıcısı ile aynı
TAVILY_API_KEYdeğerini kullanır - Yapılandırılabilir ayıklama derinliğini, görsel ayıklamayı ve favicon ayıklamayı destekler
- Arama sağlayıcısı ile aynı
Planlanan Kazıyıcılar:
- Local Firecrawl: Firecrawl'un kendi kendine barındırılan (self-hosted) sürümü
- Ek üçüncü taraf scraping hizmetleri
3. Rerankers
Rerankers, en alakalı kısımları belirlemek ve daha iyi sonuçlar elde etmek için bunları yeniden sıralamak amacıyla taranan içeriği analiz eder.
Kullanılabilir Reranker'lar:
- Jina: Yapay zeka destekli yeniden sıralama (reranking) hizmeti
- API anahtarınızı Jina.ai adresinden alın
- API URL isteğe bağlıdır (varsayılan olarak Jina'nın barındırılan hizmetini kullanır)
- Cohere: Gelişmiş yeniden sıralama (reranking) hizmeti
- API anahtarınızı Cohere Dashboard üzerinden alın
- None:
rerankerTypedeğeri"none"olarak ayarlandığında yeniden sıralamayı (reranking) atlar
Planlanan Yeniden Sıralayıcılar (Rerankers):
- RAG API: RAG (Retrieval-Augmented Generation) kullanarak açık kaynaklı yeniden sıralama (reranking)
- Ek üçüncü taraf yeniden sıralama (reranking) hizmetleri
Yapılandırma
Yönetici Yapılandırması
Yöneticiler, web arama özelliğini ortam değişkenlerini kullanarak yapılandırabilirler. YAML yapılandırması, her bileşen için özel ortam değişkeni adları belirlemenize olanak tanır.
⚠️ Önemli: YAML dosyasına asla gerçek API anahtarlarını veya değerlerini koymayın (çalışmayacaklardır) - yalnızca ortam değişkeni isimlerini kullanın.
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)Not: YAML yapılandırması yalnızca ortam değişkeni isimlerini (${VARIABLE_NAME} formatında) içermelidir. Bu esneklik şunları sağlar:
- Farklı ortamlarda farklı değişken isimleri kullanma
- Farklı kullanıcı grupları için birden fazla yapılandırmayı destekleme
- Rol tabanlı yapılandırmalarla gelecekteki entegrasyon
Sistemi yalnızca belirli hizmetleri kullanacak şekilde kısıtlamak istiyorsanız, hizmet türlerini belirtebilirsiniz:
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"Kullanıcı Yapılandırması
Eğer yönetici gerekli tüm API anahtarlarını yapılandırmadıysa, kullanıcılardan bunları arayüz üzerinden sağlamaları istenecektir. Arayüz, kullanıcıların şunları yapmasına olanak tanır:
- Tercih ettikleri yeniden sıralayıcıyı (Jina, Cohere veya hiçbiri) seçin
- Gerekli hizmetler için API anahtarlarını girin
- Gerekirse Firecrawl API URL'sini yapılandırın (isteğe bağlı)
- Gerekirse Jina API URL'sini yapılandırın (isteğe bağlı)
- Gerekirse Tavily Search veya Extract API URL'lerini yapılandırın (isteğe bağlı)
Kullanım
Yapılandırıldıktan sonra, web aramasını iki şekilde kullanabilirsiniz:
- Sohbet Arayüzü: Sohbetiniz için web aramasını etkinleştirmek üzere sohbet arayüzündeki web arama düğmesine tıklayın
- Agents: Temsilcilerin internette arama yapmasını sağlamak için
web_searchyeteneğini kullanın
Notlar
- Arama sağlayıcısı ve kazıyıcı yapılandırması gereklidir; yeniden sıralama (reranking),
rerankerType: "none"ile devre dışı bırakılabilir. - Firecrawl API URL'si isteğe bağlıdır ve varsayılan olarak barındırılan hizmetlerini kullanır
- Jina API URL'i isteğe bağlıdır ve varsayılan olarak kendi barındırdıkları hizmeti kullanır.
- Tavily Search ve Extract API URL'leri isteğe bağlıdır ve varsayılan olarak Tavily'nin barındırılan hizmetlerini kullanır.
- Safe search, üç seviyeli içerik filtreleme sağlar: OFF (0), MODERATE (1 - varsayılan) ve STRICT (2)
- Tavily, varsayılan olarak genel
safeSearchayarını devralmaz;tavilySearchOptions.safeSearchöğesini yalnızca Tavily hesabınızsafe_searchözelliğini destekliyorsa kullanın. - Kazıyıcı zaman aşımı varsayılan olarak 7,5 saniyeye (7500ms) ayarlanmıştır.
- API anahtarları, arayüz (UI) üzerinden istenildiği zaman iptal edilebilir.
- Gelecek güncellemeler, tüm bileşenler için daha fazla açık kaynaklı, kendi kendine barındırılan (self-hosted) seçenekler içerecektir.
- Planlanan ek özelleştirme seçenekleri şunlardır:
- Taranacak bağlantı sayısı üzerinde kontrol
- Kazıma (scraping) için alan adı izin listesi/engelleme listesi
- Özel kazıma kuralları ve filtreleri
- Gelişmiş sonuç filtreleme ve sıralama seçenekleri
- Hız sınırlama ve istek kısıtlama kontrolleri
Bu rehber nasıl?