介紹
當使用檢索增強生成(RAG)應用程式建立有趣的專案時,我們經常面臨瀏覽限制等限制,這使得很難獲取最新資訊或當前數據,例如天氣更新(我希望有更有趣的東西) 。為了解決這個問題,我們可以為 RAG 應用程式配備搜尋網路的工具。讓我們開始吧!
我們的工具台
- LangChain(使用大型語言模型建立應用程式的框架)
- SearXNG(免費元搜尋引擎)
- CPython(C 語言包裝器 :> )
- Docker(一個拿著涼麵包的男人)
設定
首先我們先從 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 </windows></macos></linux>
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 </secret-key>
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中文網其他相關文章!

numpyArraysareAreBetterFornumericalialoperations andmulti-demensionaldata,而learthearrayModuleSutableforbasic,內存效率段

numpyArraySareAreBetterForHeAvyNumericalComputing,而lelethearRayModulesiutable-usemoblemory-connerage-inderabledsswithSimpleDatateTypes.1)NumpyArsofferVerverVerverVerverVersAtility andPerformanceForlargedForlargedAtatasetSetsAtsAndAtasEndCompleXoper.2)

ctypesallowscreatingingangandmanipulatingc-stylarraysinpython.1)usectypestoInterfacewithClibrariesForperfermance.2)createc-stylec-stylec-stylarraysfornumericalcomputations.3)passarraystocfunctions foreforfunctionsforeffortions.however.however,However,HoweverofiousofmemoryManageManiverage,Pressiveo,Pressivero

Inpython,一個“列表” isaversatile,mutableSequencethatCanholdMixedDatateTypes,而“陣列” isamorememory-sepersequeSequeSequeSequeSequeRingequiringElements.1)列表

pythonlistsandArraysareBothable.1)列表Sareflexibleandsupportereceneousdatabutarelessmory-Memory-Empefficity.2)ArraysareMoremoremoremoreMemoremorememorememorememoremorememogeneSdatabutlesserversEversementime,defteringcorcttypecrecttypececeDepeceDyusagetoagetoavoavoiDerrors。

Python和C 各有優勢,選擇應基於項目需求。 1)Python適合快速開發和數據處理,因其簡潔語法和動態類型。 2)C 適用於高性能和系統編程,因其靜態類型和手動內存管理。

選擇Python還是C 取決於項目需求:1)如果需要快速開發、數據處理和原型設計,選擇Python;2)如果需要高性能、低延遲和接近硬件的控制,選擇C 。

通過每天投入2小時的Python學習,可以有效提升編程技能。 1.學習新知識:閱讀文檔或觀看教程。 2.實踐:編寫代碼和完成練習。 3.複習:鞏固所學內容。 4.項目實踐:應用所學於實際項目中。這樣的結構化學習計劃能幫助你係統掌握Python並實現職業目標。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

Atom編輯器mac版下載
最受歡迎的的開源編輯器

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

禪工作室 13.0.1
強大的PHP整合開發環境

WebStorm Mac版
好用的JavaScript開發工具