客户说“想做一个企业 AI 知识库”,听起来像一项技术活,真正容易出问题的却是资料范围、答案责任和后续维护。接单时先确认谁会用、要解决哪类问题,再做一小批资料的试点。下面用虚构的三份文件,走一遍需求、报价、搭建和验收;已经准备好环境时,复做约45分钟,首次安装和模型下载另算。
你需要准备
| 准备 | 用途 | 费用和时间 |
|---|---|---|
| Ollama、Open WebUI 和一个本地聊天模型 | 运行模型、建知识库和提问 | 本地推理不按问次付云端 API 费;下载、磁盘、内存和电力仍有成本 |
| 一个嵌入模型 | 把资料和问题转成可检索的向量 | 中文项目要先用中文问题测召回;换嵌入模型后通常要重建索引 |
| 客户确认可用于试点的少量文字资料 | 验证解析和检索是否有用 | 先用已获准的资料,不从整个共享盘起步 |
| 资料负责人和验收人 | 确认版本、权限、答案和缺项 | 每项都写进需求记录 |
本次使用 Open WebUI 0.11.4、Ollama 0.35.1 和本机 qwen3.8-27b-vision:latest,嵌入模型是已有缓存 sentence-transformers/all-MiniLM-L6-v2。三份虚构 Markdown 文件都能完成索引;在 API 和网页聊天里分别测了现行资料数量、失效旧报价和没有写出的月费。这个嵌入模型只用于本次可复现实验,不代表中文检索质量已验证。若面向中文客户,可把支持多语言的 Qwen3 Embedding 作为候选,再用客户批准的中文问题集实测;本次没有下载或测试它。查看 Open WebUI 知识库流程 · 查看 Qwen3 Embedding 官方模型页
练习用的三份资料、验收问题和脱敏结果在企业知识库试点练习包。示例公司、金额和业务规则均为虚构。
第一步:把需求问到能写进范围
先用客户能回答的话问,不要一上来报“部署一套知识库”。至少确认这些内容:
- 哪个岗位每天遇到什么问题?现在怎样查资料,最常问的五个问题是什么?
- 谁提供资料并确认版本?格式、数量、更新时间和过期规则是什么?
- 哪些人能看、能上传、能删除?是否包含个人信息、客户数据或商业秘密?
- 模型必须放在哪里?允许调用哪些模型或外部服务?是否要接企业微信、CRM 等系统?
- 谁负责验收?资料里没有答案时,希望系统如何回应、交给谁处理?
- 试点完成后谁维护新资料、撤下旧资料、检查备份和权限?
把答案分成“已确认、待客户确认、明确不做”三栏。试点先挑一个岗位、一个高频问题和少量授权资料。接全公司文件、OCR 扫描件、自动同步、业务系统集成和年度运维都单独评估,别默认包含在初始报价里。
资料包含个人信息时,先和客户确认处理目的、授权依据、访问范围、保存时间和删除方式;本机部署本身不能代替这些判断。涉及具体合规义务时,请客户找专业人士核对适用规则。查看《个人信息保护法》
第二步:用小试点验证这条链路
先在本机或隔离的测试环境里跑通一遍。Ollama 负责运行模型,Open WebUI 提供知识库和聊天界面。官方安装方式可能随系统、版本和部署形态变化,按各自的安装文档操作;首次建库不要放客户真实资料。
- 打开 Open WebUI 的 Workspace → Knowledge,点 Create,填写知识库名称和用途。
- 上传少量已批准的 PDF 或文本文件,等文件处理结束。进知识库预览抽取后的文本,检查标题、表格和关键数字有没有丢。
- 回到新对话,在输入框打
#,从弹出的列表选刚建的知识库,再问一个答案能在原文定位的问题。 - 打开回答中的来源,逐项对照原文。回答像真的不算通过,关键事实要能找到对应段落。
本次在 Open WebUI 0.11.4 的界面确认了三份材料已进入知识库;用 # 附加后,界面显示检索到三个来源。模型对“试点最多导入几份”答出 3 份并引用现行范围;对旧版周末加急 300 元说明它已失效;对统一月费则回答无法确认。更完整的三问结果和环境信息在练习包的 results.json 与 environment.json。
把下面三类问题放进每个客户的验收清单:
| 问法 | 通过标准 |
|---|---|
| 当前试点范围或流程是什么? | 给出正确事实,并能回到现行文件核对 |
| 旧版文件里的价格现在还适用吗? | 识别版本和失效状态,不把旧数当承诺 |
| 资料没有写某项费用时,金额是多少? | 明确说资料未提供,交由负责人确认,不自行补数 |
如果文件已上传但答不出来,先看文件处理状态和索引文本,再查聊天是否附加了正确知识库、检索是否召回了目标段落。Open WebUI 的排查文档也建议先看抽取文本和上下文限制;改嵌入模型后要重新索引。查看 RAG 故障排查
第三步:报价时把工作拆开
别套“行业均价”。把工作列成可估算的项目,再用自己的工时和成本核算:
项目费用 = Σ(各项预计工时 × 本团队确认的工时单价)+ 经确认的直接成本
可单列需求梳理、资料清理、环境部署、知识库配置、问题验收、培训交接和后续维护。报价单里写清资料数量与格式、部署位置、模型和外部服务、访问角色、交付物、验收问题、修改次数、排除项、变更流程和维护周期。客户没确认的月费、加急费、硬件采购或云服务费用,标成待报价,不编统一数字。
练习包中的需求访谈与报价模板含范围清单、估工时表和验收记录。把示例里的虚构公司信息替换成客户确认内容;模板不是合同,也不是市场报价依据。
第四步:交接资料、权限和责任人
交付时让客户管理员自己完成一次操作:添加一份新文件、验证一条问题、撤下过期资料,再确认谁有权限访问。至少交接:
- 知识库和模型的版本、部署位置、备份与恢复方法;
- 资料负责人、审批人、更新频率和过期资料删除流程;
- 用户角色和访问范围,以及离职或权限变更时的处理人;
- 已通过和未通过的验收问题、已知缺项与模型回答限制;
- 后续维护响应时间、服务边界、额外需求如何评估和计价。
承诺“数据不出内网”之前,要核对实际网络出口、模型连接、日志、备份和运维通道。Open WebUI 的品牌也要保留:官方许可证允许按其条件提供商业服务,但白标、改名或隐藏品牌有额外限制;接单前读当前许可证和品牌要求。聊天模型和嵌入模型的许可也要分别核对。
工具清单
- Ollama:在本机运行模型的软件;本次连接本机服务。模型文件另有各自许可和硬件要求。
- Open WebUI:管理模型、知识库和聊天的界面;本次用 0.11.4 实测。商业部署和品牌使用按官方许可证执行。
- 如果回答缺资料或自信地补细节,可以继续看《Agent 为什么会自信地答错?》;想先比较本地模型能力,可看《本地模型做 Agent:能力边界在哪》。
实测范围
测试仅使用三份虚构 Markdown 文件、一台 M1 Max 64GB Mac 和本机服务;没有客户资料、真实账号、外部系统集成、多人权限或生产负载测试。嵌入模型是缓存的通用模型,测试证明这三份小文件可索引并支持问答,不证明更大资料库的中文召回率、并发能力、权限隔离或客户环境合规性。正式报价前,先用客户批准的样本、真实硬件和验收问题复测。