当前位置: 首页 > news >正文

技术指南:5分钟零成本实现本地AI知识库搭建

你一定经历过各种通用大模型一本正经胡说八道的时候吧,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”,获取更多技术分享和最新产品动态。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • vue3+vant4父组件点击提交并校验子组件form表单
  • 【区块链 + 司法存证】优证云:基于 FISCO BCOS 的存证平台 | FISCO BCOS应用案例
  • 【Python自动化办公】复制Excel数据:将各行分别重复指定次数
  • c++多线程下崩溃一例分析 ACTIONABLE_HEAP_CORRUPTION heap failure block not busy DOUBLE
  • 如何优化Oracle数据库的性能?
  • 多目标应用:基于自组织分群的多目标粒子群优化算法(SS-MOPSO)的移动机器人路径规划研究(提供MATLAB代码)
  • 计算机基础知识总结(八股文--计算机网络、操作系统、数据库、c++、数据结构与算法)
  • python web 框架 Tornado
  • GitHub项目评论被用来传播Lumma Stealer恶意软件
  • 【Linux】命令简介------迅速掌握Linux命令
  • html+css+js网页设计 文化历史 中华历史10个页面
  • ParallelsDesktop19可在任何Mac上运行Windows软件
  • python可视化-直方图
  • 解决Vscode Copilot连不上网问题
  • DWG如何转换成PDF?总结了四种转换
  • [PHP内核探索]PHP中的哈希表
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • CSS 提示工具(Tooltip)
  • OSS Web直传 (文件图片)
  • Sass Day-01
  • SpringBoot几种定时任务的实现方式
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 闭包--闭包作用之保存(一)
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 基于Android乐音识别(2)
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • HanLP分词命名实体提取详解
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • ​MySQL主从复制一致性检测
  • #define用法
  • #QT 笔记一
  • #QT(一种朴素的计算器实现方法)
  • #宝哥教你#查看jquery绑定的事件函数
  • ()、[]、{}、(())、[[]]命令替换
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (vue)el-tabs选中最后一项后更新数据后无法展开
  • (web自动化测试+python)1
  • (安卓)跳转应用市场APP详情页的方式
  • (八)Flink Join 连接
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (三)终结任务
  • (十)T检验-第一部分
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • .net core Swagger 过滤部分Api
  • .NET 反射 Reflect
  • .NET 分布式技术比较
  • .NET8使用VS2022打包Docker镜像
  • .NET成年了,然后呢?
  • .net对接阿里云CSB服务
  • .net经典笔试题
  • .net开发时的诡异问题,button的onclick事件无效