开源一个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亿!全球最大中文单体模型鹏城-百度·文心发布 # 华为盘古 上线时 ...
随机推荐
- ASP.NET CORE 发布时不编译Views文件夹
.net core 3.0正式版已经发布,目前整体相对来说已经稳定了,可以进行生产开发. 发布时默认情况下Views是直接编译成DLL文件(XXXXXX.Views.dll),日常开发维护过程中,经常 ...
- 一些有用的css函数
var 使用自定义的属性值. :root { --main-bg-color: pink; } body { background-color: var(--main-bg-color); } att ...
- 特工17Agent17汉化版游戏破解金币方法修改破解金币的增加方法
又是一个renpy游戏,昨晚搞了半个小时搞定的,其实这个游戏要赚钱也不难,就是点点点就可以了,但是我觉得还是挺费劲的,因为好多道具都很贵,攒钱又不怎么容易,花钱的地方还挺多的,所以干脆不如直接破解了算 ...
- ansible系列(24)--ansible的loop循环语句
目录 1. loop循环语句 1.1 使用循环批量安装软件 1.2 使用循环批量启动服务 1.3 使用循环批量创建用户 1.4 使用循环批量拷贝文件 1. loop循环语句 在写 playbook 的 ...
- postgresql建表空间、建库、建模式、建用户的规范
一.官方概念说明 1.表空间(表空间位置不应该位于数据目录内) 性能优化:您可以将高I/O的表和索引放在高速磁盘上,而将不经常访问的表放在普通的磁盘上. 管理磁盘空间:当数据库存储空间不足时,可以通过 ...
- leaflet叠加图片图层
<!DOCTYPE html> <html> <head> <title>Layers Control Tutorial - Leaflet</t ...
- IDEA使用——常用配置
一. 设置鼠标悬停代码提示 二. 设置Ctrl+滚乱调整字体大小 三. 设置自动导包(不设置自动导包,我们也可以通过Alt+Enter进行手动导包) 四. 设置显示行号和方法间分隔符 五. 设置代码提 ...
- .NET 将多个程序集合并成单一程序集的 4+3 种方法
将 .NET 程序集与依赖合并到一起的方法有下面四种: 使用 .NET Core 3.0 自带的 PublishSingleFile 属性合并依赖使用 Fody使用 SourceYard 源代码包使用 ...
- drawio中添加数学公式
1.drawio简介 drawio是一款免费开源的流程图绘制软件,由于软件免费,而且模块也很丰富,我比较喜欢用它. 软件下载地址:https://github.com/jgraph/drawio-de ...
- Java线程概念集合
线程 概念 1.程序:为解决某种问题,使用计算机语言编写的一系列指令(代码)的集合 2.进程:正在运行的程序(被加载到内存中),是操作系统进行资源分配的最小单位 3.线程:进程可以进一步细化为线程(比 ...