Unity使用豆包语言模型

环境

使用日期:2026.3.23

OS:Windows10

引擎:Unity2021.3.45

豆包语言模型开通

  1. https://www.volcengine.com
    手机号注册,身份证进行实名认证。
  2. https://www.volcengine.com/product/ark
    点击控制台。
  3. 语言模型开通服务。
  4. API Key 管理,创建API Key。
  5. 接入文档:https://www.volcengine.com/docs/82379/1494384?lang=zh

示例

数据类

csharp 复制代码
[Serializable]
public class RequestChat
{
    public string model;
    public List<Message> messages = new List<Message>();
}

[Serializable]
public class Message
{
    public string role;
    public string content;
}

[Serializable]
public class ResponeChatMessage
{
    public Choices[] choices;
}

[Serializable]
public class Choices
{
    public string finish_reason;
    public int index;
    public Message message;
}

请求示例

基础参数(必须)

  1. baseurl
    https://ark.cn-beijing.volces.com/api/v3/chat/completions
  2. model:
    接入文档中打开 API Explorer,找到model参数,选择开通的语言模型。
    示例:doubao-seed-2-0-code-preview-260215
  3. apiKey:
    创建的Key。

提问

RequestChat类设置使用的语言模型以及问题列表。

Message类中设置提问角色以及问题。

使用UnityWebRequest发送请求,接收响应信息。

使用过程中响应时间比较漫长,大概30秒收到响应。

csharp 复制代码
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;

public class DoubaoChatAPI : MonoBehaviour
{
    [SerializeField] string baseUrl;
    [SerializeField] string model;
    [SerializeField] string apiKey;

    bool isRequesting;//请求中

    float requesetTime;

    string question = string.Empty;
    string answer = string.Empty;

    void OnGUI()
    {
        GUILayout.Label("问题:");
        question = GUILayout.TextField(question);

        GUILayout.Label("回答:");
        GUILayout.Label(answer);

        if (isRequesting == false)
        {
            if (GUILayout.Button("开始对话"))
            {
                isRequesting = true;
                requesetTime = 0;

                RequestChat requestMessages = new RequestChat();
                requestMessages.model = model;
                requestMessages.messages.Add(new Message()
                {
                    role = "user",
                    content = question
                });
                string messages = JsonUtility.ToJson(requestMessages);

                StartCoroutine(PostChat(baseUrl, messages, (result, value) =>
                {
                    Debug.Log(value);
                    if (result)
                    {
                        var info = JsonUtility.FromJson<ResponeChatMessage>(value);
                        answer = info.choices[0].message.content;
                    }
                    else
                    {
                        answer = "回答失败,请查看日志";
                    }
                    isRequesting = false;
                }));
            }
        }
        else
        {
            requesetTime += Time.deltaTime;
            GUILayout.Label("请求时间:" + requesetTime);
        }
    }

    IEnumerator PostChat(string url, string jsonData, Action<bool, string> callback)
    {
        using (UnityWebRequest request = new UnityWebRequest(url, UnityWebRequest.kHttpVerbPOST))
        {
            byte[] bodyRaw = System.Text.Encoding.UTF8.GetBytes(jsonData);
            request.uploadHandler = new UploadHandlerRaw(bodyRaw);
            request.downloadHandler = new DownloadHandlerBuffer();
            request.SetRequestHeader("Content-Type", "application/json");
            request.SetRequestHeader("Authorization", "Bearer " + apiKey);

            yield return request.SendWebRequest();

            if (request.result == UnityWebRequest.Result.Success)
            {
                callback?.Invoke(true, request.downloadHandler.text);
            }
            else
            {
                Debug.LogError("请求失败:" + request.error);
                callback?.Invoke(false, request.downloadHandler.text);
            }
        }
    }
}
相关推荐
魔士于安1 小时前
unity宇宙飞船
游戏·unity·游戏引擎·贴图·模型
小龙报2 小时前
【Coze-AI智能体平台】解锁 Coze 工作流:逻辑控制・数据处理・AIGC 多媒体全场景实战
人工智能·深度学习·机器学习·语言模型·自然语言处理·github·aigc
jbb05232 小时前
国内三家大模型修图能力对比
语言模型
RReality2 小时前
【Unity Shader】高级光照与阴影总结:渲染路径、多光源、透明阴影
unity·游戏引擎
小超同学你好13 小时前
Langgraph 18. Skill 四种形态 —— Inline / File-based / External / Meta(含代码示例)
人工智能·语言模型·langchain
Tadas-Gao14 小时前
Mem0分层记忆系统:大语言模型长期记忆的架构革命与实现范式
人工智能·语言模型·自然语言处理·架构·大模型·llm·transformer
吴佳浩 Alben14 小时前
GPU 生产环境实践:硬件拓扑、显存管理与完整运维体系
运维·人工智能·pytorch·语言模型·transformer·vllm
lifallen19 小时前
从零推导多 Agent 协作网络 (Flow Agent)
人工智能·语言模型
KG_LLM图谱增强大模型20 小时前
MedHELM:真实临床医疗任务大语言模型的整体评估框架
人工智能·语言模型·自然语言处理