package com.smtaiserver.smtaiserver.javaai.qwen.extcall; import java.util.Map; import java.util.Map.Entry; import com.smtaiserver.smtaiserver.core.SMTAIServerRequest; import com.smtaiserver.smtaiserver.database.SMTDatabase.DBRecord; import com.smtaiserver.smtaiserver.javaai.SMTJavaAIError; import com.smtaiserver.smtaiserver.javaai.SMTJavaAISession; import com.smtservlet.util.Json; import com.smtservlet.util.SMTJsonWriter; public class SMTQwenExtCallAgentJson extends SMTQwenExtCall { private String _sJsonArgs; @Override public void initInstance(DBRecord rec) throws Exception { super.initInstance(rec); _sJsonArgs = rec.getString("call_config"); } @Override protected SMTJavaAIError invokeByArgs(Map mapId2Value, SMTJavaAISession session, Json callExtJson, SMTJsonWriter jsonWr, SMTAIServerRequest tranReq) throws Exception { String sJsonArgs = _sJsonArgs; for(Entry entry : mapId2Value.entrySet()) { sJsonArgs = sJsonArgs.replace("@" + entry.getKey() + "@", entry.getValue().toString()); } Json jsonCallInfo = Json.read(sJsonArgs); SMTJavaAIError error = session.callExtJson(jsonCallInfo, jsonWr, tranReq); return error; } }