# AIchat **Repository Path**: windy-wanderer/aichat ## Basic Information - **Project Name**: AIchat - **Description**: 学习在项目中集成AI - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-02 - **Last Updated**: 2025-11-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AIchat #### 介绍 学习在项目中集成AI # 开发AI智能体基本功能 ### 项目初始化 - 创建一个AI微服务 - 导入依赖 - 不同环境的application.yml配置好 - 在nacos中创建配置文件 - 配置网关 ### 新建对话 - 创建数据库保存对话记录 - 创建对话实体类,实体类的结构要数据库对话表结构一致 - 可以创建一个对话VO来接收前端数据 - 在nacos创建相关配置 - 创建一个Java类来映射这个配置 - 编写controller、service、mapper层 ### 获取热门问题 - 直接编写controller、service、mapper层 ### 开始流式对话 #### 聊天功能 - 创建一个聊天VO,包括数据和状态,可以创建一个枚举类控制状态等 - 创建聊天dto接收前端传来的对话内容和会话ID - 创建SpringAIConfiguration配置类,编写controller、service、mapper层 #### 加上提示词 - 创建系统提示词,包括课程推荐、课程购买、课程咨询、知识讲解 - 为了方便修改提示词,所以选择将提示词内容存储到nacos的配置中心,在application.yml文件中指定nacos中的配置名 - 编写Java代码来读取这个配置项,通过上面的配置,只是读取到了配置文件的名称、分组、超时时间,但是,还没读取文件内容,接下来就需要读取内容了 - 将系统提示词应用到上面写的对话聊天中 #### 停止生成功能 - 编写controller、service、mapper层 #### 会话记忆功能 - 创建一个memory接口,再创建RedisMemory实现这个接口完成用redis存储 - 在springAI中配置 - 编写controller、service、mapper层 - 解决序列化问题 - 查询对话功能实现 #### 解决bug - 在停止对话后聊天记录不会存储 - 自己记录