AnythingLLM:15 分钟搭起私有文档问答知识库
【免费下载链接】anything-llmStop renting your intelligence. Own it with AnythingLLM. Everything you need for a powerful local-first agent experience项目地址: https://gitcode.com/GitHub_Trending/an/anything-llm
大模型再强,答不上你自家文档里的问题,就只是个聊天玩具。AnythingLLM 把 PDF、网页、视频统统转成模型能引用的上下文,给你一个开箱即用的本地知识库:LLM 可选本地或云端,向量库即插即用,回答还带来源引用。这篇文章只走一条最短路径——从拿到仓库到第一次文档问答,外加模型选型结论和踩坑速查。
🐳 三条命令完成 AnythingLLM 容器部署
你不需要装 Node、也不用手动编译前端,仓库里已经放好了现成的 Dockerfile,克隆下来直接起容器:
git clone https://gitcode.com/GitHub_Trending/an/anything-llm cd anything-llm docker compose up --build -d首次构建要拉基础镜像并编译 server、collector、frontend 三个服务,耐心等几分钟。跑起来后浏览器打开http://localhost:3001,会进入 onboarding 引导页:先选向量库,再选 LLM 提供商,整个 AnythingLLM 部署就到位了。
没有 Docker、想直接改源码的话,就在仓库根目录yarn install后开三个终端分别跑yarn dev:server、yarn dev:collector、yarn dev:frontend,端口不变,体验一致。
📥 喂数据:把文件、网页、视频变成上下文
没有上下文,问答就是闲聊。在 workspace 页面顶部有三种导入入口,按"从易到难"的顺序试:
本地文件——把 PDF、DOCX、TXT、EPUB、XLSX 直接拖进聊天窗口。后台的 collector 会按格式分发给对应的转换器做解析、切块、向量化,每种格式一个独立转换器,源码在collector/processSingleFile/convert/,格式不识别时先来这里看支持列表。
网页链接——粘贴博客、文档站 URL,系统抓取后转成 Markdown 再入库;也支持限定深度爬取整站,以及对接 Obsidian、Confluence 这类知识源。
视频——丢一个 YouTube 链接,它提取字幕文本转成可检索内容,适合把长视频变成可问答的资料。
workspace 设置里能调切块参数(默认 4000 token 一块、200 重叠)。你的文档偏短小,就把块调小一点,检索命中率会明显变好。
🔍 挑模型、选向量库:新手默认选什么
仓库内置了 30 多个 LLM 适配器,按部署位置归成两类就够用了:
| LLM 类别 | 代表提供商 | 特点 | 什么时候选 |
|---|---|---|---|
| 本地推理 | Ollama、LM Studio、LocalAI、KoboldCPP | 零 API 费用,数据不出局域网 | 新手 + 隐私敏感,默认选它 |
| 云端 API | OpenAI、Gemini、Anthropic、Groq、DeepSeek | 稳定、不需要 GPU | 想 10 分钟跑通、愿意付费 |
向量库这边一共 10 种实现,差异主要在部署形态:
| 向量库 | 部署形态 | 适合谁 |
|---|---|---|
| LanceDB | 内置嵌入式,不用起额外进程 | 新手默认,单用户本地知识库 |
| Chroma | 轻量独立服务 | 小团队共享 |
| Qdrant / Milvus | 生产级,支持横向扩展 | 大文档量、上生产 |
| pgvector / Weaviate / Pinecone | 依赖现成 PG 或托管服务 | 已有对应基础设施 |
一句话结论:Ollama(或 LM Studio)+ LanceDB,零 GPU、零密钥,摩擦最小;手里已经有 OpenAI 密钥就换成云端 LLM + LanceDB,向量库别动。
🔐 如果你要多用户、改端口或上云
这三样本地单人玩都可以不碰,需要时再动手:
- 多用户:权限管理是 Docker 版的能力。在
docker/.env里设置AUTH_TOKEN触发首次引导流程,之后在管理后台给用户开账号、按 workspace 分配访问权限。 - 改端口:默认
3001声明在docker/docker-compose.yml,把.env里的SERVER_PORT改掉再重启即可。 - 上云:
cloud-deployments/目录备好了 AWS CloudFormation、GCP 和 Helm 模板。以 CloudFormation 为例,上传模板文件后在控制台确认参数:
堆栈建好后,Outputs 面板直接给出访问入口,照着地址填浏览器就行:
注意 URL 还是 3001 端口的裸 HTTP,正式暴露前建议前面挂一层带 TLS 的反向代理。
⚠️ 踩坑速查
| 现象 | 可能原因 | 处理 |
|---|---|---|
浏览器打不开3001 | 端口被其他服务占用 | 改.env的SERVER_PORT后重启容器 |
| 卡在 onboarding 引导页 | LLM 密钥没填或本地模型没启动 | 引导页补密钥,或确认 Ollama 已运行 |
| 回答不引用你上传的文档 | 换了 embedding 模型后与向量库不匹配 | workspace 设置里重设 embedding 并重新导入 |
| 文件上传成功但无内容 | 格式不在 collector 支持列表 | 对照转换器目录确认格式,换 TXT/PDF 重试 |
| 多用户模式登录反复跳回 | JWT_SECRET缺失或太短 | 生成 12 位以上随机串写进.env |
下一步
把一份你真要查的文档——产品手册、合同、内部 wiki 都行——丢进 workspace,问一个只有这份文档才能答上的问题。答案带上了来源引用,闭环就成了;接下来去试定时任务和 agent 流程,让这个知识库自己干活。
【免费下载链接】anything-llmStop renting your intelligence. Own it with AnythingLLM. Everything you need for a powerful local-first agent experience项目地址: https://gitcode.com/GitHub_Trending/an/anything-llm
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考