unity接入coze智能体

官网链接

coze智能体创建、设置

点击创建–选着智能体,随便起一个名字,就可以了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加令牌

在这里插入图片描述
把随便起一个名字,设置时间,把所有选项都勾选上,一定要勾选所有团队空间,否则无法点击确定。
点击确定后,会有一个对话框。里面有key,这个key需要做好备份,对话框关闭后,就无法找到这个key了,没有key就无法进行对话
在这里插入图片描述

API

API链接

每个API里面都有示例,可以按照示例,在代码中调用对应的API
在这里插入图片描述

核心代码

class Coze {
   
   


    private string apiToken = "备份的key";
    private string botId = "智能体的bot";

    private string conversationId ;
    private string chatId;
    //AI智能体回复消息的回调
    public Action<string> receiveCallBack;
    public Action processEndCallBack;//进度结束后的回调
    public Action<int> processCallBack;//进度回调
   public IEnumerator SendChatRequest(string userMessage)
    {
   
   
        Debug.Log("创建对话");
        // Step 1: 发起对话请求
        string chatUrl = "https://api.coze.cn/v3/chat";
        string jsonBody = $@"{
    
    {
            ""bot_id"": ""{
     
     botId}"",
            ""user_id"": ""123456789"",
            ""stream"": true,
            ""auto_save_history"": true,
            ""additional_messages"": [
                {
    
    {
                    ""role"": ""user"",
                    ""content"": ""{
     
     userMessage}"",
                    ""content_type"": ""text""
                }}
            ]
        }}";

        UnityWebRequest chatRequest = new UnityWebRequest(chatUrl, "POST");
        byte[] bodyRaw = Encoding.UTF8.GetBytes(jsonBody);
        chatRequest.uploadHandler = new UploadHandlerRaw(bodyRaw);
        chatRequest.downloadHandler = new DownloadHandlerBuffer();
        chatRequest.SetRequestHeader("Authorization", "Bearer " + apiToken);
        chatRequest.SetRequestHeader("Content-Type", "application/json");

        yield return chatRequest.SendWebRequest();
        Debug.Log("创建对话完成");
        if (chatRequest.result == UnityWebRequest.Result.Success)
        {
   
   
            string response = chatRequest.downloadHandler.text;

            // 解析SSE格式
            string[] lines = response.Split('\n');
            string jsonData = "";
            foreach (string line in lines)
            {
   
   
                if (line.StartsWith("data:"))
                {
   
   
                    jsonData = line.Substring(5); // 去掉"data:"前缀
                    break;
                }
            }
            Debug.Log("对话Json:" + jsonData);
            if (!string.IsNullOrEmpty(jsonData))
            {
   
   
                SSEChatResponse sseResponse = JsonUtility.FromJson<SSEChatResponse>(jsonData);
                chatId = sseResponse.id;
                conversationId
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值