本项目讲述如何连接DeepSeek 和设置中文输入与显示
一. DeepSeek设置
1. 点击链接 deepseek 开放平台 打开deepseek 开放平台,可以使用微信扫码登录,或者用自己电话号码登录
2. 登录后,deepseek需要用户做实名认证,认证后点击左边 API keys
3. 在打开网页中点击创建API key 按键,在弹出的窗口中输入API key名称(可以任意取一个名称),在点击 创建 按键
4. 新弹出的窗口中显示了 API key,点击复制按键并该key值粘贴到一个记事本,后续要用到该key值,注意该key值不会再完全显示,一定要先复制,再关闭该窗口
注意:生成API key,需要用户付费。
二. Unity3D中连接DeepSeek
5. 打开Unity Hub,新建一个Universal 3D项目,采用 Unity 6,命名为MyDeepSeekproject
6. 下载本网页的附件DeepSeekAPI的压缩文件,解压缩后,将文件夹拖入到unity project窗口的Assets文件夹下,见下图
7. 展开DeepSeekAPI文件夹,打开Scenes文件夹中的Deep Seek-Chat 场景文件,再scene窗口激活2D场景选项,放缩窗口大小,并移动窗口,使得Scene窗口与Game窗口显示的内容相似,见下图
8. 在Hirarchy窗口点击DeepSeekChat游戏物体,在右侧Inspect窗口可以看到 Deep Seek Chat脚本,该脚本声明了Scene窗口中使用到的 UI 控件,以及DeepSeek API Settings
9. 在API Key的右侧输入上述第4步中保存的API key值
10. 查看该settings中使用的deepseek模型,R1 或V3, 温度值,以及使用streaming与deepseek平台通讯
11. 在Hirarchy窗口中展开DeepSeek_Canvas,查看UI的各个控件,然后再点击DeepSeekChat游戏物体,可以看到使用到的UI控件已经与Deep Seek Chat脚本中声明的控件建立了链接
12. 脚本中的Sent和received变量采用Prefabs中对应的RectTransform (Unity3D Rect Transform 组件详解)用于控制输入和输出区域的显示。
13. 点击Play按键,运行游戏,发现再下方的输入框中不能输入文字,停止并退出游戏
14. 再Hirary窗口点击鼠标右键,新建一个UI>Text Mesh Pro控件,弹出TMP Importer窗口,点击Import TMP Essentials,此时会再Project窗口的Assets文件夹中导入text mesh pro库,导入完成后,关闭该窗口,并将新建的text mesh pro游戏物体删除
15.再次点击Play按键,运行游戏,这是可以在下方输入框中输入文字了,例如输入 "where is Foshan University?" 将会得到如下回答(基于网速,回答会有时间延迟,耐心等待答案出现在上方区域)
16. 再尝试输入中文,发现不能正确显示中文字体。
17. 退出游戏。
三. 中文字体支持
18. 在C盘的windows > Fonts文件夹中找到微软雅黑中文字体,见下图
19. 拖拽上述字体到Unity editor中 Project窗口的 TextMesh Pro 的 Fonts 文件夹中,导入该字体需要花费1~2分钟时间,结果如图
20. 用鼠标右键点击一个新加入的字体,例如 MYSH,在弹出的窗口中选择Create->TextMeshPro->Font Asset->SDF,生成一个MSYH SDF文件,将其拖拽到 下方Resources > Fonts & Materials 文件夹中
21. 在Hirarchy 窗口中选择Text Mesh Pro 游戏物体,例如输入区域的InputField的Text, 在右侧Inspector窗口的 Font Asset中选择刚刚生成MYSH SDF
22. 上端收到信息后显示的字体也需要更新,打开 Project 窗口中 DeepSeekAPI > Prefabs, 双击 Received Message (prefab),在左侧 Hirarchy窗口中展开 Received Message 游戏物体,点击Text 游戏物体,然后再最右侧的Inspector窗口中设置 Font Asset
23. 同样操作,设置 Sent Message (prefab),这样上下区域中可以显示中文。