tio-boot 整合Enjoy模版引擎拼接json文件
在大模型开发过程中我们需要大模型返送 prompt,如果使用 java 中的 map 对象生成这个 prompt 费时费力,下面介绍,如何使用 Enjoy 返回这个 prompt 的完整 json。获取到上面的 json 之后就可以直接发送 json 到 chatgpt 进行推理。最终返回 json 内容。
·
使用 Enjoy 模版引擎拼接 JSON
场景描述
在大模型开发过程中我们需要大模型返送 prompt,如果使用 java 中的 map 对象生成这个 prompt 费时费力,下面介绍,如何使用 Enjoy 返回这个 prompt 的完整 json
开发
添加依赖
<dependency>
<groupId>com.jfinal</groupId>
<artifactId>enjoy</artifactId>
<version>5.1.3</version>
</dependency>
- EnjoyEngineConfig 加载模版文件
import com.jfinal.template.Engine;
public class EnjoyEngineConfig {
private final String RESOURCE_BASE_PATH = "/prompt/";
public void config() {
Engine engine = Engine.use();
engine.setBaseTemplatePath(RESOURCE_BASE_PATH);
engine.setToClassPathSourceFactory();
// 支持模板热加载,绝大多数生产环境下也建议配置成 true,除非是极端高性能的场景
engine.setDevMode(true);
// 配置极速模式,性能提升 13%
Engine.setFastMode(true);
// jfinal 4.9.02 新增配置:支持中文表达式、中文变量名、中文方法名、中文模板函数名
Engine.setChineseExpression(true);
}
}
- EnjoyEngineConfigTest 读取 json 文件
package com.litongjava.ai.db.assistant.config;
import java.util.HashMap;
import java.util.Map;
import org.junit.BeforeClass;
import org.junit.Test;
import com.jfinal.template.Engine;
import com.jfinal.template.Template;
public class EnjoyEngineConfigTest {
@BeforeClass
public static void beforeClass() {
new EnjoyEngineConfig().config();
}
@Test
public void test() {
Engine engine = Engine.use();
Template template = engine.getTemplate("init_prompt.txt");
Map<String, String> values = new HashMap<>();
values.put("value", "postgresql");
String renderToString = template.renderToString(values);
System.out.println(renderToString);
}
}
init_prompt.txt
{
"messages":
[
{
"role": "system",
"content": "#include("init_prompt_message.txt")"
}
],
"functions":
[
{
"name": "find",
"description": "根据sql查询数据库",
"parameters":
{
"type": "object",
"properties":
{
"sql":
{
"description": "需要执行的sql语句",
"type": "string"
}
},
"required":
[
"sql"
]
}
}
]
}
init_prompt_message.txt
你是一名优秀的sql工程师,你可以根据用户的需求执行任何sql命令,你连接的数据库是 #(value)
最终返回 json 内容
{
"messages": [
{
"role": "system",
"content": "你是一名优秀的sql工程师,你可以根据用户的需求执行任何sql命令,你连接的数据库是 postgresql"
}
],
"functions": [
{
"name": "find",
"description": "根据sql查询数据库",
"parameters": {
"type": "object",
"properties": {
"sql": {
"description": "需要执行的sql语句",
"type": "string"
}
},
"required": ["sql"]
}
}
]
}
获取到上面的 json 之后就可以直接发送 json 到 chatgpt 进行推理

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)