Beim Erstellen unterhaltsamer Projekte mit Retrieval-Augmented Generation (RAG)-Anwendungen stoßen wir häufig auf Einschränkungen wie Browsing-Einschränkungen, die es schwierig machen, die neuesten Informationen oder aktuellen Daten wie Wetteraktualisierungen abzurufen (ich hoffe auf etwas Lustigeres). Um dieses Problem zu lösen, können wir unsere RAG-Anwendung mit Tools zum Durchsuchen des Internets ausstatten. Lasst uns eintauchen!
Zuerst beginnen wir mit der SearXNG-Installation.
1 -) Holen Sie sich SearXNG-Docker
Git-Klon https://github.com/searxng/searxng-docker.git
2 -) Bearbeiten Sie die .env-Datei, um den Hostnamen und eine E-Mail festzulegen
3 -) Generieren Sie den geheimen Schlüssel
<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 -) Aktualisieren Sie die Datei „searxng/settings.yml“, um verfügbare Suchformate zu aktivieren und den Begrenzer für unsere LangChain-Instanz zu deaktivieren:
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-) Führen Sie die SearXNG-Instanz aus
Docker-Komposition
Überprüfen Sie die SearXNG-Bereitstellung in Docker. Wenn alles gut aussieht, können Sie fortfahren.
1 -) Erstellen Sie eine virtuelle Umgebung und aktivieren Sie
python3 -m venv .venv source .venv/bin/activate
2 -) Langchain installieren
pip install langchain langchain-community
3 -) Main.py erstellen
## 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"], })
Und da haben Sie es! Ihre RAG-Anwendung verfügt jetzt über Suchfunktionen. Dieser Leitfaden führt nichts Neues ein, sondern soll die Schritte zum Hinzufügen von Websuchfunktionen zu Ihrer RAG-Anwendung zusammenfassen. Ich hoffe es hilft!
Das obige ist der detaillierte Inhalt vonErweitern Sie Ihre RAG-Anwendung mit Web-Suchfunktionen!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!