AI知识库
基于BuildAdmin相关技术栈的对话式AI知识库服务

下文的向量为AI核心概念之一,将$A$B两个字符串向量化,然后就可以求得$A$B相似性。相似性是一个范围固定的具体数值,这种搜索不同于LIKE或者全文搜索,具体使用见模块(这是向量数据于本模块的应用简述,非全面介绍)。

运行流程

  1. 将内容以知识点格式录入知识库系统(独立部署和存储,使用MySQL和Redis)
  2. 系统利用文本嵌入模型对知识点标题部分进行向量化
  3. 用户提问内容向量化,然后以余弦相似性算法搜索知识点
  4. 将相似度最高的知识点作为参考资料发送给AI模型(LLM)以回复用户提问

这种运行流程就像是你直接给AI发送一篇文章,让它归纳总结后回答你的问题。只不过手动发送文章的步骤改为了:预录入知识点->高级匹配算法->系统自动打包发送

主要特性

  1. 对接完善:五种向量模型+八种对话模型支持
  2. 配置齐全:模型代理配置、提示词、无关响应方案、知识库相关、甚至如何分配tokens、是否允许前台调整配置等等均是可控的
  3. 多知识库:知识点内容引用、批量向量化、编辑自动重新向量化、快捷管理Redis缓存、使用AI模型分析文本直接生成问答对等等
  4. 向量搜索:调试库内知识点的匹配情况,并可以快速对知识点进行调整
  5. 对话调试:调试一个消息引用了那些知识点、调试AI模型的各种参数、tokens消耗情况调试等等,亦是位于管理员后台的会话窗口
  6. 前台友好:会员可通过积分或余额兑换tokens、同时可自定义每个对话模型的头像窗口标题欢迎消息代理api keytokens收取乘数
  7. 会话管理:查阅会员与AI的对话情况,与对话调试基本一致,只是不能发消息
  8. AI会员:前后台用户在均会自动建立为AI会员,可于后台的AI会员管理中查阅,后台调整AI会员tokens余额等
  9. (PHP+MySQL+Redis) + AI实现,无需向量数据库
  10. 其他细节请浏览演示站...

快速体验

刚安装时可以先不配置Redis,直接按以下步骤了解知识库系统。

  1. 开通阿里灵积服务
  2. 于后台知识库配置内配置好API KEY
  3. 于后台对话模型管理内设置好至少一个模型的API KEY并开启模型开关
  4. 于后台知识点管理选中所有知识点并点击顶栏的向量化按钮,然后了解大体有那些知识点。
  5. 体验后台的向量搜索对话调试

使用说明

  1. 安装本模块,请同时安装md-editor-v3富文本编辑器md-editor-v3富文本编辑器(Nuxt版本),这是必须的,它们不需要积分,且对系统代码无侵入。
  2. 运行模式分为php+mysqlredis+mysql两种;第一种因MySQL不能检索向量性能不行,建议简单体验后立刻着手部署redis+mysql
  3. 模块支持阿里的向量模型和对话模型,其他的国外模型的开通、访问不畅由开发者自行解决,我们不提供任何建议或解决办法,请理解。
  4. 默认已开始调试,待您建库完毕后,可于config/ai.php关闭,调试的使用见下方的常见问题。

Redis安装

  1. 知识库要安装的是Redis Stack,不是单独的Redis了解差异?
  2. 系统的Redis配置位于config/ai.php文件,请准备好Redis之后手动进行配置,然后于后台知识库配置中开启Redis+MySQL模式。
  3. 您可以直接按以下文档完成Linux系统的Redis Stack安装(本地亦可链接使用),或查阅完整官方安装文档
  4. 若不想/不能完成安装,您还可以使用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
  1. 安装完成后,执行systemctl start redis-stack-server启动redis-stack服务
  2. 执行systemctl status redis-stack-server检查服务运行状态,服务正常运行时有active(running)字样
  3. 执行命令多看输出、遇到错误请先查百度,这只是Linux安装一个软件而已,虽然不难,但您确实可能遇到问题,因为我们无法预计您对Linux的熟悉程度,多数都是小问题。
  • 默认的服务配置位于:/etc/systemd/system/redis-stack-server.service
  • 默认的Redis Stack配置文件位于:/etc/redis-stack.conf
  • 如果你需要远程链接redis,请在redis-stack.conf文件内添加protected-mode no,或者添加requirepass 123456redis设置服务密码为123456
  • 执行systemctl enable redis-stack-server开启redis-stack服务的开机自启
  • 其他可用命令:systemctl [start|stop|restart|enable|disable|status|systemctl list-units] redis-stack-server

常见问题

1. 如何彻底清空redis内的知识库数据,并重建缓存和索引?

  1. 清空:知识库配置->Redis->删除索引和缓存
  2. 重建:知识点管理->点击顶栏的redis索引按钮和检查redis缓存按钮

2. 如何调试对话服务?

知识库默认已经开启了调试,以便您在建库阶段可以快速查找问题,日志被记录于runtime/ai,日志内容为:

  1. 发送给接口的消息体,含有模型参数、提示词、知识点内容、历史消息等
  2. 接口响应,含有模型生成的内容(SSE),以及程序对内容解析后的数组原样输出

3. 一些原因造成我需要手动清理redis进程,如何操作?

ps -ef | grep redis
kill -9 pid

更新日志

  • 2024-11-02 14:46:24

    v1.0.5

    修复已知问题
    • 修复非超管打开后台模型配置时提示无权限的问题
  • 2024-10-15 14:23:11

    v1.0.4

    兼容至 v2.1.2
    • 兼容 badmin-v2.1.2pinia 更新
    • 本版本仅提供给 BuildAdminweb-nuxt 工程的 v2.1.2+
  • 2024-07-17 05:16:32

    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
    • 优化细节
  • 2024-07-08 13:12:19

    v1.0.2

    兼容系统v2.1.0
    • Http.fetch 替换为 Http.$fetch 以避免 Nuxt 的警告信息
    • 即将废弃的 process.client 替换为 import.meta.client
    • 兼容 element-plus 2.7.5
    • 修复会话列表没有滚动条的问题
    • 修复其他已知问题
    • 此版本仅向 BuildAdmin >= v2.1.0 的系统提供
  • 2024-05-06 13:13:12

    v1.0.1

    优化细节
    • 修复新版本BuildAdmin中与AI聊天时接口跨域的问题
    • 优化前台在无模型可用时的错误提示
  • 2023-10-29 02:35:15

    v1.0.0

    首次发布

    无详细更新日志

妙码生花
妙码生花
这家伙很懒,什么也没写~
模块授权
正版授权,允许商业使用
自购买起一年内免费下载和升级更新
不加密源代码,私有部署,二开方便
可复制产品,不支持七天无理由退款
禁止转售、分享等任何形式的再分发
仅 BuildAdmin 后台管理系统可以使用
模块信息
模块价格
¥998.00
访问次数
4750
模块标识
ai
下载次数
46
模块分类
完整应用
上次更新
2024-11-02 14:46:24
开发者主页
-
购买送积分
-
完整应用NuxtTypeScript