Browse Source

参数调整

master
maojian 4 weeks ago
parent
commit
a67e0242c5
  1. 1
      src/main/java/com/bfd/qanda/entity/Constants.java
  2. 7
      src/main/java/com/bfd/qanda/process/QandaPorcess.java
  3. 77
      src/main/java/com/bfd/qanda/utils/DataUtil.java

1
src/main/java/com/bfd/qanda/entity/Constants.java

@ -159,4 +159,5 @@ public class Constants {
public static final String STATUS_CODE = "status_code";
public static final String FILE_ID = "file_id";
public static final String TRACE = "trace";
public static final String THINKING = "thinking";
}

7
src/main/java/com/bfd/qanda/process/QandaPorcess.java

@ -134,6 +134,7 @@ public class QandaPorcess implements Runnable {
log.info("数据流转至下游-------");
} catch (Throwable e) {
log.error("问答处理异常,", e);
log.error("异常任务:{}",JSONObject.toJSONString(task));
//结果集
Map<String, Object> results = new HashMap<String, Object>(16);
Map<String, Object> result = new HashMap<String, Object>(16);
@ -171,7 +172,7 @@ public class QandaPorcess implements Runnable {
chatContent.append(map.get(Constants.VALUE));
} else {
String jsonPath = (String) map.get(Constants.VALUE);
chatContent.append(DataUtil.getValue(jsonPath, data).toString());
chatContent.append(DataUtil.getValue(jsonPath, data));
}
}
Map<String, Object> headers = new HashMap<String, Object>(16);
@ -182,6 +183,10 @@ public class QandaPorcess implements Runnable {
params.put(Constants.MESSAGES, prompts);
params.put(Constants.TEMPERATURE, temperature);
params.put(Constants.TOP_P, topP);
//推理字段 enabled 启用disabled禁用
Map<String, Object> thinking = new HashMap<String, Object>();
thinking.put(Constants.TYPE, "disabled");
params.put(Constants.THINKING, thinking);
headers.put(Constants.AUTHORIZATION, authorization);
headers.put("Content-Type", "application/json");
String html = DownLoadUtil.doPost(Constants.DOUBAO_TURBO_URL, JSONObject.toJSONString(params), headers);

77
src/main/java/com/bfd/qanda/utils/DataUtil.java

@ -1,10 +1,13 @@
package com.bfd.qanda.utils;
import java.util.Map;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONPath;
import com.bfd.qanda.entity.Constants;
import java.util.Map;
import lombok.extern.slf4j.Slf4j;
/**
* @author:jinming
@ -13,36 +16,48 @@ import java.util.Map;
* @description: 获取dataValue的值
* @Date:2023/11/1 9:54
*/
@Slf4j
public class DataUtil {
/**
*
* @param key 传入的key
* @param dataMap 数据map
* @return 根据传入的参数进行判断解析返回正确的dataValue
*/
public static Object getValue(String key, Map dataMap) {
Object dataValue;
String isJson = "#json#";
if (key.contains(isJson)) {
//进行第一次拆分获取#json#前面的部分
String[] keySplit = key.split(isJson);
String firstDataKey = keySplit[0];
String[] firstDataKeySplit = firstDataKey.split(":");
//取出前半部分对应的JSON数据并转换为JSONObject
String dataJson = (String) dataMap.get(firstDataKeySplit[0]);
JSONObject dataJsonObject = JSON.parseObject(dataJson);
//根据key的后半部分取出对应JSONObject中的值
String firstDataKeyJson = (String) JSONPath.eval(dataJsonObject, firstDataKeySplit[1]);
String secDataKey = keySplit[1];
JSONObject firstDataJsonObject = JSON.parseObject(firstDataKeyJson);
dataValue = JSONPath.eval(firstDataJsonObject, secDataKey);
return dataValue;
}
String[] keySplit = key.split(":");
String jsonPath = keySplit[1];
String dataJson = (String) dataMap.get(keySplit[0]);
JSONObject dataJsonObject = JSON.parseObject(dataJson);
dataValue = JSONPath.eval(dataJsonObject, jsonPath);
return dataValue;
}
*
* @param key 传入的key
* @param dataMap 数据map
* @return 根据传入的参数进行判断解析返回正确的dataValue
*/
public static Object getValue(String key, Map dataMap) {
try {
//公式为空直接就返回
if(key.equals(Constants.EMPTY)){
return Constants.EMPTY;
}
Object dataValue;
String isJson = "#json#";
if (key.contains(isJson)) {
//进行第一次拆分获取#json#前面的部分
String[] keySplit = key.split(isJson);
String firstDataKey = keySplit[0];
String[] firstDataKeySplit = firstDataKey.split(":");
//取出前半部分对应的JSON数据并转换为JSONObject
String dataJson = (String) dataMap.get(firstDataKeySplit[0]);
JSONObject dataJsonObject = JSON.parseObject(dataJson);
//根据key的后半部分取出对应JSONObject中的值
String firstDataKeyJson = (String) JSONPath.eval(dataJsonObject, firstDataKeySplit[1]);
String secDataKey = keySplit[1];
JSONObject firstDataJsonObject = JSON.parseObject(firstDataKeyJson);
dataValue = JSONPath.eval(firstDataJsonObject, secDataKey);
return dataValue;
}
String[] keySplit = key.split(":");
String jsonPath = keySplit[1];
String dataJson = (String) dataMap.get(keySplit[0]);
JSONObject dataJsonObject = JSON.parseObject(dataJson);
dataValue = JSONPath.eval(dataJsonObject, jsonPath);
return dataValue;
} catch (Exception e) {
// TODO: handle exception
log.error("jsonpath公式取值异常,",e);
return null;
}
}
}
Loading…
Cancel
Save