![效果展示]
Unity 游戏中接入 DeepSeek 实现 AI 对话的完整步骤
一、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/
![API 文档截图]
2.2 获取 API 密钥
登录 DeepSeek 开放平台获取 API 密钥:https://platform.deepseek.com/api_keys
点击创建 API key,输入名称后复制 APIKEY(在 Unity 中接入对话时会用到)。
重要提示:密钥仅在申请成功时完整显示一次,后续只能查看基本信息。请务必妥善保存,建议存储在本地安全位置。
![API 密钥截图]
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)
{
requestBody =
{
model = modelName,
max_tokens = maxTokens,
messages = []
{
{ role = , content = message }
},
};
jsonBody = JsonConvert.SerializeObject(requestBody);
Debug.Log( + jsonBody);
UnityWebRequest request = UnityWebRequest(apiUrl, );
[] bodyRaw = System.Text.Encoding.UTF8.GetBytes(jsonBody);
request.uploadHandler = UploadHandlerRaw(bodyRaw);
request.downloadHandler = DownloadHandlerBuffer();
request.SetRequestHeader(, );
request.SetRequestHeader(, + apiKey);
request.SendWebRequest();
(request.result == UnityWebRequest.Result.ConnectionError || request.result == UnityWebRequest.Result.ProtocolError)
{
Debug.LogError();
}
{
responseJson = request.downloadHandler.text;
Debug.Log( + responseJson);
response = JsonConvert.DeserializeObject<DeepSeekResponse>(responseJson);
(response != && response.choices.Length > )
{
reply = response.choices[].message.content;
Debug.Log( + reply);
}
{
Debug.LogError();
}
}
request.Dispose();
}
{
Choice[] choices;
}
{
Message message;
}
{
content;
}
}
3.3 搭建简易 UI 对话界面
使用 InputField 输入对话内容,使用 Text 组件接收 DeepSeek 回复的内容,搭建简易的对话界面。
![UI 界面截图]
测试效果如下所示:
![效果展示]
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 对话的功能。
- 近期 AI 发展非常迅速,搁在 ChatGPT 刚出时,想接入 GPT 进行对话要经过很多复杂步骤。
- 现如今只需要调用同一个脚本,输入不同厂家的 API 地址即可,可谓是非常便捷了!


