好多人应该会想到这个。用 AI 办公软件的会员要付费,填自己的 API(应用程序接口)也要付费,就想着,自己电脑配置尚可,也许能用本地化小模型来替代。
千问7B 我试了,闲聊没问题,但日常办公别指望了
现在比较常见的小模型,千问7B 算一个。我试了一下它的效果,整体上闲聊天没问题,但如果想常用的话,基本还是不要指望了。
跟 AI 办公软件比,差在哪好在哪
先画个表格,对比一下本地化小模型加 Anything LLM,跟本地化 AI 办公软件之间的差异:
| 能力 | 千问7B + Anything LLM | Trae/豆包这类 AI 办公软件 |
|---|---|---|
| 成本 | 免费 | 会员费或按量计费 |
| 敏感数据 | 不联网,全在本地 | 要上云 |
| 复杂推理 | 弱,比云端旗舰差不少 | 强 |
| 实时联网 | 不行 | 行 |
| 直接改文件 | 只能输出文本 | 能批量改 |
| 多步任务编排 | 不行 | 行 |
| 长文档处理 | 上下文装不下 | 行 |
看完这个表格就明白了,想用千问7B 直接替代 AI 办公软件,这条路基本走不通。那本地小模型到底能干嘛?
那本地小模型适合做什么呢
本地小模型其实更适合做 RAG,也就是检索增强生成。
这里先说一下增强式检索跟普通检索到底差在哪。人检索的时候,有的时候按关键词就能直接搜到想要的,但有的时候可能得换个说法、搜同义词才能找到。普通检索只能按词是啥就是啥,你搜“退休”,它搜不到写着“离岗”的那段,哪怕意思说的是同一件事。
增强式检索不一样,它按意思去搜。小模型在这里的作用就是,把你输入的关键词翻译成同义词、近义词,扩大检索范围。你搜“退休”,它能自动帮你扩成“退休、离岗、退出工作岗位、结束职业生涯”,然后把所有意思相关的段落都翻出来。所以本地小模型做这个其实很合适,千问7B 这种量级的模型,就能实现这种效果。
增强式检索在本地是怎么跑起来的
通俗地说,整个过程是这样的。
你把一堆 PDF、Word、代码文件丢进去,系统先把每个文件切成几百字的小段落。然后每个段落用向量嵌入模型转成一串数字,这串数字就是这个段落的意思坐标,意思越接近的段落,坐标越近。这些坐标存好之后,你提问时,系统把你的问题也转成坐标,在坐标库里找离得最近的十几个段落,把这些段落连同问题一起喂给千问7B,千问7B 组织语言输出答案。
所以千问7B 从始至终没读过你的文件,它只看到挑出来的那十几段。效果上你感觉好像是千问7B 读了所有文件,但实际上不是。
而且这里头有个关键点,整个流程里千问7B 只干最后那一步,拿到挑好的段落之后帮你组织语言。切文件、转向量、找相关段落,这些都不是千问7B 干的。千问7B 办不到这些事,它只是个推理引擎,你给它一段文字,它给你组织一段回答。
想本地化部署,下的不只是千问7B 一个
所以你想让千问7B 帮你做增强式检索,直接下载千问7B 就行吗?肯定不行。你需要先装几个东西,正常的顺序是这样的。
第一步,装 Ollama。它是模型管理器,负责把千问7B 拉下来、跑起来,给它分配显存。相当于模型的启动器,你自己启动千问7B 还得配一堆参数,Ollama 帮你管了。
第二步,装 Anything LLM。它才是那个真正干活的,切文件、转向量、存坐标、提问时检索,都是它干的。千问7B 干不了这些,因为它根本不认识你的文件,也不知道怎么去切文件、怎么算坐标。
第三步,让 Anything LLM 帮你拉千问7B 和向量嵌入模型。不要自己手动拉,我试的时候直接手动拉,中间调了好几次参数才跑通,让 Anything LLM 自己拉要省心得多。
总结一下,三个东西分工很明确:Ollama 管模型运行,Anything LLM 管切文件、转向量、检索,千问7B 只负责最后拿到相关段落之后,帮你组织语言回答。
适合什么场景,不适合什么场景
最后说结论。如果你有本地化的脱敏数据,特别是想做增强式检索的,可以考虑试一下这套。比如你一堆资料想让它帮你找相关段落,或者一些内部文档、敏感数据不想上云,扔给它挺合适。
但是,如果是想用它办公,帮你辅助干活,或者在某些环节上完全按照你的思路去工作,那这个时候你就不能考虑它了。千问7B 毕竟是个 7B 模型,推理能力不够,多步任务跟不住,联网也不行。日常办公还是得靠 Trae、豆包这些 AI 办公软件。