Beim Erstellen unterhaltsamer Projekte mit Retrieval-Augmented Generation (RAG)-Anwendungen stoßen wir oft 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. Lass 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-Adresse festzulegen
3 -) Generieren Sie den geheimen Schlüssel
sed -i "s|ultrasecretkey|$(openssl rand -hex 32)|g" searxng/settings.yml sed -i"" -e "s|ultrasecretkey|$(openssl rand -hex 32)|g" searxng/settings.yml $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: "" # change this! limiter: false image_proxy: true ui: static_use_hash: true redis: url: redis://redis:6379/0 search: formats: - html - json
5-) SearXNG-Instanz ausführen
docker compose up
Ü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!
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3