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

网站没有做的关键词有排名中国电信爱资源app

网站没有做的关键词有排名,中国电信爱资源app,论文网站建设方案,网站seo优化外包顾问.net Core 调用 deepseek api 使用流输出文本 简下面直接上代码(.net core):最后再贴一个 .net Freamwork 4 可以用的代码TLS 的代码至关重要的:(下面这个) 简 在官网里面有许多的案例:我们通过…

.net Core 调用 deepseek api 使用流输出文本

    • 下面直接上代码(.net core):
    • 最后再贴一个 .net Freamwork 4 可以用的代码
    • TLS 的代码至关重要的:(下面这个)

在官网里面有许多的案例:我们通过查看下面地址和截图可以发现,有 Csharp(C# 的案例,但是没有具体介绍流的部分)

并在 .net freamwork 环境下,出现报错:网络错误: 请求被中止: 未能创建 SSL/TLS 安全通道。我们在文章最后也贴了解决方案。

https://api-docs.deepseek.com/zh-cn/api/create-chat-completion 

在这里插入图片描述

下面直接上代码(.net core):

using System;
using System.Net.Http;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;class Program
{// 主函数,程序入口static async Task Main(){// 定义API的URLstring url = "https://api.deepseek.com/chat/completions";// 使用HttpClient发送HTTP请求using (HttpClient client = new HttpClient()){// 创建一个POST请求var request = new HttpRequestMessage(HttpMethod.Post, url);// 设置请求头,接受JSON格式的响应request.Headers.Add("Accept", "application/json");// 设置请求头,添加授权信息request.Headers.Add("Authorization", "Bearer <TOKEN>");// 定义请求数据var data = new{// 定义消息数组,包含系统和用户的消息messages = new[]{new { role = "system", content = "你是一个助手" },new { role = "user", content = "帮我用js写一段冒泡算法" }},// 指定使用的模型model = "deepseek-chat",// 启用流模式stream = true,// 设置最大令牌数max_tokens = 2048,// 设置温度参数temperature = 1};// 将请求数据序列化为JSON格式var json = JsonSerializer.Serialize(data);// 设置请求内容为JSON格式request.Content = new StringContent(json, Encoding.UTF8, "application/json");// 发送请求并获取响应using (var response = await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead)){// 如果响应状态码表示成功if (response.IsSuccessStatusCode){// 读取响应内容作为流using (var stream = await response.Content.ReadAsStreamAsync())using (var reader = new StreamReader(stream)){string line;// 逐行读取流中的数据while ((line = await reader.ReadLineAsync()) != null){// 如果行以"data:"开头if (line.StartsWith("data:")){// 去除"data:"前缀并去除空格var dataStr = line.Substring(5).Trim();// 如果数据不是"[DONE]"if (dataStr != "[DONE]"){try{// 反序列化JSON数据var chunkData = JsonSerializer.Deserialize<JsonElement>(dataStr);// 获取生成的文本内容var content = chunkData.GetProperty("choices")[0].GetProperty("delta").GetProperty("content").GetString();// 如果内容不为空if (!string.IsNullOrEmpty(content)){// 输出内容到控制台Console.Write(content);}}catch (JsonException){// 忽略JSON解析错误}}}}}// 最后换行Console.WriteLine();}else{// 输出请求失败的状态码和内容Console.WriteLine($"请求失败,状态码: {response.StatusCode}");Console.WriteLine(await response.Content.ReadAsStringAsync());}}}}
}

是需要去官网申请的:

访问下面地址:

https://platform.deepseek.com/api_keys

在这里插入图片描述

最后再贴一个 .net Freamwork 4 可以用的代码

using System;
using System.IO;
using System.Net;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;class Program
{// 主函数,程序入口static void Main(string[] args){// 设置安全协议,允许TLS 1.2和TLS 1.1ServicePointManager.SecurityProtocol = ((SecurityProtocolType)3072 | (SecurityProtocolType)768 | (SecurityProtocolType)192);// API的URLvar url = "https://api.deepseek.com/chat/completions";// API密钥,需要替换为实际的密钥var apiKey = "<TOKEN>"; // 替换为你的 API Keytry{// 1. 创建请求var request = (HttpWebRequest)WebRequest.Create(url);// 设置请求方法为POSTrequest.Method = "POST";// 设置请求头中的Authorization字段,包含API密钥request.Headers["Authorization"] = $"Bearer {apiKey}";// 设置请求的内容类型为JSONrequest.ContentType = "application/json";// 设置接受的响应类型为JSONrequest.Accept = "application/json";// 2. 准备请求数据var requestData = new{// 消息数组,包含系统消息和用户消息messages = new[]{new { role = "system", content = "你是一个助手" },new { role = "user", content = "你好" }},// 使用的模型model = "deepseek-chat",// 是否流式响应stream = true,// 最大令牌数max_tokens = 2048,// 温度参数temperature = 1};// 将请求数据序列化为JSON字符串var json = JsonConvert.SerializeObject(requestData);// 3. 写入请求体using (var streamWriter = new StreamWriter(request.GetRequestStream())){// 将JSON字符串写入请求体streamWriter.Write(json);// 刷新缓冲区streamWriter.Flush();}// 4. 获取响应(流式)using (var response = (HttpWebResponse)request.GetResponse())using (var stream = response.GetResponseStream())using (var reader = new StreamReader(stream)){// 逐行读取响应内容while (!reader.EndOfStream){var line = reader.ReadLine();if (!string.IsNullOrEmpty(line)){// 如果行以"data:"开头if (line.StartsWith("data:")){// 去除"data:"前缀并去除前后空格var dataStr = line.Substring(5).Trim();// 如果数据不是"[DONE]"if (dataStr != "[DONE]"){try{// 解析JSON并提取contentvar chunkData = JObject.Parse(dataStr);var choices = chunkData["choices"];if (choices != null && choices.HasValues){var delta = choices[0]["delta"];if (delta != null){var contentValue = delta["content"]?.ToString();if (!string.IsNullOrEmpty(contentValue)){// 输出content内容Console.Write(contentValue);}}}}catch (JsonException){// 忽略JSON解析错误}}}}}// 最后换行Console.WriteLine();}}catch (WebException ex){// 处理HTTP错误if (ex.Response != null){using (var errorResponse = (HttpWebResponse)ex.Response)using (var errorStream = errorResponse.GetResponseStream())using (var errorReader = new StreamReader(errorStream)){// 输出错误信息Console.WriteLine($"请求失败,状态码: {errorResponse.StatusCode}");Console.WriteLine(errorReader.ReadToEnd());}}else{// 输出网络错误信息Console.WriteLine($"网络错误: {ex.Message}");}}}
}

TLS 的代码至关重要的:(下面这个)

// 设置安全协议,允许TLS 1.2和TLS 1.1ServicePointManager.SecurityProtocol = ((SecurityProtocolType)3072 | (SecurityProtocolType)768 | (SecurityProtocolType)192);

网络错误: 请求被中止: 未能创建 SSL/TLS 安全通道。
在这里插入图片描述

http://www.dtcms.com/a/433047.html

相关文章:

  • 谷歌翻译做多语言网站wordpress postmeta
  • 上海知名网站建设公司排名大连网页设计哪家好
  • 使用asp.net做购物网站校园网站建设培训简讯
  • 外贸企业网站管理系统移动网站跟pc网站域名和空间有什么区别
  • 做影集的网站或软件下载WordPress苏醒模板免费
  • 外包公司做网站价格秀屿网站建设
  • 外贸推广免费网站dw网页设计素材包
  • 关于网站建设的论坛河北建设工程信息网中标公示
  • 网站设计案例欣赏零售网站制作
  • 怎么开网站wordpress gofair
  • 网站建设设计房产网址
  • 福州网站建设嘉艺wordpress创建专题
  • [DAX] IFERROR函数
  • 做设计找素材都有什么网站wordpress 调用短代码
  • 做相册本哪个网站好用建筑人才网与厦门人才网的中级工程师证书的区别
  • 河南省建设银行网站曲阜网站制作
  • 手机端网站html好看的模板展馆设计效果图图片
  • 网站建设毕业设计综述故城网站建设
  • 国外优秀网页设计网站做网站需要几万块吗
  • 广州专业网站制作平台企业网站开发费用
  • 南沙移动网站建设英文网站建设教程
  • 高端互联网网站玉环城乡建设规划局网站
  • 学会了vue 能搭建一个网站平台网站开发博客
  • 法律网站建设学习之家网站
  • 第1篇|IEC 61400-1 的地位与演变:从“设计圣经”看2019版的关键变化
  • vps运行iis网站 需要输入账号和密码加强网站建设的原因
  • 企业网站策划过程怎么建立微网站?
  • flash网站方案医院网站建设的规划
  • 收录网站源码江西威乐建设集团有限公司企业网站
  • 自己做的公司网站百度搜不到怎么注销自己名下的公司