开源一个RAG大模型本地知识库问答机器人
弹指间,2009年大学毕业到现在2024年,已经15年过去了。
前2天,看到自己14年在博客园写的一个博客,哪个时候是工作之余创业

感兴趣的朋友可以看看我10年前发的一篇博客https://www.cnblogs.com/likwo/p/3832795.html
目前全职创业中,用过不少开源软件,比如php的workerman , swoole等,但老实话,开源的项目质量非常高,也对我的项目开发提升非常多。
目前大模型非常火爆,很多企业一直想把大模型用在企业的客服中,但是基本上没有太多的成功案例。这个事情,我思考了下
1. 企业的客服服务是非常严谨的,不能乱回答。
比如在电商场景,用户说这个产品是否可以退款, 那大模型如果回答说可以。如果产品价格非常高,比如在1万以上,那么这个产品是不是要退款?损失谁来回答。 所以企业必须要机器人严格按照企业的知识库的要求来,不能乱回答
2.企业的资料的保密性
目前的大模型,当你把资料传给大模型的时候,实际上,你把资料也给机器人当做语料去训练机器人了,你的文档就是公开的文档了,这对许多企业来说,基本上不会把敏感资料传给大模型了
还记得之前网上报道过,三星把一个芯片资料传给大模型,导致敏感技术资料泄密的问题。
ChatGPT「奶奶漏洞」又火了,扮演过世祖母讲睡前故事,骗出Win11序列号

3 大模型从问答,到企业部署到自己的客服渠道,有大多的工作量
大模型提高了接口,提供了文字问答能力,但是,企业的客户咨询,是从
1 APP里
2 公司官网
3 公众号,小程序,视频号
4 抖音
5 小红书
6 微博
这么渠道,各个场景都要去覆盖,一般的企业根本就没这个开发实力。
基于这个想法,我就想做个基于大模型的问答机器人,完全打通小程序客服,微信公众号客服,视频号小店客服,H5APP客服,公司官网,部署简单。这样企业就很方便的部署起来。
我的想法是
方法一:渠道统一管理, 把常用的渠道,全部默认支持到

方法二 :将企业知识库管理简单化
直接将doc,网址,pdf ,excel 直接上传到,就可以支持基于知识库的问答了。

上传的知识库,进行分段embedding操作

最后创建机器人,关联这个知识库,就可以对外提供服务了

以下是我们的架构图

下面是具体的一些介绍
ChatWiki
ChatWiki是一款开源的知识库 AI 问答系统。系统基于大语言模型(LLM )和检索增强生成(RAG)技术构建,提供开箱即用的数据处理、模型调用等能力,可以帮助企业快速搭建自己的知识库 AI 问答系统。
能力
1、专属 AI 问答系统
通过导入企业已有知识构建知识库,让 AI 机器人使用关联的知识库回答问题,快速构建企业专属 AI 问答系统。
2、一键接入模型
ChatWiki已支持全球20多种主流模型,只需要简单配置模型API key等信息即可成功接入模型。
3、数据自动预处理
提供自动分段、QA分段、手动输入和 CSV 等多种方式导入数据,ChatWiki自动对导入的文本数据进行预处理、向量化或 QA 分割。
4、简单易用的使用方式
ChatWiki采用直观的可视化界面设计,通过简洁易懂的操作步骤,可以轻松完成 AI 问答机器人和知识库的创建。
5、适配不同业务场景
ChatWiki为 AI 问答机器人提供了不同的使用渠道,支持H5链接、嵌入网站、绑定到微信公众号或小程序、桌面客户端等,可以满足企业不同业务场景使用需求。
开始使用
准备工作
再安装ChatWiki之前,您需要准备一台具有联网功能的linux服务器,并确保服务器满足最低系统要求
- Cpu:最低需要2 Core
- RAM:最低需要4GB
开始安装
ChatWiki社区版基于Docker部署,请先确保服务器已经安装好Docker。如果没有安装,可以通过以下命令安装:
sudo curl -sSL https://get.docker.com/ | CHANNEL=stable sh
安装好Docker后,逐步执行一下步骤安装ChatWiki社区版
(1).克隆或下载chatwiki项目代码
git clone https://github.com/zhimaAi/chatwiki.git
(2).使用Docker Compose构建并启动项目
cd chatwiki/docker
docker compose up -d
部署手册
在安装和部署中有任何问题或者建议,可以联系我们获取帮助,也可以参考下面的文档。
界面



技术架构

技术栈
前端:vue.js
后端:golang +python
数据库:PostgreSQL16+pgvector+zhparser
缓存:redis5.0
web服务:nginx
异步队列:nsq
进程管理:supervisor
模型:支持OpenAI、Google Gemini、Claude3、通义千文、文心一言、讯飞星火、百川、腾讯混元等模型。
感兴趣的朋友,可以去我们github https://github.com/zhimaAi/chatwiki 地址里点个star, 多谢多谢!
开源一个RAG大模型本地知识库问答机器人的更多相关文章
- Druid:一个用于大数据实时处理的开源分布式系统
Druid是一个用于大数据实时查询和分析的高容错.高性能开源分布式系统,旨在快速处理大规模的数据,并能够实现快速查询和分析.尤其是当发生代码部署.机器故障以及其他产品系统遇到宕机等情况时,Druid仍 ...
- Druid:一个用于大数据实时处理的开源分布式系统——大数据实时查询和分析的高容错、高性能开源分布式系统
转自:http://www.36dsj.com/archives/28590 Druid 是一个用于大数据实时查询和分析的高容错.高性能开源分布式系统,旨在快速处理大规模的数据,并能够实现快速查询和分 ...
- 千亿参数开源大模型 BLOOM 背后的技术
假设你现在有了数据,也搞到了预算,一切就绪,准备开始训练一个大模型,一显身手了,"一朝看尽长安花"似乎近在眼前 -- 且慢!训练可不仅仅像这两个字的发音那么简单,看看 BLOOM ...
- DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍
DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍 1. 概述 近日来,ChatGPT及类似模型引发了人工智能(AI)领域的一场风潮. 这场风潮对数字世 ...
- 华为高级研究员谢凌曦:下一代AI将走向何方?盘古大模型探路之旅
摘要:为了更深入理解千亿参数的盘古大模型,华为云社区采访到了华为云EI盘古团队高级研究员谢凌曦.谢博士以非常通俗的方式为我们娓娓道来了盘古大模型研发的"前世今生",以及它背后的艰难 ...
- PowerDesigner 学习:十大模型及五大分类
个人认为PowerDesigner 最大的特点和优势就是1)提供了一整套的解决方案,面向了不同的人员提供不同的模型工具,比如有针对企业架构师的模型,有针对需求分析师的模型,有针对系统分析师和软件架构师 ...
- 开源3D软件——大集合【转】
要3D打印一件作品,自然少不了3D建模.以下是一些免费开源3D模型设计软件: Blender Blender是最受欢迎的免费开源3D模型制作软件套装. 跨平台支持所有的主要操作系统. 功能非常强大,但 ...
- PowerDesigner 15学习笔记:十大模型及五大分类
个人认为PowerDesigner 最大的特点和优势就是1)提供了一整套的解决方案,面向了不同的人员提供不同的模型工具,比如有针对企业架构师的模型,有针对需求分析师的模型,有针对系统分析师和软件架构师 ...
- 阿里开源新一代 AI 算法模型,由达摩院90后科学家研发
最炫的技术新知.最热门的大咖公开课.最有趣的开发者活动.最实用的工具干货,就在<开发者必读>! 每日集成开发者社区精品内容,你身边的技术资讯管家. 每日头条 阿里开源新一代 AI 算法模型 ...
- AI大模型学习了解
# 百度文心 上线时间:2019年3月 官方介绍:https://wenxin.baidu.com/ 发布地点: 参考资料: 2600亿!全球最大中文单体模型鹏城-百度·文心发布 # 华为盘古 上线时 ...
随机推荐
- postgresql性能优化2:sql语句和缓存配置
1.看执行计划 EXPLAIN, 此命令用于查看SQL的执行计划 总的来说sql的执行计划是一个树形层次结构, 一般来说阅读上遵从层级越深越优先, 同一层级由上到下的原则. 来跟着铁蛋老师读: 层级越 ...
- StarCoder2-Instruct: 完全透明和可自我对齐的代码生成
指令微调 是一种技术,它能让大语言模型 (LLMs) 更好地理解和遵循人类的指令.但是,在编程任务中,大多数模型的微调都是基于人类编写的指令 (这需要很高的成本) 或者是由大型专有 LLMs 生成的指 ...
- .NET C#导出解决方案的NuGet依赖关系
前言 公司项目需要写DS设计文档,文档需要标识出来你的解决方案文件下的所有项目都使用了NuGet哪些第三方依赖,我们都知道sln下面的所有.csproj文件中的节点下会标识出对应的依赖,但一个一个对比 ...
- 数字化开采|AIRIOT智慧矿山自动化生产解决方案
由于矿山地形复杂,生产自动化水平低,安全监管技术落后,事故频发等很多因素对煤矿开采技术提出了数据化.可视化.智能化的要求.通过目前的煤矿开采现状可以发现煤矿开采过程中,在生产.监管.巡检.安全.效 ...
- jpype-python调用java的方法
环境准备: 部署环境准备: sed -i.ori '$a export JAVA_HOME=/opt/jdk\nexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bi ...
- Android 12(S) MultiMedia Learning(八)NuPlayer Renderer
NuPlayer的AVSync由Renderer实现,接下来主要来看AVSync的工作原理 相关代码位置: NuPlayerRenderer.cpp - OpenGrok cross referenc ...
- C++笔记(6) 指针
1.指针和数组 指针和数组基本等价的原因在于指针算数和C++内部处理数组的方式.在很多情况下,可以用相同的方式使用数组名和指针名. 在多数情况下,C++将数组名视为数组的第一个元素的地址.指针p的值为 ...
- 调试YOLOv3/YOLOv5过程中遇到的问题汇总
今日立冬 yolov1 yolo1论文 https://www.bilibili.com/video/BV15w411Z7LG yolo2论文 https://www.bilibili.com/vid ...
- itest(爱测试)开源接口测试&敏捷测试&极简项目管理 7.1.0 发布,ui优化及bug修复
(一)itest 简介及更新说明 itest 开源敏捷测试管理,testOps 践行者,极简的任务管理,测试管理,缺陷管理,测试环境管理,接口测试,接口Mock 6合1,又有丰富的统计分析.可按测试包 ...
- SHA256/SHA512码计算方式
(1)Windows系统计算SHA256/SHA512码的方式: certutil -hashfile yourfilename SHA256/SHA512 以计算readme.txt文档进行说明: ...