Ao construir projetos divertidos com aplicativos Retrieval-Augmented Generation (RAG), muitas vezes enfrentamos limitações como restrições de navegação, tornando difícil obter as informações mais recentes ou dados atuais, como atualizações meteorológicas (espero algo mais engraçado). Para resolver isso, podemos equipar nosso aplicativo RAG com ferramentas de busca na internet. Vamos mergulhar!
Primeiro começamos com a instalação do SearXNG.
1 -) Obtenha a janela de encaixe SearXNG
clone do git https://github.com/searxng/searxng-docker.git
2 -) Edite o arquivo .env para definir o nome do host e um email
3 -) Gere a chave 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 -) Atualize o searxng/settings.yml para ativar os formatos de pesquisa disponíveis e desativar o limitador para nossa instância 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-) Execute a instância SearXNG
docker compõe
Verifique a implantação do SearXNG no Docker. Se tudo estiver certo, você está pronto para continuar.
1 -) Crie um ambiente virtual e ative
python3 -m venv .venv source .venv/bin/activate
2 -) Instalar Langchain
pip install langchain langchain-community
3 -) Criar 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"], })
E aí está! Seu aplicativo RAG agora possui recursos de pesquisa. Este guia não apresenta nada de novo, mas visa reunir as etapas para adicionar funcionalidade de pesquisa na web ao seu aplicativo RAG. Espero que ajude!
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3