基于ChatGpt,Java,SpringBoot,Vue,Milvus向量数据库的定制化聊天Web demo

customized chat

GitHub - bigcyy/customized-chatgpt: 基于ChatGpt,Java,SpringBoot,Vue,Milvus向量数据库的定制化聊天Web demo

简介

基于ChatGpt,Java,SpringBoot,Vue,Milvus向量数据库的定制化聊天Web demo

  • 可开发成个人知识库
  • 针对某品牌的智能客服
  • 私人助理
  • more

在线体验

TODO

https://github.com/bigcyy/customized-chatgpt/blob/main/pic/chat_demo.png

前端项目地址

GitHub - bigcyy/customized-chatgpt-vue: customized-chatgpt项目的前端,使用Vue搭建

原理

上传PDF,让ChtGpt基于PDF的内容回答问题,原理很简单:将内容分割然后embedding存入向量数据库,当用户询问时将问题embedding,拿embedding结果去向量数据库查询相似度最高的几段话丢给ChatGpt让他组织语言并结合自己丰富的知识进行润色。

本地使用

注意,你需要有OpenAI账号并且创建一个apiKey,由于国内无法使用连接OpenAi服务所以你需要配置代理

  1. 安装Milvus向量数据库

    复制代码
    wget https://github.com/milvus-io/milvus/releases/download/v2.2.2/milvus-standalone-docker-compose.yml -O docker-compose.yml
    sudo docker-compose up -d

克隆后端项目

复制代码
git clone [email protected]:bigcyy/customized-chatgpt.git
  1. 用idea打开项目

  2. 初始化Milvus向量数据库表结构以及配置代理

    • application.yml中配置向量数据库连接地址和端口(本地不需要修改),然后配置你的代理ip和端口

    • 找到项目test文件夹下的CustomizedChatApplicationTests.java,运行prepare函数创建表结构

  3. 找到项目主函数运行后端

  4. 克隆并运行前端项目

    git clone [email protected]:bigcyy/customized-chatgpt-vue.git
    cd customized-chatgpt-vue
    npm install
    npm run serve

  5. 访问控制台输出的地址

  6. 界面左下角配置你的apiKey

  7. 界面左下角上传你需要定制聊天的PDF文件

  8. enjoy it

todo

  • 支持更多的文件格式
  • token计数
  • 优化文本的分割
  • 抽离embedding模型,使其能更优雅的切换为自己训练的模型或者其他公开的模型

参考资料

https://twitter.com/chuangbo/status/1631461656151887873 作者详细的描述了该方案的运行流程,本项目也是参考自该文章

相关项目

相关推荐
BillKu21 分钟前
Vue3 + TypeScript 的 Hooks 实用示例
前端·vue.js·typescript
植物系青年25 分钟前
前端玩数据库 👏 MongoDB/Mongoose 入门指南(下)
前端·mongodb·mongoose
东方芷兰26 分钟前
JavaWeb 课堂笔记 —— 08 请求响应
xml·java·笔记·spring·tomcat·html·idea
程序饲养员28 分钟前
React从前的SPA(CSR)到现在的SSR和SSG原理解析
前端·javascript·前端框架
植物系青年29 分钟前
前端玩数据库 👏 MongoDB/Mongoose 入门指南(上)
前端·mongodb·mongoose
不懂装懂的不懂29 分钟前
【 vue + js 】引入图片、base64 编译显示图片
前端·javascript·vue.js
菜鸟起航ing36 分钟前
【Java面试系列】Spring Cloud微服务架构中的分布式事务实现与性能优化详解 - 3-5年Java开发必备知识
java·spring cloud·微服务·面试·分布式事务
Java手札41 分钟前
为什么选择Redis?解析核心使用场景与性能优化技巧
java·spring boot·redis·intellij-idea
杨超越luckly1 小时前
HTML应用指南:利用GET请求获取全国汉堡王门店位置信息
大数据·前端·信息可视化·数据分析·html
龙大大L1 小时前
第五章:5.1 ESP32物联网应用 - MQTT协议深度教程
java·单片机·struts·apache