Java實戰:基于騰訊元器輕松搭建歷史人物介紹API案例
今天給大家分享一下如何基于騰訊元器輕松搭建歷史人物介紹API,開發語言這里使用Java。希望通過該案例對大家對接騰訊元器API提供一些幫助!
一、騰訊元器介紹
“騰訊元器”是基于騰訊混元大模型的一站式智能體制作平臺,大家可以基于騰訊元器平臺快速搭建滿足自己使用需求的智能體。并且還可以通過接口的方式集成到個人的其他服務,比如微信小程序、個人專屬聊天機器人、微信客服、QQ!智能體等等。
官網:https://yuanqi.tencent.com/
二、完整的對接流程
注冊登錄自己的騰訊元器
創建自己的專屬智能體
使用Java編寫API接口
2.1 注冊登錄騰訊元器
首先需要登錄騰訊元器官網,然后注冊賬戶,當然如果你之前已經注冊過騰訊元器的賬戶直接登錄即可。
2.2 創建自己的專屬智能體
因為個人對歷史比較感興趣,所以創建了一個【歷史人物知多少】的智能體,主要是實現輸入歷史人物姓名,可以快速獲取生平、歷史事跡、評價等,讓你輕輕松松掌握歷史那些知名人物的一生。具體創建后的效果如下圖:
關于元器的使用說明大家可以參考官方文檔:
https://docs.qq.com/aio/p/scxmsn78nzsuj64?p=LyUhXC9azxBeh7GJ0TtA9SG
2.3 使用Java編寫API接口
智能體創建成功后需要獲取到智能體的ID和Token信息作為API接口請求使用,目前有一億token額度,開發階段完全夠用。具體如下圖:
創建一個SpringBoot API項目,引入Http請求依賴庫,這里使用Hutool工具類,在pom.xml文件添加依賴庫
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.16</version>
</dependency>
新建一個請求工具類,主要代碼如下:
public static String GetYuanQiContent(String chat){
String url="https://open.hunyuan.tencent.com/openapi/v1/agent/chat/completions";
String para="{\n" +
" \"assistant_id\": \"你的智能體Id\",\n" +
"\t\"user_id\": \"xiaoming\",\n" +
" \"stream\": false,\n" +
" \"messages\": [\n" +
" {\n" +
" \"role\": \"user\",\n" +
" \"content\": [\n" +
" {\n" +
" \"type\": \"text\",\n" +
" \"text\": \""+chat+"\"\n" +
" }\n" +
" ]\n" +
" }\n" +
" ]\n" +
"}\n";
HashMap<String, String> headers = new HashMap<>();//存放請求頭,可以存放多個請求頭
headers.put("Authorization", "Bearer 你的智能體Token");
headers.put("X-Source", "openapi");
headers.put("Content-Type", "application/json");
String result=HttpUtil.createPost(url).addHeaders(headers).body(para).execute().body();
System.out.println(result);
return result;
}
請求參數如下圖:
返回參數示例:
{
"id": "xxxxxxx",
"created": 1735004908,
"choices": [{
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "好的,那我給你介紹一位有趣的歷史人物——唐代詩人李白。他被譽為“詩仙”,性格豪放不羈,喜歡飲酒作詩。傳說他醉酒后曾讓高力士為其脫靴,楊貴妃為其磨墨。他的詩作飄逸灑脫,如《將進酒》更是展現了他對自由生活的向往。",
"steps": [{
"role": "assistant",
"content": "好的,那我給你介紹一位有趣的歷史人物——唐代詩人李白。他被譽為“詩仙”,性格豪放不羈,喜歡飲酒作詩。傳說他醉酒后曾讓高力士為其脫靴,楊貴妃為其磨墨。他的詩作飄逸灑脫,如《將進酒》更是展現了他對自由生活的向往。",
"usage": {
"prompt_tokens": 299,
"completion_tokens": 74,
"total_tokens": 373
},
"time_cost": 11817
}]
}
}],
"assistant_id": "xxxxxx",
"usage": {
"prompt_tokens": 299,
"completion_tokens": 74,
"total_tokens": 373
}
}
注意:建議智能體Id和Token信息放在配置文件里面防止泄露,或者被別人調用造成損失。
新建接口控制器主要代碼如下:
/**
* 獲取歷史人物介紹
* @param chat
* @return
* @throws IOException
*/
@PostMapping("getHistoryContent")
public String getHistoryContent(@RequestParam String chat) throws IOException {
String result= HttpfUtils.get(chat);
// 返回響應實體
return result;
}