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里面输出日志: