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