當使用檢索增強生成(RAG)應用程式建立有趣的專案時,我們經常面臨瀏覽限制等限制,這使得很難獲取最新資訊或當前數據,例如天氣更新(我希望有更有趣的東西) 。為了解決這個問題,我們可以為 RAG 應用程式配備搜尋網路的工具。讓我們開始吧!
首先我們先從 SearXNG 安裝開始。
1 -) 取得 SearXNG-docker
git 複製 https://github.com/searxng/searxng-docker.git
2 -) 編輯 .env 檔案以設定主機名稱和電子郵件
3 -) 產生金鑰
<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 -) 更新searxng/settings.yml以啟用可用的搜尋格式並停用我們的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: "<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 實例
docker 組成
檢查 Docker 中的 SearXNG 部署。如果一切看起來都不錯,您就可以繼續了。
1 -) 建立虛擬環境並啟動
python3 -m venv .venv source .venv/bin/activate
2 -) 安裝 Langchain
pip install langchain langchain-community
3 -) 建立 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"], })
就是這樣!您的 RAG 應用程式現在具有搜尋功能。本指南沒有介紹任何新內容,而是旨在匯總向 RAG 應用程式添加 Web 搜尋功能的步驟。希望對您有幫助!
以上是透過 Web 搜尋功能增強您的 RAG 應用程式!的詳細內容。更多資訊請關注PHP中文網其他相關文章!