Commit 1a849352 authored by alex yao's avatar alex yao

fix:图表插件 <\br> 取代换行符

parent daa8ed21
......@@ -72,13 +72,14 @@ public class ChartGenerateFunction extends AbstractLargeModelFunction {
"2. 使用与数据类型匹配的图表子类型(如堆积柱状图、面积折线图等)\n" +
"3. 坐标轴需要包含单位说明\n" +
"4. 使用最简单的方式生成,不要样式\n" +
"5. 实际使用中用户的数据和要求不同,不能直接使用例子进行输出,要按照用户要求的图表进行\n"+
"5. 实际使用中用户的数据和要求不同,不能直接使用例子进行输出,要按照用户要求的图表进行\n" +
"\n" +
"**输出要求**:\n" +
"- 仅返回可直接用于Markdown的Mermaid配置\n" +
"- 包含完整的Mermaid配置项\n" +
"- 严格遵循Mermaid的语法\n" +
"- 注意中文标题需要带双引号\n" +
"- 若需要换行则使用</br>代替换行符\n" +
"请以Mermaid格式返回配置, 思考好了之后再输出,不要输出其他内容,如解释或注释。\n" +
"\n" +
"**示例**\n" +
......
......@@ -29,6 +29,43 @@ import java.util.List;
@WebAppConfiguration
public class ChartGenerateFunctionTest {
private final String SYSTEM_PROMPT = "您是一名专业的数据可视化工程师,请根据以下要求生成图表配置:\n" +
"**主题**:\n" +
"${theme}\n" +
"**输入数据**:\n" +
"上下文提取数据:\n" +
"${data}\n" +
"\n" +
"数据库数据:\n" +
"${database_result}\n" +
"\n" +
"知识库数据:\n" +
"${knowledge_result}\n" +
"\n" +
"**图形类型**:\n" +
"${chart_type}\n" +
"\n" +
"**配置要求**:\n" +
"1. 图表标题应准确反映数据主题\n" +
"2. 使用与数据类型匹配的图表子类型(如堆积柱状图、面积折线图等)\n" +
"3. 坐标轴需要包含单位说明\n" +
"4. 使用最简单的方式生成,不要样式\n" +
"5. 实际使用中用户的数据和要求不同,不能直接使用例子进行输出,要按照用户要求的图表进行\n"+
"\n" +
"**输出要求**:\n" +
"- 仅返回可直接用于Markdown的Mermaid配置\n" +
"- 包含完整的Mermaid配置项\n" +
"- 严格遵循Mermaid的语法\n" +
"- 注意中文标题需要带双引号\n" +
"请以Mermaid格式返回配置, 思考好了之后再输出,不要输出其他内容,如解释或注释。\n" +
"\n" +
"**示例**\n" +
"目标生成折线图:\n" +
"```mermaid\n" +
"xychart-beta\n" +
" line [+1.3, .6, 2.4, -.34]\n" +
"```";
@Resource
ChartGenerateFunction chartGenerateFunction;
......@@ -40,10 +77,10 @@ public class ChartGenerateFunctionTest {
// String json = "{\"chart_type\": \"折线图\", \"data\": \"2022-03-15 500000.00 定金 银行转账 YXSK20220315001 1 购房定金 2022-04-01 1500000.00 首付 银行转账 YXSK20220401001 1 首付款30% 2022-10-01 2450000.00 尾款 银行转账 YXSK20221001001 1 银行按揭放款 2022-04-20 500000.00 定金 银行转账 YXSK20220420001 2 购房定金 2022-05-05 1500000.00 首付 银行转账 YXSK20220505001 2 首付款30% 2022-11-01 2550000.00 尾款 银行转账 YXSK20221101001 2 银行按揭放款\", \"question\": \"帮我将一下数据生成折线图\", \"theme\": \"购房款项支付情况\"}'}";
JSONObject jsonObject = new JSONObject();
jsonObject.put("question", "帮我将一下数据生成折线图");
jsonObject.put("chart_type", "折线图");
jsonObject.put("theme", "购房款项支付情况");
jsonObject.put("data", "2022-03-15 500000.00 定金 银行转账 YXSK20220315001 1 购房定金 2022-04-01 1500000.00 首付 银行转账 YXSK20220401001 1 首付款30% 2022-10-01 2450000.00 尾款 银行转账 YXSK20221001001 1 银行按揭放款 2022-04-20 500000.00 定金 银行转账 YXSK20220420001 2 购房定金 2022-05-05 1500000.00 首付 银行转账 YXSK20220505001 2 首付款30% 2022-11-01 2550000.00 尾款 银行转账 YXSK20221101001 2 银行按揭放款");
jsonObject.put("question", "根据以上数据生成流程图");
jsonObject.put("chart_type", "流程图");
jsonObject.put("theme", "请求处理流程");
jsonObject.put("data", "请求类型 处理部门 平均处理时间 优先级 技术问题 技术部 2小时 高 账单问题 财务部 1工作日 中 其他 客服部 30分钟 低");
String content = jsonObject.toJSONString();
String identifier = "test_function";
......@@ -60,14 +97,11 @@ public class ChartGenerateFunctionTest {
String[] strings = new String[]{"chart_generate"};
List<Tool> tools = AgentApplicationTools.buildFunctionConfig(new ArrayList<>(), "N", "test", "test"
, strings, "N");
FunctionCallResult functionCallResult = llmService.functionCall("帮我将一下数据生成折线图\n" +
" 2022-03-15 500000.00 定金 银行转账 YXSK20220315001 1 购房定金\n" +
" 2022-04-01 1500000.00 首付 银行转账 YXSK20220401001 1 首付款30%\n" +
" 2022-10-01 2450000.00 尾款 银行转账 YXSK20221001001 1 银行按揭放款\n" +
"2022-04-20 500000.00 定金 银行转账 YXSK20220420001 2 购房定金\n" +
"2022-05-05 1500000.00 首付 银行转账 YXSK20220505001 2 首付款30%\n" +
" 2022-11-01 2550000.00 尾款 银行转账 YXSK20221101001 2 银行按揭放款\n" +
"\n", tools.toArray(new Tool[0]));
FunctionCallResult functionCallResult = llmService.functionCall("请求类型 处理部门 平均处理时间 优先级\n" +
"技术问题 技术部 2小时 高\n" +
"账单问题 财务部 1工作日 中\n" +
"其他 客服部 30分钟 低\n" +
"根据以上数据生成流程图", tools.toArray(new Tool[0]));
System.out.println(functionCallResult);
}
......@@ -76,5 +110,10 @@ public class ChartGenerateFunctionTest {
System.out.println(chartGenerateFunction.getLLMConfig());
}
@Test
public void test_getSYSTEM_PROMPT() {
System.out.println(SYSTEM_PROMPT);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment