介绍
花费二个多月查阅资料与前后端开发,终于完成了我的开源项目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流式输出 …功能特色
万能问答
万能聊天模式,使用官方openai Chatgpt3.5接口,可自行选择是否需要支持上下文操作。查看历史会话与会话记录,以及会话的清空删除。
绘图
以接入openAi、SD画图,sd画图配置可在后台修改(家里电脑闲着也没事,用来做图,显卡有点拉,出图速度根据显卡来定的,2060s🤣🤣🤣),推荐使用SD画图,参数也多,重点是白嫖🤩,上限很高发挥你的想象力。Openai的绘图接口消耗token并且可选参数较少,不太推荐。
输入英文准确性更高,建议先去翻译网站把中文翻译
后续准备将prompt交给chatgpt优化并翻译,目前还在开发中
场景对话
场景对话是提前输入了一段prompt,使HugAi变成某一领域的专家,场景对话可在后台进行动态配置,修改后不会影响原有的会话,只会对新会话造成影响。目前已有的场景对话:广告创意、svg设计师、小红书文案、小说家、情感大师…
只要想象力足够丰富,那就可以让ai扮演各种角色。
结语
感谢开源社区与开源作者,项目中对我十分有帮助的项目以及作者我卸载HugAi帮助文档中了。这个项目也让我学到了不少编程知识以及技术,以及ai的用法。ai是一个十分实用的工具,但是请认真辨别他的内容,因为并不是完全对的,要有自己的理解。
开源不易,希望大家多多支持项目,非常感谢。gitee与github同步更新,了解更多可以前往代码仓库看看readme.md
文档,最后放一下体验地址
HugAi体验地址: http://chat.equinox19.xyz/
HugAi帮助文档: http://chat.doc.equinox19.xyz/