基于Ollama+AnythingLLM快速搭建本地RAG系统
本次使用的操作系统及硬件信息如下:
- 操作系统:windows11 23H2
- CPU: intel i7-12700
- MEM: 16GB
- GPU: NVIDIA GeFor
- ce GTX 1650
- Disk: 512GB SSD
- Python:3.10.0
1. 下载安装Ollama
1.1 安装ollama
下载ollama)并安装,傻瓜式安装。
1.2 下载预训练模型
需要下载两种模型:
- llm模型: gemma:2B
ollama pull gemma:2B
- embedding模型: nomic-embed-text
ollama pull nomic-embed-text
1.3 启动ollama服务
C:\Users\Admin>ollama serve
time=2024-04-21T14:44:06.139+08:00 level=INFO source=images.go:817 msg="total blobs: 24"
time=2024-04-21T14:44:06.150+08:00 level=INFO source=images.go:824 msg="total unused blobs removed: 0"
time=2024-04-21T14:44:06.150+08:00 level=INFO source=routes.go:1143 msg="Listening on 127.0.0.1:11434 (version 0.1.32)"
time=2024-04-21T14:44:06.238+08:00 level=INFO source=payload.go:28 msg="extracting embedded files" dir=C:\Users\Admin\AppData\Local\Temp\ollama3090016095\runners
time=2024-04-21T14:44:06.434+08:00 level=INFO source=payload.go:41 msg="Dynamic LLM libraries [cpu cpu_avx cpu_avx2 cuda_v11.3 rocm_v5.7]"
执行上述命令会在本地的114343端口启动服务,可以供外部调用。
C:\Users\Admin>netstat -ano | findstr 11434
TCP 127.0.0.1:11434 0.0.0.0:0 LISTENING 29472
C:\Users\Admin>tasklist | findstr ollama
ollama.exe 29472 Console 1 47,432 K
2. 下载安装AnythingLLM
访问官网下载windows安装包,双击下一步安装即可。
安装后搜索AnythingLLM或在桌面快捷方式打开程序,兼容多种LLM模型。
2.1 开始配置
2.2 LLM Preference配置如下:
- LLM provider: ollama
- Ollama Base URL:http://127.0.0.1:11434
- Chat Model Selection: gemma:2b
- Token context window: 4096
2.3 Embedding Preference
选择ollama并配置如下参数:
- Ollama Base URL:http://127.0.0.1:11434
- Embedding Model Selection: nomic-embed-text:latest
- Token context window: 8192
2.4 Vector Database
向量数据库选择LanceDB。
2.5 Data handing
2.6 welcome to AnythingLLM
填写调查信息。
2.7 创建工作区
3. 知识库创建与测试
3.1 测试文档
测试的两个文档,分别为英文和中文:
3.2 上传并做向量化
在上述创建的工作区,上传文档:
选择测试文档并移动到工作区:
保存并进行嵌入向量化处理:
3.3 对话问答测试
prompt 1: What was the author‘s age when in 9th grade?
prompt 2: What did the author do in 9th grade?
prompt 3: 民法典第一条内容是什么?
从chat对话中可以看出基于上传的文档,可以回答简单的问题;对于中文文档推理的效果较差。
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。