当前位置: 首页 > article >正文

Unity接入deepseek聊天

1.首先创建API key。点击下方链接。

DeepSeek

2.直接贴代码。一定要替换代码里面的apiKey

using UnityEngine;
using UnityEngine.Networking;
using System.Collections;
using Newtonsoft.Json;

    public class DeepSeekManager : MonoSingleton<DeepSeekManager>
    {
        private string apiKey = "xxxxx"; // 替换为您的API密钥---是第一步创建API key.
        private string apiUrl = "https://api.deepseek.com/v1/chat/completions"; // 替换为API地址
                
        public void SendRequest(string prompt)
        {
            StartCoroutine(PostRequest(prompt));
        }

        IEnumerator PostRequest(string prompt)
        {
            var requestBody = new
            {
                model = "deepseek-chat",
                messages = new[]
                {
                    new { role = "user", content = prompt }
                },
                temperature = 0.7,
                max_tokens = 50
            };
            string jsonBody = JsonConvert.SerializeObject(requestBody); // 使用 Newtonsoft.Json

            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.Success)
            {
                string responseJson = request.downloadHandler.text;
                Debug.Log("API Response: " + responseJson);
                Debug.Log("Response Headers: " + string.Join(", ", request.GetResponseHeaders()));
                Debug.Log("Response Code: " + request.responseCode);

                // 解析响应
                if (!string.IsNullOrEmpty(responseJson))
                {
                    var response = JsonConvert.DeserializeObject<DeepSeekResponse>(responseJson);
                    Debug.Log("Assistant Reply: " + response.choices[0].message.content);
                }
                else
                {
                    Debug.LogError("API Response is empty.");
                }
            }
            else
            {
                Debug.LogError("API Request Failed: " + request.error);
            }
        }

        // 定义响应数据结构
        private class DeepSeekResponse
        {
            public string id { get; set; }
            public string @object { get; set; }
            public long created { get; set; }
            public Choice[] choices { get; set; }
            public Usage usage { get; set; }
        }

        private class Choice
        {
            public int index { get; set; }
            public Message message { get; set; }
            public string finish_reason { get; set; }
        }

        private class Message
        {
            public string role { get; set; }
            public string content { get; set; }
        }

        private class Usage
        {
            public int prompt_tokens { get; set; }
            public int completion_tokens { get; set; }
            public int total_tokens { get; set; }
        }
    }
}

3.测试,调用接口

DeepSeekManager.Instance.SendRequest("你的名字是什么?");

Unity里面输出日志:


http://www.kler.cn/a/535190.html

相关文章:

  • Debian 安装 Nextcloud 使用 MariaDB 数据库 + Caddy + PHP-FPM
  • Deno vs Node.js:性能对比深度解析
  • Linux 源码编译安装httpd 2.4,提供系统服务管理脚本并测试
  • 洛谷网站: P3029 [USACO11NOV] Cow Lineup S 题解
  • 大模型综述一镜到底(全文八万字) ——《Large Language Models: A Survey》
  • 深度探索DeepSeek-R1:AI大模型的本地应用与个人知识库构建
  • [数据结构] 哈希表
  • 如何挑选最适合您需求的智能氮气柜:七大关键因素沐渥科技详解
  • 7.[CISCN2019 华北赛区 Day2 Web1]Hack World
  • JDK(LTS版本)更新时间
  • 鹧鸪云无人机光伏运维解决方案
  • 八大排序算法细讲
  • 基于ansible部署elk集群
  • C语言常见概念
  • @emotion/styled / styled-components创建带有样式的 React 组件
  • 1-R语言概述
  • 面经-C语言——堆和栈的区别,引用和指针区别,Linux的常用指令,RS232和RS485,TCP连接建立与断开
  • 【React】路由处理的常见坑与解决方法,React Router 的动态路由与懒加载问题
  • redis 运维指南
  • 2、ansible的脚本
  • 树的基本概念,并查集复习(学习记录)
  • Unity3D仿星露谷物语开发小结1
  • 乒乓日常烧拍日记之五在吐槽中找缺陷
  • deepseek API 调用-golang
  • Continue 与 CodeGPT 插件 的对比分析
  • 22、Java 函数式编程:开启高效编程新境界