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);
            }
        }
    }
}
相关推荐
mxwin6 小时前
Unity URP 下抓取当前屏幕内容实现扭曲、镜子与全局模糊效果
unity·游戏引擎·shader
阿杰学AI10 小时前
AI核心知识115—大语言模型之 自监督学习(简洁且通俗易懂版)
人工智能·学习·ai·语言模型·aigc·监督学习·自监督学习
Zzj_tju10 小时前
大语言模型技术指南:Transformer 为什么能成为基础架构?核心模块与参数怎么理解
人工智能·语言模型·transformer
gorgeous(๑>؂<๑)10 小时前
【CVPR26-韩国科学技术院】令牌扭曲技术助力多模态大语言模型从邻近视角观察场景
人工智能·语言模型·自然语言处理
南無忘码至尊11 小时前
Unity学习90天-第2天-认识Unity生命周期函数并用 Update 控制物体移动,FixedUpdate 控制物理
学习·unity·游戏引擎
Zzj_tju12 小时前
大语言模型和视觉语言模型技术指南:从 Transformer 到多模态系统,全景看懂主流路线
人工智能·语言模型·transformer
2301_7644413314 小时前
2026年1月至4月期间,大模型招投标市场态势
人工智能·语言模型·信息与通信
kyle-fang14 小时前
主流微调工具
人工智能·语言模型
小林up15 小时前
【Unity URP源码阅读1】ColorGradingLUT
unity·游戏引擎
飞Link17 小时前
【AI大模型实战】万字长文肝透大语言模型(LLM):从底层原理解析到企业级Python项目落地
开发语言·人工智能·python·语言模型·自然语言处理