feat(ai): 集成 DeepSeek AI 对话功能并配置加密支持
- 添加 DeepSeek Chat 模型依赖及 starter - 配置 DeepSeek API Key 加密与基础 URL - 新增 DeepSeekChatController 实现基本对话接口 - 引入 Jasypt 加密库用于敏感信息加密 - 提供 EncryptorUtil 工具类用于生成加密密钥 - 更新 pom.xml 引入 spring-ai 和 jasypt 依赖管理
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
package com.hanserwei.airobot.controller;
|
||||
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.ai.deepseek.DeepSeekChatModel;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/ai")
|
||||
public class DeepSeekChatController {
|
||||
|
||||
@Resource
|
||||
private DeepSeekChatModel chatModel;
|
||||
|
||||
/**
|
||||
* 普通对话
|
||||
* @param message 对话输入内容
|
||||
* @return 对话结果
|
||||
*/
|
||||
@GetMapping("/generate")
|
||||
public String generate(@RequestParam(value = "message", defaultValue = "你是谁?") String message) {
|
||||
// 一次性返回结果
|
||||
return chatModel.call(message);
|
||||
}
|
||||
|
||||
}
|
||||
11
src/main/java/com/hanserwei/airobot/utils/EncryptorUtil.java
Normal file
11
src/main/java/com/hanserwei/airobot/utils/EncryptorUtil.java
Normal file
@@ -0,0 +1,11 @@
|
||||
package com.hanserwei.airobot.utils;
|
||||
|
||||
import org.jasypt.util.text.AES256TextEncryptor;
|
||||
|
||||
public class EncryptorUtil {
|
||||
public static void main(String[] args) {
|
||||
AES256TextEncryptor textEncryptor = new AES256TextEncryptor();
|
||||
textEncryptor.setPassword("password");
|
||||
System.out.println(textEncryptor.encrypt("sk-xxxxxxxxxxxxxx"));
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,17 @@
|
||||
#file: noinspection SpringBootConfigYamlInspection
|
||||
spring:
|
||||
application:
|
||||
name: han-ai-robot-springboot
|
||||
name: han-ai-robot-springboot
|
||||
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 # 温度值
|
||||
jasypt:
|
||||
encryptor:
|
||||
password: ${jasypt.encryptor.password}
|
||||
algorithm: PBEWithHMACSHA512AndAES_256
|
||||
iv-generator-classname: org.jasypt.iv.RandomIvGenerator
|
||||
Reference in New Issue
Block a user