欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > Unity接入deepseek聊天

Unity接入deepseek聊天

2025/2/8 15:27:47 来源:https://blog.csdn.net/wengpanfeng/article/details/145474843  浏览:    关键词: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.JsonUnityWebRequest 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里面输出日志:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com