你一定经历过各种通用大模型一本正经胡说八道的时候吧,AI一通丝滑输出让人真假难辨,防不胜防。这种情况被称为AI幻觉。
大模型产生幻觉不幸“翻车”的原因很大程度上是“先天不足”,例如训练时来自特定领域的训练数据就比较缺失或存在偏差等。对于企业,AI的幻觉已经成为阻碍其落地应用的严重缺陷。
我们自然想让一些企业内部私有数据也进入到大模型推理分析的过程,让其更好服务于日常业务,但出于信息安全等考量,私有数据显然不可随意上传到第三方平台。针对这种情况,将企业内部知识库和大模型连接起来构建一个本地私有化的专属的AI知识库不失为一种简易的解决方案。
构建本地私有知识库的基本步骤
1. 整理出需要模型分析的私有数据,比如文本数据(doc、csv、ppt…),音视频数据,甚至一些网址链接。
2. 通过一个嵌入模型将这些信息转换成模型能够看得懂的向量信息,即信息的向量化。
3. 将向量化的信息存储到专属的向量数据库中,构建本地知识库。
这个时候当用户提问时,我们引入的通用大模型将会结合本地知识库中所存在的信息有针对性的回答,甚至也可以专门分析本地知识库中的信息来输出。
本地AI知识库的安装和配置
AnythingLLM 是一款构建本地知识库的工具,能够直接读取文档并处理大量信息资源,包括文档上传、自动抓取在线文档,然后进行文本的自动分割、向量化处理,以及实现本地检索增强生成(RAG)等功能。
AnythingLLM支持几乎所有的主流大模型和多种文档类型,可定制化程度高,安装设置简单,适用于MacOS、Linux和Windows平台,也可以使用Docker安装。AnythingLLM默认通过Ollama来使用LLama2 7B、Mistral 7B、Gemma 2B等模型,也可以调用OpenAI、Gemini、Mistral等大模型的API服务。除AnythingLLM以外,近期较为热门的知识库工具还有MaxKB、RAGFlow、FastGPT、Dify 、Open WebUI 等。
01、下载并安装Ollama(用于下载各类通用大模型)
访问 https://ollama.com/download 选择所需版本
02、安装大模型和嵌入模型
我们示例中选择的是通义千问大模型和M3e嵌入模型,大家也可以根据自己的需要选择其他模型下载。Ollama支持的模型列表及资源占用情况可从官网查阅: https://ollama.com/library
03、下载并安装AnythingLLM
访问 https://anythingllm.com/download 选择对应版本
04、配置AnythingLLM
配置参数选择Ollama
Embedder选择M3e
向量数据库选择LanceDB(默认)
上传私有数据并验证AI问答效果
至此,一个AI驱动的本地私有知识库的基本架构已经搭建完成。接下来我们需要创建工作区,上传各种文档格式的企业私有数据,验证是否能正常工作。
01、csv表格
随意生成一份原始数据如下:
对话结果(对数据进行排序和筛选):
02、docx文档
原始数据是星融元AsterNOS网络操作系统的文档,其中涉及到高可靠特性的部分如下。
对话结果:
03、网址
星融元CX-N超低时延交换机在官网的产品详情页,涉及到产品特性的片段如下。
对话结果:
可以看到,这个本地AI知识库已经在利用我们上传的私有文本数据回答问题了,下一步您需要持续不断地丰富私有内容,让其更加智能、可靠;大型企业则更需要对其“悉心调教”,例如充分考虑本地AI推理系统的并发接入性能,在网络基础设施上进行相应调整和升级,也要关注和其他内部工具的集成。
关注vx公号“星融元Asterfusion”,获取更多技术分享和最新产品动态。