Al crear proyectos divertidos con aplicaciones de recuperación de generación aumentada (RAG), a menudo nos enfrentamos a limitaciones como restricciones de navegación, lo que dificulta obtener la información más reciente o los datos actuales, como actualizaciones del clima (espero algo más divertido). Para solucionar esto, podemos equipar nuestra aplicación RAG con herramientas para buscar en Internet. ¡Vamos a sumergirnos!
Primero comenzamos con la instalación de SearXNG.
1 -) Obtener SearXNG-docker
clon de git https://github.com/searxng/searxng-docker.git
2 -) Edite el archivo .env para configurar el nombre de host y un correo electrónico
3 -) Generar la clave secreta
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 -) Actualice searchxng/settings.yml para habilitar los formatos de búsqueda disponibles y deshabilitar el limitador para nuestra instancia de LangChain:
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-) Ejecutar instancia SearXNG
la ventana acoplable compone
Verifique la implementación de SearXNG en Docker. Si todo se ve bien, estás listo para continuar.
1 -) Crear un entorno virtual y activarlo
python3 -m venv .venv source .venv/bin/activate
2 -) Instalar Langchain
pip install langchain langchain-community
3 -) Crear 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"], })
¡Y ahí lo tienes! Su aplicación RAG ahora tiene capacidades de búsqueda. Esta guía no presenta nada nuevo, pero tiene como objetivo reunir los pasos para agregar la funcionalidad de búsqueda web a su aplicación RAG. ¡Espero que te ayude!
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3