coze智能体创建、设置
点击创建–选着智能体,随便起一个名字,就可以了
添加令牌
把随便起一个名字,设置时间,把所有选项都勾选上,一定要勾选所有团队空间,否则无法点击确定。
点击确定后,会有一个对话框。里面有key,这个key需要做好备份,对话框关闭后,就无法找到这个key了,没有key就无法进行对话
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