ChatOllama+Llama3创建基于网站URL的本地知识库
前阵子Ollama发来邮件推送,说开始支持embedding models了。正好,基于它做的那个WebUI小工具ChatOllama也更新了,现在不仅能上传各种格式的多文档,还能直接基于网站URL来搭建知识库。那就本地跑一圈试试,整体体验下来,感觉还不错。

先说几个关键的部署要点。
源码地址:
https://github.com/sugarforever/chat-ollama
这里建议Windows用户直接运行源码就行。Docker方式试了好多次都失败,Redis老是启动不了,估计在Linux环境下才顺畅。所以最后老老实实走源码路线。
项目基于Nuxt 3实现,运行起来倒是不麻烦。
运行前提:
1. 安装并启动Ollama server
先把模型拉下来。正好趁这个机会体验一下最近很火的Llama3。
要进行知识库的分词,就得用ollama新出的那个embedding模型 nomic-embed-text。
在命令行里敲 ollama list 看看有哪些模型:
启动Ollama:ollama serve,通过 http://localhost:11434 验证一下是否跑起来了。
2. 安装Chroma
官方文档有详细的安装指导:https://docs.trychroma.com/getting-started
比较推荐用Docker方式:
docker pull chromadb/chroma
docker run -d -p 8000:8000 chromadb/chroma
启动后访问 http://localhost:8000 确认服务正常。
3. 从chatollama仓库拉下源码,将 .env.example 文件重命名为 .env,然后安装依赖:
pnpm install
4. 迁移数据库:
pnpm prisma-migrate
5. 启动界面:
pnpm dev
注意:
http://host.docker.internal:11434
这样一来,在Models下就能看到所有已经下载的ollama模型了。
6. 知识库设置
这次主要试了一下通过URL来构建知识库。Embedding部分第一次需要手动填写一下名称。URL的抓取深度最大可以设到3层,日常工作场景完全够用了。
7. 聊天
选择对应的模型和知识库,开始提问。
可以看到内容基本符合预期,而且响应速度也挺快。当然,ChatOllama也支持接入各大在线模型,或者上传各种格式的文档,剩下的玩法就留给各位自己探索了。
-
- 关于宇宙的好的网名有哪些
- 角色扮演 | 1
- 网名