AI陪聊
下面是本项目AI陪聊功能页面及部分代码展示。
前端
将用户发过的信息和AI的回答一起发给后端。
this.request
.post("/partner/chat", {
messages: this.list
})
.then((res) => {
if (res.data.code === "0") {
//console.log(this.data.data);
this.list.push(
{
role: "assistant",
content: res.data.data
}
);
this.messages.push({
text: res.data.data,
author: "assistant",
});
} else if (res.data.code === "-1") {
//this.$message.warning("出错");
}
后端
调用大模型进行对话。
dto.getMessages().add(messageDTO);
JSONObject jsonObject = new JSONObject();
jsonObject.put("model","glm-4");
jsonObject.put("messages",dto.getMessages());
System.out.println(jsonObject.toString());
Object result = ChatGLMHttpsUtil.post("https://open.bigmodel.cn/api/paas/v4/chat/completions",jsonObject);
JSONObject response = (JSONObject) JSONObject.toJSON(result);
String report;
try{
//将JSON字符串解析为 JSONObject
JSONObject jsonObject1 = new JSONObject(response);
JSONArray choicesArray = jsonObject1.getJSONArray("choices");
JSONObject firstChoice = choicesArray.getJSONObject(0);
JSONObject messageObject = firstChoice.getJSONObject("message");
report = messageObject.getString("content");
}catch (JSONException e){
e.printStackTrace();
return null;
}
return report;
}