AI 提问追问环境demo 添加

This commit is contained in:
2025-10-27 00:26:08 +08:00
parent ca2d06d0a5
commit b2a781ef77
2 changed files with 87 additions and 12 deletions

View File

@@ -10,6 +10,7 @@ import org.springframework.stereotype.Component;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
@@ -37,10 +38,10 @@ public class OpenAiStreamClient {
/**
* 发送流式请求
*
* @param prompt 提示词
* @param promptJson 提示词json数据集合
* @param listener 流式响应监听器
*/
public void streamChat(String prompt, OpenAiStreamListenerService listener) {
public void streamChat(String promptJson, OpenAiStreamListenerService listener) {
OkHttpClient client = new OkHttpClient.Builder()
.connectTimeout(30, TimeUnit.SECONDS)
.readTimeout(60, TimeUnit.SECONDS)
@@ -53,13 +54,18 @@ public class OpenAiStreamClient {
Map<String, Object> requestBody = new HashMap<>();
requestBody.put("model", model);
requestBody.put("stream", true);
// 构建消息
Map<String, String> message = new HashMap<>();
message.put("role", role);
message.put("content", prompt);
requestBody.put("messages", new Object[]{message});
if(StrUtil.isNotEmpty(promptJson)) {
List<Map> promptList = JSONUtil.toList(promptJson, Map.class);
Object[] objects = new Object[promptList.size()];
for (int i = 0; i < promptList.size(); i++) {
objects[i] = promptList.get(i);
}
//获取到的提示
requestBody.put("messages", objects);
}
//开始给AI发送请求数据
System.out.println("请求AI数据参数为:"+JSONUtil.toJsonStr(requestBody));
// 创建请求
Request request = new Request.Builder()
.url(apiUrl)