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

邢台集团网站建设费用网站建设与维护好学吗

邢台集团网站建设费用,网站建设与维护好学吗,小商店助手小程序,简易手工小制作Unity DeepSeek API 聊天接入教程(0基础教学) 1.DeepSeek 介绍 DeepSeek是杭州深度求索人工智能基础技术研究有限公司推出的一款大语言模型。2025年1月20日,DeepSeek-R1正式上线,和当前市面上的主流AI相比,它在仅有极少标注数据的情况下&am…

Unity DeepSeek API 聊天接入教程(0基础教学)

1.DeepSeek 介绍

DeepSeek是杭州深度求索人工智能基础技术研究有限公司推出的一款大语言模型。2025年1月20日,DeepSeek-R1正式上线,和当前市面上的主流AI相比,它在仅有极少标注数据的情况下,极大提升了模型推理能力。在数学、代码、自然语言推理等任务上,性能比肩 OpenAI o1 正式版。作为一款开源国产AI模型,它兼具普惠性和优越性能,非常适合大众开发者。我们也可以在Unity中调用它的强大功能,接下来将用一个简单例子介绍DeepSeek的接入和使用。

2.接入流程

Unity 接入DeepSeek API 实现聊天分为3个步骤

1.DeepSeek API Key 获取

首先我们需要到 DeepSeek API 开放平台 https://platform.deepseek.com/usage 获取API Key,用来和DeepSeek API接口进行数据通讯。

跳转到网页后点击 Keys
在这里插入图片描述
然后执行以下步骤:

注意:API Key创建成功后,要及时截图或妥善保存。因为API Key只有在创建成功的时候,才会暴露Key值全量字符串。一但关闭该面板,将无法在查看到本次创建的API Key值。

在这里插入图片描述

2.DeepSeek API 数据通讯模型声明

1.这一步我们要去获取到 DeepSeek API 标准的通讯协议格式,否则DeepSeek API 将无法识别我们发送的数据。即无法与其进行会话和通讯。

获取方式如下:
在这里插入图片描述

2.这一步展示了如何获取API(HTTP) 接口的请求地址,和API Key的传参示例,以及请求的Json数据的格式。

在这里插入图片描述

3.这一步展示了如何通过HTTP向DeepSeek发送消息,HTTP响应中的Json结构体内容。
以及DeepSeek对每一个字段的使用方式的介绍

在这里插入图片描述
拿到这些数据后,我们就可以回到Unity中进行制作功能了。

3.异步收发消息

下面展示一下DeepSeek API 数据模型和HTTP请求响应处理代码。

1.DeepSeek数据模型代码

/*----------------------------------------------------------------------------
* Title: #Title#
*
* Author: 铸梦
*
* Date: #CreateTime#
*
* Description:
*
* Remarks: QQ:975659933 邮箱:zhumengxyedu@163.com
*
* 教学网站:www.yxtown.com/user/38633b977fadc0db8e56483c8ee365a2cafbe96b
----------------------------------------------------------------------------*/
using System.Collections.Generic;#region DeepSeek API Key 配置数据模型
public class Configuration
{ public string ApiKey { get; }public Configuration(string apiKey){ApiKey=apiKey;}
}
#endregion#region DeepSeek 请求数据模型
/// <summary>
/// 聊天对话消息完成请求
/// </summary>
public class ChatCompletionRequest
{/// <summary>/// 消息列表/// </summary>public List<ChatMessage> messages;/// <summary>/// AI模型,是聊天模型还是推理模型/// </summary>public string model;/// <summary>/// 如果设置为 True,将会以 SSE(server-sent events)的形式以流式发送消息增量。消息流以 data: [DONE] 结尾。/// </summary>public bool stream;
}
public class ChatMessage
{/// <summary>/// 消息内容/// </summary>public string content;/// <summary>/// 角色,是哪个角色的消息(是用户消息还是DP系统消息又或者是我们自定义的NPC角色消息)/// </summary>public string role;
}
#endregion# region DeepSeek 响应数据模型
public class ChatCompletionResponse
{/// <summary>/// iD/// </summary>public string id;/// <summary>/// 创建时间/// </summary>public long created;/// <summary>///  AI模型,是聊天模型还是推理模型/// </summary>public string model;/// <summary>/// 可选择的消息内容/// </summary>public List<ChatResponseMessage> choices;
}
public class ChatResponseMessage
{ /// <summary>/// 消息索引/// </summary>public int index;/// <summary>/// 消息列表/// </summary>public ChatMessage message;/// <summary>/// AI模型,是聊天模型还是推理模型/// </summary>public string finish_reason;}#endregion

2.DeepSeekAPI 请求和响应处理脚本

/*----------------------------------------------------------------------------
* Title: #Title#
*
* Author: 铸梦
*
* Date: #CreateTime#
*
* Description:
*
* Remarks: QQ:975659933 邮箱:zhumengxyedu@163.com
*
* 教学网站:www.yxtown.com/user/38633b977fadc0db8e56483c8ee365a2cafbe96b
----------------------------------------------------------------------------*/
using Newtonsoft.Json;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using UnityEngine;public class DeepSeekAI
{/// <summary>/// DeepSeek APi 访问地址/// </summary>private const string BASE_PATH = "https://api.deepseek.com/chat/completions";/// <summary>/// DeepSeek配置/// </summary>private Configuration configuration;/// <summary>/// 构造函数(使用DeekSeekAI时必须要指定APIKey) /// </summary>/// <param name="apiKey"></param>/// <exception cref="ArgumentException"></exception>public DeepSeekAI(string apiKey){if (string.IsNullOrEmpty(apiKey)){throw new ArgumentException("api key is null",nameof(apiKey));}configuration=new Configuration(apiKey);}/// <summary>/// 发送对话结束消息内容到DeepSeek/// </summary>public async Task<ChatCompletionResponse> SendChatCompletionToDeepSeek(ChatCompletionRequest requestMessage){//把消息对象序列成Json字符串string jsonMessage = JsonConvert.SerializeObject(requestMessage);var client = new HttpClient();var request = new HttpRequestMessage(HttpMethod.Post, BASE_PATH);request.Headers.Add("Accept", "application/json");request.Headers.Add("Authorization", $"Bearer {configuration.ApiKey}");var content = new StringContent(jsonMessage, null, "application/json");Debug.Log("DeepSeek SendRequest:" + jsonMessage);request.Content = content;//发送API请求var response = await client.SendAsync(request);//验证响应码是否是200 如果是200则说明接口请求成功response.EnsureSuccessStatusCode();//读取API响应内容string reslutJson = await response.Content.ReadAsStringAsync();Debug.Log("DeepSeek Response:" + reslutJson);return JsonConvert.DeserializeObject<ChatCompletionResponse>(reslutJson);}}

3.DeepSeekWindow UI窗口

using UnityEngine;
using UnityEngine.UI;
using System.Collections.Generic;
using TMPro;namespace DeepSeek
{public class DeepSeekChatWindow : MonoBehaviour{[SerializeField] private TMP_InputField inputField;[SerializeField] private Button sendButton;[SerializeField] private ScrollRect chatScroll;[SerializeField] private RectTransform sent;[SerializeField] private RectTransform received;private float contentHeight;private DeepSeekAI deepSeekAI = new DeepSeekAI("You DeepSeek Api Key");private List<ChatMessage> messages = new List<ChatMessage>();private string initialPrompt = "Act as a helpful assistant.";private void Start(){sendButton.onClick.AddListener(SendMessage);}/// <summary>/// 追加聊天消息到Canvas上/// </summary>/// <param name="message">消息模型</param>/// <param name="isUser">是否是用户</param>private void AppendMessageToCanvs(string message,bool isUser){chatScroll.content.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 0);var item = Instantiate(isUser ? sent : received, chatScroll.content);item.GetChild(0).GetChild(0).GetComponent<Text>().text = message;item.anchoredPosition = new Vector2(0, -contentHeight);LayoutRebuilder.ForceRebuildLayoutImmediate(item);contentHeight += item.sizeDelta.y;chatScroll.content.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, contentHeight);chatScroll.verticalNormalizedPosition = 0;}private async void SendMessage(){//创建聊天消息var userMessage = new ChatMessage{role = "user",content = inputField.text};//显示消息AppendMessageToCanvs(userMessage.content, true);//添加消息messages.Add(userMessage);//创建消息交互请求var request = new ChatCompletionRequest{model = "deepseek-chat",messages = messages,};//发送对话完成消息到DeepSeekvar response = await deepSeekAI.SendChatCompletionToDeepSeek(request);//处理响应if (response?.choices != null && response.choices.Count > 0){var assistantMessage = response.choices[0].message;messages.Add(assistantMessage);//显示消息AppendMessageToCanvs(assistantMessage.content, false);}else{Debug.LogWarning("No response from DeepSeek.");}inputField.text = "";}}
}

Josn数据需要使用NewtonSoftJson.dll库进行序列化和反序列化,这里就不在提供了。

3.源码工程

https://www.yxtown.com/user/38633b977fadc0db8e56483c8ee365a2cafbe96b


文章转载自:

http://UXrsTqNy.qbmpb.cn
http://r0qabyPt.qbmpb.cn
http://iow2qIjT.qbmpb.cn
http://eH3nnsWf.qbmpb.cn
http://VdmCqwjj.qbmpb.cn
http://CEul8SMz.qbmpb.cn
http://OqNsSePs.qbmpb.cn
http://amrkNcWC.qbmpb.cn
http://rI3Gbzwi.qbmpb.cn
http://hRRyIE6v.qbmpb.cn
http://M6jSVmAl.qbmpb.cn
http://Wq3vkTSn.qbmpb.cn
http://XXb9VHs4.qbmpb.cn
http://EEKD64F2.qbmpb.cn
http://VvxBQGAO.qbmpb.cn
http://uJLTFvDc.qbmpb.cn
http://bYng8VW7.qbmpb.cn
http://kpcri3ek.qbmpb.cn
http://49e7pycZ.qbmpb.cn
http://BBzVCV6h.qbmpb.cn
http://rmDZpkov.qbmpb.cn
http://Qjqtu1ai.qbmpb.cn
http://AwdDCoda.qbmpb.cn
http://JMWC8esz.qbmpb.cn
http://PvU100jl.qbmpb.cn
http://CdcybuKg.qbmpb.cn
http://SstpRCtT.qbmpb.cn
http://W5qEj77f.qbmpb.cn
http://VBXBqcJA.qbmpb.cn
http://iGLXEzuV.qbmpb.cn
http://www.dtcms.com/wzjs/775834.html

相关文章:

  • 网站demo 工具wordpress yum
  • 淘宝优惠券微网站开发王也道长微信头像
  • 企业网站快速备案服务网站建设工作标准
  • 视频网站开发代码wordpress熊掌号百度自动提交
  • 谈谈网站建设创新问题创建网站宝典
  • 深圳建设网站公司哪儿济南兴田德润有活动吗网站的缩略图
  • 手机网站源文件蛋糕方案网站建设
  • 高性能网站建设指南 京东网站建设的销售术语
  • 毕业设计h5网站制作高新网站设计找哪家
  • 非商业组织的网站风格自己做一个网站难么
  • 自助手机网站建站软件网站建设赚钱项目
  • 西部数码网站源码公司网站开发项目
  • 做暧嗳xo小视频免费网站广州网站建设比较
  • 做橱窗设计的网站专业营销的网站建设公司
  • 衡阳市住房和城乡建设局官方网站网站建设项目经费的报告
  • 做音频主播的网站设计师用的软件有哪些
  • 怎么介绍网站的优缺点响应式的网站做优化好吗
  • 做器材的网站贵港网站设计
  • wordpress动漫网站模板广州做网站优化费用
  • 模版型网站wordpress frp穿透
  • ip域名查询网站入口邢台手机网站建设多少钱
  • 蓝色企业网站手机版织梦模板能自己制作图片的app
  • 律师网站建设模板freenom申请域名
  • 手机版网站与app网站跟app的区别
  • 做ctf的网站有哪些天津门户网站开发
  • 制作响应式网站内蒙古住房和城乡建设厅网站 工程建设管理
  • 建设银行 企业网站网站开发教程大全
  • 建设电子商务网站总体设计阶段上海建网站服务
  • 如何做一张图片的网站最好网站建设公司排名
  • 南京seo网站排名优化公考在哪个网站上做试题