
一、DeepSeek
1.1 介绍
DeepSeek(深度求索) 是由幻方量化孵化的一家中国 AI 实验室,专注于大语言模型的研发。自 2023 年成立以来,DeepSeek 凭借低成本、高性能、全开源的技术路线,迅速成为全球 AI 领域的重要力量。
核心亮点
- 极致性价比:训练成本仅 557 万美元,性能对标 GPT-4
- 超长上下文:支持 100 万 tokens,可一次性处理《三体》三部曲
- 开源生态:模型权重完全开放,开发者可自由部署
1.2 效果展示

二、获取 DeepSeek 模型 API
2.1 API 调用文档
DeepSeek 的 API 文档:https://api-docs.deepseek.com/zh-cn/

2.2 获取 API 密钥
登录 DeepSeek 开放平台获取 API 密钥:https://platform.deepseek.com/api_keys
点击创建 API key,然后输入名称,之后点击复制 APIKEY(后面在 Unity 中接入对话时会用到)。
重要提示:密钥仅在申请成功时完整显示一次,后续只能查看基本信息。请务必妥善保存,建议存储在本地安全位置。

2.3 模型价格
DeepSeek 的百万 Tokens 价格约为两到三元左右,相比之下已经很划算了,用作对话 API 使用完全足够。

2.4 用量信息
可以在 DeepSeek 开放平台查看用量信息,消费金额、API 请求次数和 Tokens 的消耗都可以看到。

三、接入 Unity 使用
3.1 新建 Unity 项目
使用 UnityHub 新建一个 Unity 项目,然后新建场景和脚本。

将脚本挂载到场景中运行查看效果。

这样就可以在 Unity 工程中跟 DeepSeek 进行对话了。
3.2 AI 对话脚本
调用脚本 DeepSeekTest.cs
using UnityEngine;
public class DeepSeekTest : MonoBehaviour
{
private void Start()
{
DeepSeekDialogueManager.GetInstance().SendMessageToDeepSeek("你好");
}
}
核心脚本 DeepSeekDialogueManager.cs
using System.Collections;
using UnityEngine;
using Newtonsoft.Json;
using UnityEngine.Networking;
using UnityEngine.UI;
public class DeepSeekDialogueManager : MonoBehaviour
{
private string apiKey = "此处填入申请的 API 密钥"; // API 密钥
private string apiUrl = "https://api.deepseek.com/v1/chat/completions"; // API 请求地址
private string modelName = "deepseek-chat"; // 使用的模型名称
private int maxTokens = 1024; // 生成的最大令牌数(控制回复长度)
private static DeepSeekDialogueManager instance;
public static DeepSeekDialogueManager GetInstance()
{
if (instance == null)
{
instance = new DeepSeekDialogueManager();
}
return instance;
}
void Awake()
{
instance = this;
}
public void SendMessageToDeepSeek(string data)
{
StartCoroutine(PostRequest(data));
}
IEnumerator PostRequest(string message)
{
// 创建请求体
var requestBody = new
{
model = modelName,
max_tokens = maxTokens,
messages = new[]
{
//new { role = "system", content = "给模型添加信息。比如:你是一个 UnityAI 助手,负责 Unity 中的对话功能" },
new { role = "user", content = message }
},
};
// 序列化请求体
string jsonBody = JsonConvert.SerializeObject(requestBody);
Debug.Log("序列化内容。jsonBody:" + jsonBody);
// 创建网络请求
UnityWebRequest request = new UnityWebRequest(apiUrl, "POST");
byte[] bodyRaw = System.Text.Encoding.UTF8.GetBytes(jsonBody);
// 上传处理器
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.ConnectionError || request.result == UnityWebRequest.Result.ProtocolError)
{
// 打印详细错误信息
Debug.LogError($"request: {request.result}。Error: {request.error}。Response: {request.downloadHandler.text}");
}
else
{
// 处理响应
string responseJson = request.downloadHandler.text;
Debug.Log("Response: " + responseJson);
// 解析响应
var response = JsonConvert.DeserializeObject<DeepSeekResponse>(responseJson);
if (response != null && response.choices.Length > 0)
{
string reply = response.choices[0].message.content;
Debug.Log("DeepSeek says: " + reply);
}
else
{
Debug.LogError("Failed to parse response.");
}
}
request.Dispose();
}
// 定义响应数据结构
private class DeepSeekResponse
{
public Choice[] choices;
}
private class Choice
{
public Message message;
}
private class Message
{
public string content;
}
}
3.3 搭建简易 UI 对话界面
使用 InputField 输入对话内容,使用 Text 组件接收 DeepSeek 回复的内容,搭建简易的对话界面。

测试效果如下所示:

3.4 其他模型 API 对话接入
本文提供的脚本不止可以接入 DeepSeek 进行对话,还可以接入其他大模型,比如 MiniMax 等。
只需要修改模型名称和API 请求地址即可,比如使用 MiniMax 对话模型脚本修改如下:
private string apiUrl = "https://api.minimaxi.com/v1/text/chatcompletion_v2"; // API 请求地址
private string modelName = "MiniMax-M2.5"; // 使用的模型名称

不同模型使用的 API 请求地址和模型名称一般都不同,去对应的官方 API 文档查看即可。
总结
在 Unity 中接入 DeepSeek 以及其他大模型进行 AI 对话的功能已实现。通过统一脚本结构,仅需调整 API 地址和模型名称即可适配不同厂商的大语言模型,极大简化了集成流程。


