## Getting Started **LangChain4j-AIDeepin** 基于 ChatGPT 等大语言模型与 Langchain4j 等应用框架实现,开源、可离线部署的检索增强生成(RAG)大模型知识库项目。 ### 功能点 * 注册&登录 * 多会话(多角色) * 图片生成(文生图、修图、图生图) * 提示词 * 额度控制 * 自定义openai secret_key * 基于大模型的知识库(RAG) ![1691585301627](image/README/1691585301627.png "登录注册") **AI聊天:** ![1691583184761](image/README/1691583184761.png) ![1691583124744](image/README/1691583124744.png "AI绘图") ![1691583329105](image/README/1691583329105.png "token统计") **知识库:** ![kbindex](image/README/kbidx.png) ![kb01](image/README/kb01.png) ![kb02](image/README/kb02.png) ![kb03](image/README/kb03.png) 体验网址:[http://www.aideepin.com](http://www.aideepin.com/) 接入的模型:ChatGPT 3.5,DALL-E 2 该仓库为后端服务,前端项目见[langchain4j-aideepin-web](https://github.com/moyangzhan/langchain4j-aideepin-web) ### 技术 后端: jdk17 springboot3.0.5 [langchain4j(Java version of LangChain)](https://github.com/langchain4j/langchain4j) **Postgresql(需要安装[pgvector](https://github.com/pgvector/pgvector)扩展)** 前端: vue3+typescript+pnpm ### 如何部署 #### 初始化 初始化数据库 * 创建数据库aideepin * 执行docs/create.sql * 填充openai的secret\_key ```plaintext update adi_sys_config set value = 'my_chatgpt_secret_key' where name = 'secret_key' ``` * 修改配置文件 * postgresql: application-[dev|prod].xml中的spring.datasource * redis: application-[dev|prod].xml中的spring.data.redis * mail: application.xml中的spring.mail #### 编译及运行 * 进入项目 ```plaintext cd langchain4j-aideepin ``` * 打包: ``` mvn clean package -Dmaven.test.skip=true ``` * 运行 a. jar包启动: ```plaintext cd adi-bootstrap/target nohup java -jar -Xms768m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError adi-chat-0.0.1-SNAPSHOT.jar --spring.profiles.active=[dev|prod] dev/null 2>&1 & ``` b. docker启动 ```plaintext cd adi-bootstrap docker build . -t aideepin:0.0.1 docker run -d \ --name=aideepin \ -e APP_PROFILE=[dev|prod] \ -v="/data/aideepin/logs:/data/logs" \ aideepin:0.0.1 ``` ### 待办: 接入各种中文大语言模型