基于Springboot+Openai SDK搭建属于自己的Ai聊天知识库,可使用ChatGpt3.5、4.0

介绍

花费二个多月查阅资料与前后端开发,终于完成了我的开源项目HugAi聊天知识库。项目是基于Springboot+vue2集成了OpenAi SDK开发的一套智能AI知识库,已接入ChatGpt3.5接口以及openai的绘图接口,前后端代码都开源。

  • 支持上下文功能
  • 会话记录持久化
  • sse流式响应
  • 后台可配置的场景对话
  • ……

背景

第一次接触人工智能是微软小冰的读心术,那时就已经领略到了AI的强大了。我对AI抱着学习的心态,它能够在生活中为我带来很多便利,能够在我表达的语句中快速的找到问题的答案,但是结果还是需要自己分辨的。目前AI不是万能,但可以把它当做很高效的工具。因此我想搭建一个自己的AI聊天室,在这个过程中可以更深入了解AI的原理以及如何更高效的使用。

技术栈

后端:核心技术选择了大众框架,简单快捷方便,Springboot、mybatisPlus、mysql8、redis等

前端:因为我是后台开发,前端不是很精通,所以使用的是vue2与elementUI

HugAi开源项目当然主要以学习为主,项目中也有很多可学习的地方:

  • redission分布式锁实现对每个会话的加锁操作,防止重复发送消息,在项目中使用了函数式接口进行封装,没有用aop自定义注解实现,直接调用方法进行消费,易于扩展灵活修改
  • 设计模式,使用较多的有策略器模式、建造者、桥接模式(openai key多策略轮询,这里应该用的是桥接),策略模式项目中使用的很多,如文件上传、敏感词过滤、session会话等
  • minio七牛云实际使用
  • 流式编程批处理,基本没有啥sql
  • anji验证码实际使用、ac注册机敏感词过滤
  • sse流式输出

功能特色

闲聊模式

最原始的聊天模式,提供了问答室Ai聊天室,可自行选择是否需要支持上下文操作。可查看历史会话与会话记录,以及会话的清空删除。

场景对话

场景对话是提前输入了一段prompt,使HugAi变成某一领域的专家,场景对话可在后台进行动态配置,修改后不会影响原有的会话,只会对新会话造成影响。目前已有的场景对话:广告创意、svg设计师、小红书文案、小说家、情感大师…

只要想象力足够丰富,那就可以让ai扮演各种角色。

绘图

使用的是openAi 的绘图接口,比较消耗Token,并且参数设置比较少,但也是可以使用的,后期可能会加入更多的绘图接口。目前还在研究sd画图(条件有限家里显卡太拉,做不出来好图,2060s🤣🤣🤣),sd画图参数配置很多,只要会玩就能做出来好图,重点是白嫖🤩

结语

感谢开源社区与开源作者,项目中对我十分有帮助的项目以及作者我卸载HugAi帮助文档中了。这个项目也让我学到了不少编程知识以及技术,以及ai的用法。ai是一个十分实用的工具,但是请认真辨别他的内容,因为并不是完全对的,要有自己的理解。

开源不易,希望大家多多支持项目,非常感谢。gitee与github同步更新,了解更多可以前往代码仓库看看readme.md文档,最后放一下体验地址

HugAi体验地址: http://chat.equinox19.xyz/

HugAi帮助文档: http://chat.doc.equinox19.xyz/

本文链接:https://my.lmcjl.com/post/13127.html

展开阅读全文

4 评论

留下您的评论.