AI知识库
基于BuildAdmin相关技术栈的对话式AI知识库服务
下文的
向量
为AI核心概念之一,将$A
和$B
两个字符串向量化,然后就可以求得$A
和$B
的相似性
。相似性是一个范围固定的具体数值,这种搜索不同于LIKE
或者全文搜索
,具体使用见模块(这是向量数据于本模块的应用简述,非全面介绍)。
运行流程
- 将内容以
知识点
格式录入知识库系统(独立部署和存储,使用MySQL和Redis) - 系统利用
文本嵌入模型
对知识点标题部分进行向量化 - 将
用户提问内容
向量化,然后以余弦相似性算法搜索知识点 - 将相似度最高的知识点作为参考资料发送给AI模型(LLM)以回复用户提问
这种运行流程就像是你直接给AI发送一篇文章,让它归纳总结后回答你的问题。只不过手动发送文章的步骤改为了:预录入知识点->高级匹配算法->系统自动打包发送
主要特性
- 对接完善:五种向量模型+八种对话模型支持
- 配置齐全:模型代理配置、提示词、无关响应方案、知识库相关、甚至如何分配
tokens
、是否允许前台调整配置等等均是可控的 - 多知识库:知识点内容引用、批量向量化、编辑自动重新向量化、快捷管理
Redis
缓存、使用AI模型
分析文本直接生成问答对等等 - 向量搜索:调试库内知识点的匹配情况,并可以快速对知识点进行调整
- 对话调试:调试一个消息引用了那些知识点、调试
AI模型
的各种参数、tokens
消耗情况调试等等,亦是位于管理员后台的会话窗口 - 前台友好:会员可通过积分或余额兑换
tokens
、同时可自定义每个对话模型的头像
、窗口标题
、欢迎消息
、代理
、api key
、tokens收取乘数
等 - 会话管理:查阅会员与AI的对话情况,与
对话调试
基本一致,只是不能发消息 - AI会员:前后台用户在均会自动建立为
AI会员
,可于后台的AI会员管理中查阅,后台调整AI会员
的tokens
余额等 (PHP+MySQL+Redis) + AI
实现,无需向量数据库- 其他细节请浏览演示站...
快速体验
刚安装时可以先不配置Redis
,直接按以下步骤了解知识库系统。
- 开通阿里灵积服务。
- 于后台
知识库配置
内配置好API KEY
。 - 于后台
对话模型管理
内设置好至少一个模型的API KEY
并开启模型开关。 - 于后台
知识点管理
选中所有知识点并点击顶栏的向量化
按钮,然后了解大体有那些知识点。 - 体验后台的
向量搜索
和对话调试
。
使用说明
- 安装本模块,请同时安装
md-editor-v3富文本编辑器
和md-editor-v3富文本编辑器(Nuxt版本)
,这是必须的,它们不需要积分,且对系统代码无侵入。 - 运行模式分为
php+mysql
和redis+mysql
两种;第一种因MySQL不能检索向量性能不行,建议简单体验后立刻着手部署redis+mysql
。 - 模块支持阿里的向量模型和对话模型,其他的国外模型的开通、访问不畅由开发者自行解决,我们不提供任何建议或解决办法,请理解。
- 默认已开始调试,待您建库完毕后,可于
config/ai.php
关闭,调试的使用见下方的常见问题。
Redis安装
- 知识库要安装的是
Redis Stack
,不是单独的Redis
,了解差异? - 系统的
Redis
配置位于config/ai.php
文件,请准备好Redis
之后手动进行配置,然后于后台知识库配置
中开启Redis+MySQL
模式。 - 您可以直接按以下文档完成
Linux
系统的Redis Stack
安装(本地亦可链接使用),或查阅完整官方安装文档。 - 若不想/不能完成安装,您还可以使用
redis
官网推荐的云服务;免费30M(不能说很少,但不多)。
Debian/Ubuntu 安装 Redis
# 以下命令,依次执行以安装。
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
sudo chmod 644 /usr/share/keyrings/redis-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
sudo apt-get update
sudo apt-get install redis-stack-server
- 安装完成后,执行
systemctl start redis-stack-server
启动redis-stack
服务 - 执行
systemctl status redis-stack-server
检查服务运行状态,服务正常运行时有active(running)
字样 - 执行命令多看输出、遇到错误请先查百度,这只是
Linux
安装一个软件而已,虽然不难,但您确实可能遇到问题,因为我们无法预计您对Linux
的熟悉程度,多数都是小问题。
- 默认的服务配置位于:
/etc/systemd/system/redis-stack-server.service
- 默认的
Redis Stack
配置文件位于:/etc/redis-stack.conf
- 如果你需要远程链接
redis
,请在redis-stack.conf
文件内添加protected-mode no
,或者添加requirepass 123456
为redis
设置服务密码为123456
- 执行
systemctl enable redis-stack-server
开启redis-stack
服务的开机自启 - 其他可用命令:
systemctl [start|stop|restart|enable|disable|status|systemctl list-units] redis-stack-server
常见问题
1. 如何彻底清空redis内的知识库数据,并重建缓存和索引?
- 清空:知识库配置->Redis->删除索引和缓存
- 重建:知识点管理->点击顶栏的
redis索引
按钮和检查redis缓存
按钮
2. 如何调试对话服务?
知识库默认已经开启了调试,以便您在建库阶段可以快速查找问题,日志被记录于runtime/ai
,日志内容为:
- 发送给接口的消息体,含有模型参数、提示词、知识点内容、历史消息等
- 接口响应,含有模型生成的内容(SSE),以及程序对内容解析后的数组原样输出
3. 一些原因造成我需要手动清理redis进程,如何操作?
ps -ef | grep redis
kill -9 pid
更新日志
v1.0.5
修复已知问题- 修复非超管打开后台模型配置时提示无权限的问题
v1.0.4
兼容至 v2.1.2- 兼容
badmin-v2.1.2
的pinia
更新 - 本版本仅提供给
BuildAdmin
和web-nuxt
工程的v2.1.2+
- 兼容
v1.0.3
新增功能和优化细节- 修复聊天记录翻页时闪烁的问题(反转渲染聊天记录窗口)
- 新增嵌入模型:
text-embedding-v2、text-embedding-3-small、text-embedding-3-large
- 新增文本生成模型:
qwen-max-8k、qwen-max-longcontext-30k、gpt-4-turbo-128k、gpt-4o-128k
- 废弃文本生成模型:
gpt-3.5-turbo-4k
- 优化细节
v1.0.2
兼容系统v2.1.0Http.fetch
替换为Http.$fetch
以避免Nuxt
的警告信息- 即将废弃的
process.client
替换为import.meta.client
- 兼容
element-plus 2.7.5
- 修复会话列表没有滚动条的问题
- 修复其他已知问题
- 此版本仅向
BuildAdmin >= v2.1.0
的系统提供
v1.0.1
优化细节- 修复新版本
BuildAdmin
中与AI聊天时接口跨域的问题 - 优化前台在无模型可用时的错误提示
- 修复新版本
v1.0.0
首次发布无详细更新日志
妙码生花
这家伙很懒,什么也没写~
模块授权
正版授权,允许商业使用
自购买起一年内免费下载和升级更新
不加密源代码,私有部署,二开方便
可复制产品,不支持七天无理由退款
禁止转售、分享等任何形式的再分发
仅 BuildAdmin 后台管理系统可以使用
模块信息
模块价格
¥998.00
访问次数
4750
模块标识
ai
下载次数
46
模块分类
完整应用
上次更新
2024-11-02 14:46:24
开发者主页
-
购买送积分
-
完整应用NuxtTypeScript