
用开源框架Chipper解锁本地AI:无需云或API密钥即可构建RAG应用 原创
检索增强生成(RAG)将检索技术与生成模型相结合,彻底颠覆了我们与AI模型的交互方式。但从具体实现来看,我们该如何在本地构建RAG应用,同时摆脱对API密钥或者云设施的依赖?
这里要请出今天的主角:开源框架Chipper。无需单独处理文档分块、向量数据库、大模型集成和UI设置,Chipper将帮助用户在几分钟内在本地机器上建立起独立的RAG系统。
下面我们将具体介绍:
- RAG架构的工作原理
- 如何使用Chipper构建本地RAG应用程序
- 对Chipper进行自定义/优化以获取更佳性能
- 真实用例:建立法律文档分析器
通过Chipper理解RAG
让我们首先对检索增强生成(RAG)管道进行分析,再探讨Chipper如何简化这一切:
文档提取与分块
- Chipper会自动将文档拆分成有意义的块(以句子或段落为单位),以便更好进行检索;
- 用户可针对不同用例对块大小进行定制。
嵌入与向量化
- 使用预先训练的模型将各文档块转换为向量嵌入;
- Chipper使用Facebook AI相似性搜索(FAISS)有效存储并索引这些嵌入。
检索机制
- 当用户查询时,Chipper会在FAISS中搜索类似的文档块;
- 将相关度最高的部分发送至大模型以生成响应。
大模型集成与查询处理
- Chipper充当Ollama代理,将检索到的文档内容作为上下文发送至大模型。
步骤一:安装并配置Ollama(大模型运行时)
由于Chipper需要配合本地大模型才能运行,因此这里使用轻量级大模型运行时Ollama。
1. 安装Ollama
macOS平台(通过Homebrew)
brew install ollama
Linux平台
curl -fsSL https://ollama.ai/install.sh | sh
Windows平台
从Ollama官方网站处下载并安装。
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/
现在进行索引:
chipper ingest my_docs/
此命令将:
- 对文档分块;
- 生成向量嵌入;
- 将其存储在FAISS或CHromaDB中。
2. 运行查询
索引完成之后,你可以查询文档:
./run.sh cli
Shell
YOU: "What are the key takeaways from the research paper?"
Chipper会检索相关度最高的文档块,并将其发送至本地大模型(通过Ollama)以生成响应。
步骤四:将Chipper作为本地AI助手运行
1. 在网络浏览器中启动Chipper
在Chipper开始运行后,你可以通过网络浏览器与之交互。请按以下步骤操作:
(1)打开终端以确保Chipper正在运行:
./run.sh up
若Chipper已经在运行,你应该看到相应的活动状态日志。
(2)打开浏览器并导航至:
这将启动Chipper UI,你可在其中与RAG应用程序进行交互。
(3)在此Web UI中,输入提示词并开始查询索引文档,或者测试其他AI功能。
2. 在命令行中运行Chipper
要在终端中启动交互式聊天会话,使用以下命令:
./run.sh cli
示例:
总结
到这里,我们已经设置了Chipper与Ollama,构建了一个由RAG驱动的本地AI助手,并尝试通过命令行和浏览器与之交互。而且整个过程完全在私有机器上运行,不依赖云端设施。这将有效保障隐私、速度、成本效益,让你对AI工作流程拥有全面控制。
- 无需API密钥,完全离线运行。
- 支持模型自定义,可使用Phi-4、Mistral或Llama 3。
- 支持网页抓取与音频转录。
- 针对研究、法律及企业用例中的RAG应用程序进行了优化。
其他用途
以此为基础,大家还可以探索更多其他用途:
- 尝试调整文档分块与向量数据库配置。
- 建立本地自定义AI助手!
- 尝试不同模型(ollama pull mistral 或 ollama pull llama3)并观察响应结果有何变化。
- 尝试索引更复杂的文档集,并微调检索过程。
- 深入了解Chipper的API集成,并探索如何将其嵌入现有应用程序。
- 阅读官方指南以了解更多信息。
原文标题:Unlocking Local AI: Build RAG Apps Without Cloud or API Keys,作者:Santhosh Vijayabaskar
