Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

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:

  1. 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
  2. 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

  1. Serper.dev adresini ziyaret edin
  2. Bir hesap için kaydolun
  3. API Key bölümüne gidin
  4. API anahtarınızı kopyalayın
  5. Bunu ortam değişkenlerinizde ayarlayın veya arayüz (UI) aracılığıyla sağlayın

SearXNG

  1. Web Search Configuration belgelerindeki kurulum talimatlarını izleyin
  2. SEARXNG_INSTANCE_URL değerini kendi instance URL'nize ayarlayın
  3. İsteğe bağlı olarak, eğer örneğiniz kimlik doğrulaması gerektiriyorsa SEARXNG_API_KEY değerini ayarlayın.

Tavily

  1. Tavily adresini ziyaret edin
  2. Bir hesap için kaydolun
  3. API anahtarınızı kopyalayın
  4. TAVILY_API_KEY değerini ortam değişkenlerinizde ayarlayın veya arayüz (UI) üzerinden sağlayın
  5. Tavily, hem arama sağlayıcısı hem de kazıyıcı (scraper) sağlayıcısı olarak kullanılabilir

Scraper: Firecrawl

  1. Firecrawl.dev adresini ziyaret edin
  2. Bir hesap için kaydolun
  3. API Key bölümüne gidin
  4. API anahtarınızı kopyalayın
  5. Bunu ortam değişkenlerinizde ayarlayın veya arayüz (UI) aracılığıyla sağlayın
  6. (İsteğe bağlı) Özel bir Firecrawl örneği kullanıyorsanız, API URL'sini de ayarlamanız gerekecektir.

Rerankers

Jina

  1. Jina.ai adresini ziyaret edin
  2. Bir hesap için kaydolun
  3. API Panosuna gidin
  4. API anahtarınızı kopyalayın
  5. Bunu ortam değişkenlerinizde ayarlayın veya arayüz (UI) aracılığıyla sağlayın

Cohere

  1. Cohere Dashboard adresini ziyaret edin
  2. Bir hesap için kaydolun
  3. API Keys bölümüne gidin
  4. API anahtarınızı kopyalayın
  5. 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
  • 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_KEY değerini kullanır
    • Yapılandırılabilir ayıklama derinliğini, görsel ayıklamayı ve favicon ayıklamayı destekler

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
  • None: rerankerType değ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:

  1. Tercih ettikleri yeniden sıralayıcıyı (Jina, Cohere veya hiçbiri) seçin
  2. Gerekli hizmetler için API anahtarlarını girin
  3. Gerekirse Firecrawl API URL'sini yapılandırın (isteğe bağlı)
  4. Gerekirse Jina API URL'sini yapılandırın (isteğe bağlı)
  5. 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:

  1. Sohbet Arayüzü: Sohbetiniz için web aramasını etkinleştirmek üzere sohbet arayüzündeki web arama düğmesine tıklayın
  2. Agents: Temsilcilerin internette arama yapmasını sağlamak için web_search yeteneğ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 safeSearch ayarını devralmaz; tavilySearchOptions.safeSearch öğesini yalnızca Tavily hesabınız safe_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?