ARTICLE · 980437
零到一:我把系统里的"AI运营助手专员"从外部AI改成了私有化+RAG
我是做文旅 OTA 产品的。过去大半年,我亲手搭了一套跑在业务里的 AI 系统——帮我们做渠道开关班、调价、竞品价格分析、数据分析,原来几个小时的活儿,现在几秒钟就干完了,一直在线跑,整体很稳。
但这套系统里,有个叫"AI 运营助手专员"的小功能:运营同学直接用大白话问它"周末酒店佣金怎么算""这个套餐能改期吗",它就负责回答。它最早是接外面大厂的 AI 接口跑的。能用,但我一直有个念头:能不能把它做得更准一点、更可控一点——答案更靠谱、数据留在我们自己内网、忙起来也扛得住。
于是我给自己定了 30 天的小目标:就盯这一个功能,把它从"外部 AI"改成"自己机器上跑 + 配知识库增强",不推翻原来的系统,只在它身上做三轮小升级。

一、为什么只改这个专员
它最早走外部 AI,知识库是一大锅乱炖,三个地方不够理想:
- 答案不够准
:运营问"周末酒店佣金怎么算",它偶尔会从一篇营销软文里找回答案,因为软文里也有"佣金"俩字。实测下来,这类知识问答有 40% 会答错。 - 数据不可控
:走外部公有云接口,客人相关的数据要传到别人服务器上,合规上总不踏实。 - 经不起忙
:只有一套服务,主链路一挂,整个问答就停了。
这三点,正好对应我后面做的三轮增强:第一轮把知识摆对(更准)、第二轮搬回自己机器 + 双保险部署(更可控)、第三轮压测兜底(更经得起规模)。
二、第一轮增强:先别急着换模型,把知识摆对
很多人一遇到 AI 答不好,第一反应是"模型不够强,换大的"。我没换模型,先干了一件事:把知识库按"内容类型"分成四个专区。

四个专区:渠道规则 20 条 / 经营定价 2508 条 / 营销内容 582 条 / 客服问答 108 条,一共 3218 条。
为什么要分?因为 AI 找资料时有两类问题:一是"找错地方"(问定价却翻到营销软文),二是"同一类里排得不够好"。以前一个大库混在一起,问定价翻到软文,再怎么排序也救不回来。
分完区以后,问定价就只去定价区找,问退款只去客服区找,软文不再污染答案。就这么一个"理货架"的动作,找对资料的概率从 2.7% 直接到 100%——不是模型变聪明了,是资料摆对了。

顺手我还算了一笔账:到底要不要买新显卡、上云还是自己跑?我把三条路(用外部接口 / 自己买机器跑 / 专门训练一个小模型)的投入都列出来,做成一张决策图:

结论很实在:以我们现在 3000 多条知识、公司现成的那张 RTX 4060 显卡,自己机器跑一个轻量版的开源大模型就够用了,一分钱硬件不用加。
三、第二轮增强:从"用别人家的AI"搬到"自己机器上"
原来这个专员是调外部 AI 接口的。这一轮,我把它换成了装在自己机器上的开源大模型(Qwen2.5-7B,做了轻量化压缩),塞进公司现成的 RTX 4060 显卡(占显存约 6.3GB)。这个轻量化压缩是精度和速度的平衡点:压得太狠答案会变差,压得不够显卡又装不下。
再用 Dify 这个开源工具,像搭积木一样把"查知识库 → 让模型回答"的流程拖出来:

最关键的一步,是给它做了双保险部署:主服务跑在自己机器上,内网另一台电脑上也放了一份一模一样的。中间有个"路由"负责盯着主服务的心跳,主的一挂,自动切到备的那台,运营同学这边几乎无感知。

数据真不出内网:我专门查了程序所有的对外连接,它只连自己本机和那台备机,一个外部公网连接都没有。原来要走外部 AI 的数据,现在全留在我们自己内网里。

四、第三轮增强:真刀真枪压测,该兜底兜底
光"能跑"不够,我把它当成真有大批人在用那样去测。模拟了 1 人、2 人、4 人、8 人同时问,一共 90 次请求,一次都没失败。
我还加了一道"二次精排":让模型先把找回来的前几条答案按相关度重新排一遍,相关度评分从 0.70 提到 0.90(提升 28.6%)。但我一题一题去核对,发现好几题得 0 分,根子不在排序,是知识库里压根没有对应的资料。
这给我的启发很实在:先补知识库,比急着上精排有用得多。 所以精排我默认关着,需要时才开。

压测也让我看清了天花板在哪:4 人同时问到 8 人同时问,处理速度不涨了(0.672→0.649 条/秒),但每人等待时间从 5.5 秒涨到 8.5 秒。原因是模型一次只能一条一条慢慢生成,不会"批量"。所以下一步要提速度,不是加人问,是换一个能并行生成的推理方式(比如 vLLM 或多开几份)。
五、这 30 天,我学到的 7 件事
AI 答不好,八成是知识库里没资料,不是模型不够大。 先按内容类型分好类,再谈"哪条更相关"。 性能瓶颈看"处理速度不涨、等待时间却变长"这个拐点,别拍脑袋猜。 被某个工具卡住时,先问它是"手段"还是"目的"(Dify 登录一直报错 → 我改走自己机器直连,反而更顺)。 说自己"数据不出网",得真去查程序连了哪些地址才算数。 中文回答要"一个字一个字往外吐"(流式),还得处理好中文编码,不然容易出乱码。 敢把"它会在哪失效"写清楚,反而比演示里看起来完美更让人信。

六、一句话收尾
这 30 天真正教会我的,不是怎么搭 AI,而是怎么给一个 AI 功能划边界——知道它会在哪答错、为什么错、错了怎么兜底,比让它在演示里完美重要得多。
30 项交付物都已整理归档,技术栈一句话:自己机器跑开源大模型 + Dify 编排 + 本地知识库 + 双保险部署,硬件零新增。
#文旅AI #OTA系统 #私有化部署 #产品经理实战 #AI助手 #知识库