package com.template.model.pojo;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

/**
 * @Author: xwt
 * @Date: 2025/2/27 星期四 17:33
 * @Description: com.template.model.pojo
 * @Version: 1.0
 */
public class JsonExample {
    /**
     * toJson
     * @param msg 你要输入的内容
     * @param model 模型类型 例如 deepseek-chat、deepseek-reasoner
     * @return 组装好的json数据
     */
    public static String toJson(String msg,String model){
        // 创建JSON对象
        JSONObject json = new JSONObject();

        // 创建messages数组
        JSONArray messages = new JSONArray();

        // 添加第一个message
        JSONObject systemMessage = new JSONObject();
        systemMessage.put("content", "You are a helpful assistant");
        systemMessage.put("role", "system");
        messages.add(systemMessage);

        // 添加第二个message
        JSONObject userMessage = new JSONObject();
        userMessage.put("content", msg);
        userMessage.put("role", "user");
        messages.add(userMessage);

        // 将messages数组添加到JSON对象
        json.put("messages", messages);

        // 添加其他字段
        json.put("model", model);
        json.put("frequency_penalty", 0);
        json.put("max_tokens", 2048);
        json.put("presence_penalty", 0);

        // 添加response_format对象
        JSONObject responseFormat = new JSONObject();
        responseFormat.put("type", "text");
        json.put("response_format", responseFormat);

        // 添加其他字段
        json.put("stop", null);
        json.put("stream", true);
        json.put("stream_options", null);
        json.put("temperature", 1);
        json.put("top_p", 1);
        json.put("tools", null);
        json.put("tool_choice", "none");
        json.put("logprobs", false);
        json.put("top_logprobs", null);

        // 控制台打印输出JSON字符串并且使用2个空格进行缩进
        //System.out.println(json.toString(2));
        return json.toString();
    }
}
