
- [【Unity-AI开发篇】| 游戏中接入DeepSeek实现AI对话,完整详细步骤](#【Unity-AI开发篇】| 游戏中接入DeepSeek实现AI对话,完整详细步骤)
-
- 一、DeepSeek
-
- [1.1 介绍](#1.1 介绍)
- [1.2 效果展示](#1.2 效果展示)
- [二、 获取DeepSeek模型API](#二、 获取DeepSeek模型API)
-
- [2.1 API调用文档](#2.1 API调用文档)
- [2.2 获取API密钥](#2.2 获取API密钥)
- [2.3 模型价格](#2.3 模型价格)
- [2.4 用量信息](#2.4 用量信息)
- 三、接入Unity使用
-
- [3.1 新建Unity项目](#3.1 新建Unity项目)
- [3.1 AI对话脚本](#3.1 AI对话脚本)
- [3.2 搭建简易UI对话界面](#3.2 搭建简易UI对话界面)
- [3.3 其他模型API对话接入](#3.3 其他模型API对话接入)
- 总结

前言
- 大语言模型正深刻改变人机交互方式,DeepSeek 凭借强大的推理能力、文本快速响应能力及超长上下文,成为开发者接入 AI 对话的热门选择。
- 本文带你从零开始在 Unity 中接入 DeepSeek,实现实时 AI 对话。
- 从 API 获取、配置到 UI 交互,全程详细介绍,即使 Unity 新手也能轻松上手。
【Unity-AI开发篇】| 游戏中接入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/

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

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

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

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

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

这样就可以在Unity工程中跟DeepSeek进行对话了。
3.1 AI对话脚本
调用脚本 DeepSeekTest.cs
csharp
using UnityEngine;
public class DeepSeekTest : MonoBehaviour
{
private void Start()
{
DeepSeekDialogueManager .GetInstance().SendMessageToDeepSeek("你好");
}
}
核心脚本 DeepSeekDialogueManager.cs
csharp
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 intance;
public static DeepSeekDialogueManager GetInstance()
{
if (intance == null)
{
intance = new DeepSeekDialogueManager();
}
return intance;
}
void Awake()
{
intance = 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.2 搭建简易UI对话界面
使用InputField输入对话内容,使用Text组件接收DeepSeek回复的内容,搭建简易的对话界面。

测试效果如下所示:

3.3 其他模型API对话接入
本文提供的脚本不止可以接入DeepSeek进行对话,还可以接入其他大模型,比如MiniMax等。
只需要修改模型名称 和API请求地址即可,比如使用MiniMax对话模型脚本修改如下:
csharp
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地址即可,可谓是非常便捷了!
🎬 博客主页:https://xiaoy.blog.csdn.net
🎥 本文由 呆呆敲代码的小Y 原创 🙉
🎄 学习专栏推荐:Unity系统学习专栏
🌲 游戏制作专栏推荐:游戏制作
🌲Unity实战100例专栏推荐:Unity 实战100例 教程
🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
📆 未来很长,值得我们全力奔赴更美好的生活✨
------------------❤️分割线❤️-------------------------




资料白嫖,技术互助
| 学习路线指引(点击解锁) | 知识定位 | 人群定位 |
|---|---|---|
| 🧡 Unity系统学习专栏 | 入门级 | 本专栏从Unity入门开始学习,快速达到Unity的入门水平 |
| 💛 Unity实战类项目 | 进阶级 | 计划制作Unity的 100个实战案例!助你进入Unity世界,争取做最全的Unity原创博客大全。 |
| ❤️ 游戏制作专栏 | 难度偏高 | 分享学习一些Unity成品的游戏Demo和其他语言的小游戏! |
| 💚 游戏爱好者万人社区 | 互助/吹水 | 数万人游戏爱好者社区,聊天互助,白嫖奖品 |
| 💙 Unity100个实用技能 | Unity查漏补缺 | 针对一些Unity中经常用到的一些小知识和技能进行学习介绍,核心目的就是让我们能够快速学习Unity的知识以达到查漏补缺 |
