Apabila membina projek yang menyeronokkan dengan aplikasi Retrieval-Augmented Generation (RAG), kami sering menghadapi pengehadan seperti sekatan menyemak imbas, menjadikannya sukar untuk mendapatkan maklumat terkini atau data semasa, seperti kemas kini cuaca (saya harap sesuatu yang lebih lucu). Untuk menyelesaikannya, kami boleh melengkapkan aplikasi RAG kami dengan alat untuk mencari di internet. Mari selami!
Mula-mula kita mulakan dengan pemasangan SearXNG.
1 -) Dapatkan SearXNG-docker
klon git https://github.com/searxng/searxng-docker.git
2 -) Edit fail .env untuk menetapkan nama hos dan e-mel
3 -) Jana kunci rahsia
<Linux> sed -i "s|ultrasecretkey|$(openssl rand -hex 32)|g" searxng/settings.yml <MacOS> sed -i"" -e "s|ultrasecretkey|$(openssl rand -hex 32)|g" searxng/settings.yml <Windows> $randomBytes = New-Object byte[] 32 (New-Object Security.Cryptography.RNGCryptoServiceProvider).GetBytes($randomBytes) $secretKey = -join ($randomBytes | ForEach-Object { "{0:x2}" -f $_ }) (Get-Content searxng/settings.yml) -replace 'ultrasecretkey', $secretKey | Set-Content searxng/settings.yml
4 -) Kemas kini searxng/settings.yml untuk mendayakan format carian yang tersedia dan lumpuhkan pengehad untuk contoh LangChain kami:
use_default_settings: true server: # base_url is defined in the SEARXNG_BASE_URL environment variable, see .env and docker-compose.yml secret_key: "<secret-key>" # change this! limiter: false image_proxy: true ui: static_use_hash: true redis: url: redis://redis:6379/0 search: formats: - html - json
5-) Jalankan Instance SearXNG
karang buruh pelabuhan
Semak penggunaan SearXNG dalam Docker. Jika semuanya kelihatan baik, anda bersedia untuk meneruskan.
1 -) Cipta persekitaran maya & aktifkan
python3 -m venv .venv source .venv/bin/activate
2 -) Pasang Langchain
pip install langchain langchain-community
3 -) Cipta main.py
## Simple Get Results from langchain_community.utilities import SearxSearchWrapper import pprint s = SearxSearchWrapper(searx_host="http://localhost:8080",) result = s.results("What is RAG?", num_results=10, engines=["google"]) pprint.pprint(result) ## Github Tool from langchain_community.tools.searx_search.tool import SearxSearchResults wrapper = SearxSearchWrapper(searx_host="**") github_tool = SearxSearchResults(name="Github", wrapper=wrapper, kwargs = { "engines": ["github"], })
Dan begitulah! Aplikasi RAG anda kini mempunyai keupayaan carian. Panduan ini tidak memperkenalkan sesuatu yang baharu tetapi bertujuan untuk mengumpulkan langkah-langkah untuk menambahkan fungsi carian web pada aplikasi RAG anda. Saya harap ia membantu!
Atas ialah kandungan terperinci Tingkatkan Aplikasi RAG Anda Dengan Keupayaan Mencari Web!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!