譯者 | 核子可樂
審校 | 重樓
檢索增強生成(RAG)將檢索技術與生成模型相結合,徹底顛覆了我們與AI模型的交互方式。但從具體實現(xiàn)來看,我們該如何在本地構建RAG應用,同時擺脫對API密鑰或者云設施的依賴?
這里要請出今天的主角:開源框架Chipper。無需單獨處理文檔分塊、向量數(shù)據(jù)庫、大模型集成和UI設置,Chipper將幫助用戶在幾分鐘內(nèi)在本地機器上建立起獨立的RAG系統(tǒng)。
下面我們將具體介紹:
- RAG架構的工作原理
- 如何使用Chipper構建本地RAG應用程序
- 對Chipper進行自定義/優(yōu)化以獲取更佳性能
- 真實用例:建立法律文檔分析器
通過Chipper理解RAG
讓我們首先對檢索增強生成(RAG)管道進行分析,再探討Chipper如何簡化這一切:
文檔提取與分塊
- Chipper會自動將文檔拆分成有意義的塊(以句子或段落為單位),以便更好進行檢索;
- 用戶可針對不同用例對塊大小進行定制。
嵌入與向量化
- 使用預先訓練的模型將各文檔塊轉換為向量嵌入;
- Chipper使用Facebook AI相似性搜索(FAISS)有效存儲并索引這些嵌入。
檢索機制
- 當用戶查詢時,Chipper會在FAISS中搜索類似的文檔塊;
- 將相關度最高的部分發(fā)送至大模型以生成響應。
大模型集成與查詢處理
- Chipper充當Ollama代理,將檢索到的文檔內(nèi)容作為上下文發(fā)送至大模型。
步驟一:安裝并配置Ollama(大模型運行時)
由于Chipper需要配合本地大模型才能運行,因此這里使用輕量級大模型運行時Ollama。
1. 安裝Ollama
macOS平臺(通過Homebrew)
brew install ollama
Linux平臺
curl -fsSL https://ollama.ai/install.sh | sh
Windows平臺
從Ollama官方網(wǎng)站處下載并安裝。
2. 檢查Ollama是否正確安裝
檢查Ollama是否正確安裝:
ollama --version
若Ollama未運行,請手動啟動:
ollama serve
3. 下載Phi-4模型(或其他模型)
Chipper可通過Ollama使用本地大模型。若未找到模型,它會自動下載Phi-4。
要手動拉取 Phi-4, 運行以下命令:
ollama pull phi4
或者,你也可使用Mistral 7B(更強大的模型):
ollama pull mistral
4. 配置Ollama以使用特定模型
若你希望手動設置Chipper要使用的模型,請編輯:
nano services/api/.env
找到此行并將其修改為你要使用的模型:
OLLAMA_MODEL=phi4
保存并退出(Ctrl+X、Y、回車)。
步驟二:安裝Chipper
1. 克隆Chipper repo
git clone git@github.com:TilmanGriesel/chipper.git
cd chipper
2. 使用Docker啟動Chipper
Docker容器中打包有Chipper,從而大大簡化設置過程。
運行以下命令即可啟動Chipper:
./run.sh up
此命令將:
- 下載并構建所有必需服務;
- 啟動Chipper的處理服務;
- 連接至本地大模型(通過Ollama)。
要停止Chipper:
./run.sh down
注意:此步驟可能需要一些時間,Docker會下載所有必需依賴項。
步驟三:文檔索引與查詢
1. 在Chipper中加載文檔
Chipper允許用戶添加文檔以供檢索。
mkdir my_docs
mv research_paper.pdf my_docs/
現(xiàn)在進行索引:
chipper ingest my_docs/
此命令將:
- 對文檔分塊;
- 生成向量嵌入;
- 將其存儲在FAISS或CHromaDB中。
2. 運行查詢
索引完成之后,你可以查詢文檔:
./run.sh cli
Shell
YOU: "What are the key takeaways from the research paper?"
Chipper會檢索相關度最高的文檔塊,并將其發(fā)送至本地大模型(通過Ollama)以生成響應。
步驟四:將Chipper作為本地AI助手運行
1. 在網(wǎng)絡瀏覽器中啟動Chipper
在Chipper開始運行后,你可以通過網(wǎng)絡瀏覽器與之交互。請按以下步驟操作:
(1)打開終端以確保Chipper正在運行:
./run.sh up
若Chipper已經(jīng)在運行,你應該看到相應的活動狀態(tài)日志。
(2)打開瀏覽器并導航至:
http://localhost:21200
這將啟動Chipper UI,你可在其中與RAG應用程序進行交互。
(3)在此Web UI中,輸入提示詞并開始查詢索引文檔,或者測試其他AI功能。
2. 在命令行中運行Chipper
要在終端中啟動交互式聊天會話,使用以下命令:
./run.sh cli
示例:
總結
到這里,我們已經(jīng)設置了Chipper與Ollama,構建了一個由RAG驅(qū)動的本地AI助手,并嘗試通過命令行和瀏覽器與之交互。而且整個過程完全在私有機器上運行,不依賴云端設施。這將有效保障隱私、速度、成本效益,讓你對AI工作流程擁有全面控制。
- 無需API密鑰,完全離線運行。
- 支持模型自定義,可使用Phi-4、Mistral或Llama 3。
- 支持網(wǎng)頁抓取與音頻轉錄。
- 針對研究、法律及企業(yè)用例中的RAG應用程序進行了優(yōu)化。
其他用途
以此為基礎,大家還可以探索更多其他用途:
- 嘗試調(diào)整文檔分塊與向量數(shù)據(jù)庫配置。
- 建立本地自定義AI助手!
- 嘗試不同模型(ollama pull mistral 或 ollama pull llama3)并觀察響應結果有何變化。
- 嘗試索引更復雜的文檔集,并微調(diào)檢索過程。
- 深入了解Chipper的API集成,并探索如何將其嵌入現(xiàn)有應用程序。
- 閱讀官方指南以了解更多信息。
原文標題:Unlocking Local AI: Build RAG Apps Without Cloud or API Keys,作者:Santhosh Vijayabaskar