项目介绍:LangBoot
LangBoot是一个创新项目,旨在使用Langchain的理念来构建基于SpringBoot的AI应用程序。该项目通过集成流行的大语言模型(LLMs),如OpenAI、ChatGLM等,实现各种AI功能。
技术堆栈
LangBoot依赖于以下主要技术组件:
- Java:版本17+
- SpringBoot:版本3.1.0
- Swagger-UI:用于API文档与测试,采用knife4j-openapi3-jakarta-spring-boot-starter
- 工具包:Hutool-all
- 缓存:Redis
- JSON解析:Fastjson2
- 数据库连接:MySQL Connector (mysql-connector-j)
- ORM框架:MyBatis-Plus
- OpenAI库:openai-java
- 前端技术:Freemarker、Bootstrap、jQuery、Recorder.js
- 流式聊天:使用SSE(Server-Sent Events)
- 大语言模型支持:包括OpenAI, ChatGLM2, 文心一言, 智谱AI, Kimi等
- 嵌入模型:OpenAI, text2vec-transformers, 文心一言
- 向量存储:Weaviate, Milvus, pgvector
功能与路线图
LangBoot项目已实现和计划实现的功能包括:
-
知识库功能
- 已支持非结构化文档(如markdown、PDF等)的接入
- 正在开发结构化数据(如Excel、SQL)的接入和知识图谱对接
-
系统功能
- 用户模块:已实现用户登录,未来将添加注册和第三方登录功能
- 已实现的功能还包括基于SSE的流式聊天、语音输入输出、会话管理、知识库管理及搜索引擎问答支持
-
Prompts相关功能
- 已实现功能:摘要、翻译、关键词提取、文本分类、内容安全、偏好分析、文本生成图像
- 查重功能仍在开发中
-
前端优化
- 移动端适配完成
- 流式输出的优化已完成
快速入门指南
以下是快速上手LangBoot项目的步骤:
- 执行数据库脚本
init-script/db.sql
- 安装本地向量数据库
docker-compose up -d
- 大语言模型的配置
- 配置OpenAI的API Token
openai.token=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- 或者启动本地的ChatGLM2模型
python .\openai_api.py
功能展示
LangBoot还提供了丰富的UI界面和功能截图,以便用户更好地理解和利用项目功能。例如:登录页面、首页功能、多种功能模块展示,以及本地知识库的操作界面。
交流与支持
如果对LangBoot项目感兴趣,可加入微信交流群进行讨论与交流,这里有相关的二维码,欢迎参与。注意:二维码如已过期,请扫个人二维码以便重新入群。
LangBoot项目通过结合大语言模型与强大的后端技术架构,提供高效的AI应用开发范例,预计将为未来的AI应用程序开发带来更广泛的应用和可能性。