feat(chat): 实现新的对话接口和相关功能模块
- 添加了 AI 对话请求 VO 类 (AiChatReqVO),支持模型名称、温度等参数 - 新增 AI 响应实体类 (AiResponse)用于封装返回结果 - 创建 API 操作日志注解 (@ApiOperationLog) 和切面类 (ApiOperationLogAspect) - 配置数据源使用 P6Spy 驱动并优化 HikariCP 连接池设置 - 更新 DashScope 模型配置,调整默认模型为 qwen-plus 及温度值 - 引入全局异常处理机制,包括基础异常接口和业务异常类- 新增对话控制器 (ChatController) 支持新建对话及流式交互- 创建对话及相关消息的数据访问对象 (ChatDO, ChatMessageDO) 和映射器 - 实现聊天服务接口及其实现类,支持创建新对话记录 - 添加自定义流式日志顾问 (CustomStreamLoggerAdvisor) 用于调试输出 - 删除旧版控制器和相关模型类,移除冗余配置项 - 增加日期常量工具类统一时间格式管理 - 修改 .gitignore 忽略 /logs/ 目录避免日志文件被提交
This commit is contained in:
@@ -2,45 +2,32 @@
|
||||
spring:
|
||||
application:
|
||||
name: han-ai-robot-springboot
|
||||
datasource:
|
||||
driver-class-name: com.p6spy.engine.spy.P6SpyDriver # 数据库驱动类名
|
||||
url: jdbc:p6spy:postgresql://localhost:5432/han_ai_robot # 数据库连接 URL
|
||||
username: postgres # 数据库用户名
|
||||
password: postgressql # 数据库密码
|
||||
hikari: # HikariCP 连接池配置
|
||||
pool-name: AI-Robot-HikariCP # 自定义连接池名称
|
||||
auto-commit: true # 是否自动提交事务
|
||||
connection-timeout: 30000 # 连接超时时间(毫秒)
|
||||
idle-timeout: 600000 # 空闲连接存活最大时间(毫秒)
|
||||
max-lifetime: 1800000 # 连接最大存活时间(毫秒)
|
||||
minimum-idle: 5 # 最小空闲连接数
|
||||
maximum-pool-size: 20 # 最大连接池大小
|
||||
connection-test-query: SELECT 1 # 连接测试查询
|
||||
validation-timeout: 5000 # 验证连接的有效性
|
||||
cassandra:
|
||||
contact-points: 127.0.0.1 # Cassandra 集群节点地址(可配置多个,用逗号分隔)
|
||||
port: 9042 # 端口号
|
||||
local-datacenter: datacenter1 # 必须与集群配置的数据中心名称一致(大小写敏感)
|
||||
ai:
|
||||
deepseek:
|
||||
api-key: ENC(MROXdiEHmWk08koE63bTzFqW52MaXLpMkM9Cyl40Ubj+Lw1yKeZuHLEcs6jTFY8ditY4gJ1365LMAY8Z9G1uwfYFYaYdb3NyijplX7GuDZA=) # 填写 DeepSeek Api Key, 改成你自己的
|
||||
base-url: https://api.deepseek.com # DeepSeek 的请求 URL, 可不填,默认值为 api.deepseek.com
|
||||
chat:
|
||||
options:
|
||||
model: deepseek-chat # 使用哪个模型
|
||||
temperature: 0.8 # 温度值
|
||||
ollama:
|
||||
base-url: http://localhost:11434 # Ollama 服务的访问地址, 11434 端口是 Ollama 默认的启动端口
|
||||
chat:
|
||||
options: # 模型参数
|
||||
model: qwen3:14b # 指定 Ollama 使用的大模型名称,根据你实际安装的来,我运行的是 14b
|
||||
temperature: 0.7 # 温度值
|
||||
zhipuai:
|
||||
base-url: https://open.bigmodel.cn/api/paas # 智谱 AI 的请求 URL, 可不填,默认值为 open.bigmodel.cn/api/paas
|
||||
api-key: ENC(Rz1O0AygSzG3q4UrIpIPHRwFoTQXCUZkWZ54vNzl1kgdBkQECzCYa3LoOADM9NlGLlAwCKTMtkj0nd6cP98T59DohcKtzc3iYyiAoNRfH0rsiu483CpaCciyMwxCUi5O) # 填写智谱 AI 的 API Key, 该成你自己的
|
||||
chat:
|
||||
options: # 模型参数
|
||||
model: GLM-4.6 # 模型名称,使用智谱 AI 哪个模型
|
||||
temperature: 0.7 # 温度值
|
||||
openai:
|
||||
base-url: https://api.master-jsx.top # OpenAI 服务的访问地址,这里使用的第三方代理商:智增增
|
||||
api-key: ENC(D6ETp0VBeDYXvM612dcoGkyHaGUcPuwOVuSLtL92TOCxydyMKXL7/VBndWjFkxAQP/AS7TeQeegla+Ny6TrLStwdJtd28mVhoyf2YsKuXIdRnKF/mv8/uZ0MpzMdv9YR) # 填写智增增的 API Key, 该成你自己的
|
||||
chat:
|
||||
options:
|
||||
model: gpt-4o # 模型名称
|
||||
temperature: 0.7 # 温度值
|
||||
dashscope:
|
||||
api-key: ENC(cMgcKZkFllyE88DIbGwLKot9Vg02co+gsmY8L8o4/o3UjhcmqO4lJzFU35Sx0n+qFG8pDL0wBjoWrT8X6BuRw9vNlQhY1LgRWHaF9S1zzyM=)
|
||||
chat:
|
||||
options:
|
||||
model: qwen-omni-turbo
|
||||
temperature: 0.7
|
||||
multi-model: true
|
||||
model: qwen-plus
|
||||
temperature: 0.5
|
||||
chat:
|
||||
memory:
|
||||
repository:
|
||||
@@ -49,7 +36,6 @@ spring:
|
||||
table: t_ai_chat_memory
|
||||
time-to-live: 1095d
|
||||
initialize-schema: true
|
||||
|
||||
jasypt:
|
||||
encryptor:
|
||||
password: ${jasypt.encryptor.password}
|
||||
@@ -57,4 +43,5 @@ jasypt:
|
||||
iv-generator-classname: org.jasypt.iv.RandomIvGenerator
|
||||
logging:
|
||||
level:
|
||||
org.springframework.ai.chat.client.advisor: debug
|
||||
org.springframework.ai.chat.client.advisor: debug
|
||||
config: classpath:log4j2.xml # 设置日志配置文件路径
|
||||
Reference in New Issue
Block a user