Pencarian Web
Fitur pencarian web LibreChat memungkinkan Anda untuk mencari di internet dan mengambil informasi yang relevan untuk meningkatkan percakapan Anda. Fitur ini terdiri dari tiga komponen utama yang bekerja bersama untuk memberikan hasil pencarian yang komprehensif.
Memulai Cepat
Untuk memulai dengan pencarian web, Anda perlu mengonfigurasi kunci API untuk penyedia pencarian dan scraper. Reranking dapat menggunakan Jina atau Cohere, atau dinonaktifkan dengan rerankerType: "none". Anda dapat melakukan ini dengan dua cara:
-
Variabel Lingkungan (Direkomendasikan untuk admin):
# 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 -
Antarmuka Pengguna (Jika variabel lingkungan tidak diatur):
- Pengguna akan diminta untuk memasukkan kunci API yang diperlukan saat mereka pertama kali menggunakan fitur pencarian web.
- Mereka dapat memilih penyedia pencarian (Serper, SearXNG, atau Tavily) dan layanan reranker mana yang akan digunakan (Jina, Cohere, atau tidak sama sekali)
Mendapatkan API Keys
Setiap layanan eksternal yang diaktifkan memerlukan kunci API-nya sendiri. Berikut cara mendapatkannya:
Penyedia Pencarian
Serper
- Kunjungi Serper.dev
- Daftar untuk sebuah akun
- Buka bagian API Key
- Salin kunci API Anda
- Atur di variabel lingkungan Anda atau sediakan melalui UI
SearXNG
- Ikuti petunjuk pengaturan dalam dokumentasi Web Search Configuration
- Atur
SEARXNG_INSTANCE_URLke URL instance Anda - Secara opsional, atur
SEARXNG_API_KEYjika instance Anda memerlukan autentikasi
Tavily
- Kunjungi Tavily
- Daftar untuk sebuah akun
- Salin kunci API Anda
- Atur
TAVILY_API_KEYdi variabel lingkungan Anda atau sediakan melalui UI - Tavily dapat digunakan baik sebagai penyedia pencarian maupun penyedia scraper
Scraper: Firecrawl
- Kunjungi Firecrawl.dev
- Daftar untuk sebuah akun
- Buka bagian API Key
- Salin kunci API Anda
- Atur di variabel lingkungan Anda atau sediakan melalui UI
- (Opsional) Jika Anda menggunakan instance Firecrawl kustom, Anda juga perlu mengatur API URL
Rerankers
Jina
- Kunjungi Jina.ai
- Daftar untuk sebuah akun
- Buka Dasbor API
- Salin kunci API Anda
- Atur di variabel lingkungan Anda atau sediakan melalui UI
Cohere
- Kunjungi Cohere Dashboard
- Daftar untuk sebuah akun
- Navigasikan ke bagian API Keys
- Salin kunci API Anda
- Atur di variabel lingkungan Anda atau sediakan melalui UI
Komponen
1. Penyedia Pencarian
Penyedia pencarian bertanggung jawab untuk melakukan pencarian web awal dan mengembalikan hasil yang relevan.
Penyedia yang Tersedia:
- Serper: API Google Search yang menyediakan hasil pencarian berkualitas tinggi
- Dapatkan kunci API Anda dari Serper.dev
- SearXNG: Mesin pencari meta sumber terbuka yang di-host sendiri
- Self-host instance Anda sendiri
- Hasil pencarian yang mengutamakan privasi
- Tavily: API pencarian yang dioptimalkan untuk AI
- Dapatkan kunci API Anda dari Tavily
- Mendukung kedalaman pencarian yang dapat dikonfigurasi, penyaringan topik, penyaringan domain, dan banyak lagi
- Juga dapat berfungsi sebagai penyedia scraper
2. Scrapers
Scrapers mengekstrak konten aktual dari halaman web yang dikembalikan oleh penyedia pencarian.
Scraper yang Tersedia:
-
Firecrawl: Layanan web scraping canggih yang mengekstrak konten dari halaman web
- Dapatkan kunci API Anda dari Firecrawl.dev
- URL API bersifat opsional (defaultnya adalah layanan yang dihosting oleh Firecrawl)
-
Tavily: Ekstraksi URL batch melalui Tavily Extract API
- Menggunakan
TAVILY_API_KEYyang sama dengan penyedia pencarian - Mendukung kedalaman ekstraksi yang dapat dikonfigurasi, ekstraksi gambar, dan ekstraksi favicon
- Menggunakan
Scraper yang Direncanakan:
- Local Firecrawl: Versi self-hosted dari Firecrawl
- Layanan scraping pihak ketiga tambahan
3. Rerankers
Rerankers menganalisis konten yang telah dikikis untuk menentukan bagian yang paling relevan dan menyusunnya kembali demi hasil yang lebih baik.
Reranker yang Tersedia:
- Jina: Layanan reranking berbasis AI
- Dapatkan kunci API Anda dari Jina.ai
- API URL bersifat opsional (defaultnya adalah layanan yang dihosting oleh Jina)
- Cohere: Layanan pemeringkatan ulang (reranking) tingkat lanjut
- Dapatkan kunci API Anda dari Cohere Dashboard
- None: Melewati proses reranking saat
rerankerTypediatur ke"none"
Reranker yang Direncanakan:
- RAG API: Reranking sumber terbuka menggunakan RAG (Retrieval-Augmented Generation)
- Layanan reranking pihak ketiga tambahan
Konfigurasi
Konfigurasi Admin
Admin dapat mengonfigurasi fitur pencarian web menggunakan variabel lingkungan. Konfigurasi YAML memungkinkan Anda untuk menentukan nama variabel lingkungan kustom untuk setiap komponen.
β οΈ Penting: Jangan pernah memasukkan kunci API atau nilai yang sebenarnya ke dalam file YAML (kunci tersebut tidak akan berfungsi)βhanya gunakan nama variabel lingkungan.
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)Catatan: Konfigurasi YAML hanya boleh berisi nama variabel lingkungan (dalam format ${VARIABLE_NAME}). Fleksibilitas ini memungkinkan:
- Menggunakan nama variabel yang berbeda di lingkungan yang berbeda
- Mendukung berbagai konfigurasi untuk kelompok pengguna yang berbeda
- Integrasi di masa mendatang dengan konfigurasi berbasis peran
Jika Anda ingin membatasi sistem agar hanya menggunakan layanan tertentu, Anda dapat menentukan jenis layanannya:
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"Konfigurasi Pengguna
Jika admin belum mengonfigurasi semua kunci API yang diperlukan, pengguna akan diminta untuk menyediakannya melalui UI. Antarmuka ini memungkinkan pengguna untuk:
- Pilih reranker pilihan mereka (Jina, Cohere, atau tidak sama sekali)
- Masukkan kunci API untuk layanan yang diperlukan
- Konfigurasikan URL API Firecrawl jika diperlukan (opsional)
- Konfigurasikan URL API Jina jika diperlukan (opsional)
- Konfigurasikan URL API Tavily Search atau Extract jika diperlukan (opsional)
Penggunaan
Setelah dikonfigurasi, Anda dapat menggunakan pencarian web dengan dua cara:
- Antarmuka Obrolan: Klik tombol pencarian web di antarmuka obrolan untuk mengaktifkan pencarian web bagi percakapan Anda
- Agents: Gunakan kapabilitas
web_searchpada agents untuk memungkinkan mereka melakukan pencarian di web
Catatan
- Konfigurasi penyedia pencarian (search provider) dan scraper diperlukan; reranking dapat dinonaktifkan dengan
rerankerType: "none" - URL API Firecrawl bersifat opsional dan secara default menggunakan layanan yang mereka sediakan.
- URL Jina API bersifat opsional dan secara default akan menggunakan layanan yang mereka sediakan.
- URL API Tavily Search and Extract bersifat opsional dan secara default menggunakan layanan yang dihosting oleh Tavily
- Safe search menyediakan tiga tingkat penyaringan konten: OFF (0), MODERATE (1 - default), dan STRICT (2)
- Tavily tidak mewarisi pengaturan
safeSearchglobal secara default; gunakantavilySearchOptions.safeSearchhanya jika akun Tavily Anda mendukungsafe_search - Batas waktu scraper diatur ke 7,5 detik (7500ms) secara default
- API keys dapat dicabut kapan saja melalui UI
- Pembaruan di masa mendatang akan mencakup lebih banyak opsi sumber terbuka (open-source) yang di-host sendiri (self-hosted) untuk semua komponen
- Opsi kustomisasi tambahan sedang direncanakan, termasuk:
- Kontrol atas jumlah tautan yang akan di-scrape
- Daftar izin/daftar blokir domain untuk scraping
- Aturan scraping dan filter kustom
- Opsi pemfilteran dan pemeringkatan hasil tingkat lanjut
- Kontrol pembatasan laju (rate limiting) dan pelambatan permintaan (request throttling)
Bagaimana panduan ini?