DeepSeek API接口调用示例(开发语言C#,替换其中key值为自己的key值即可)

示例:


DeepSeek官方接口说明文档:对话补全 | DeepSeek API Docs


官网暂未提供C#代码实现:(以下为根据CURL接口C#代码调用)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;using System.Net.Http;
using Newtonsoft.Json;
using System.Net;
using System.IO;namespace DeepSeekDemo
{// DeepSeek API接口(无免费试用,接口需付费开通)// https://api-docs.deepseek.com/zh-cn/api/create-chat-completionpublic class DeepSeekChatService{private const string API_KEY = "sk-b2eda36fc94032a966427d01a4e0**";               // 修改为自己申请的KEY值: https://platform.deepseek.com/api_keysprivate const string API_ENDPOINT = "https://api.deepseek.com/chat/completions";private const string CHAT_MODEL = "deepseek-chat";    // 根据实际模型名称修改private static readonly HttpClient _httpClient = new HttpClient();public async Task<string> ChatAsync(string userMessage){try{// 构造对话请求体var requestData = new{model = CHAT_MODEL,messages = new[]{new { role = "user", content = userMessage }},temperature = 1,max_tokens = 500};System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;string content = JsonConvert.SerializeObject(requestData);//string response0 = Request(API_ENDPOINT, API_KEY, content);//return response0;// 设置认证头_httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", API_KEY);// 发送请求var response = await _httpClient.PostAsync(API_ENDPOINT,new StringContent(content, Encoding.UTF8, "application/json"));// 处理响应if (response.IsSuccessStatusCode){var jsonResponse = await response.Content.ReadAsStringAsync();try{var result = JsonConvert.DeserializeObject<ChatResponse>(jsonResponse);return result.choices[0].message.content;}catch { return jsonResponse; }}else{return "API错误: " + response.StatusCode + "\r\n" + response.ToString();}}catch (Exception ex){return "请求异常: " + ex.Message + "\r\n" + ex.ToString();}}// 响应模型public class ChatResponse{public Choice[] choices { get; set; }public class Choice{public Message message { get; set; }}public class Message{public string role { get; set; }public string content { get; set; }}}//POST / HTTP/1.1//Content-Type: application/json;charset=UTF-8//Authorization: Bearer sk-b02eda3a6fc94032a9626427d0c1a4e0//Host: 127.0.0.1:30001//Content-Length: 120//Expect: 100-continue//{"model":"deepseek-chat","messages":[{"role":"user","content":"测试"}],"temperature":0.7,"max_tokens":500,"stream":false}public string ChatAsync2(string userMessage){try{// 构造对话请求体var requestData = new{model = CHAT_MODEL,messages = new[]{new { role = "user", content = userMessage }},temperature = 1,max_tokens = 500};System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;string content = JsonConvert.SerializeObject(requestData);string response0 = Request(API_ENDPOINT, API_KEY, content);return response0;}catch (Exception ex){return "请求异常: " + ex.Message + "\r\n" + ex.ToString();}}/// <summary>/// 执行http请求/// </summary>/// <param name="url">请求网址</param>/// <param name="postData">需要通过post提交的数据</param>/// <returns>返回服务器端响应结果</returns>public static string Request(string url, string API_KEY, string postData = null){string result = "";if (string.IsNullOrEmpty(url)) return "";try{// 创建Request请求var request = (HttpWebRequest)WebRequest.Create(url);// 提交POStT数据if (!string.IsNullOrEmpty(postData)){request.Method = "POST";request.ContentType = "application/json;charset=UTF-8";request.Headers.Add("Authorization: Bearer " + API_KEY);byte[] bytes = Encoding.UTF8.GetBytes(postData);request.ContentLength = bytes.Length;Stream stream = request.GetRequestStream();stream.Write(bytes, 0, bytes.Length);stream.Close();}// 获取返回的响应结果try{var response = (HttpWebResponse)request.GetResponse();if (response != null){Stream responseStream = response.GetResponseStream();StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);result = reader.ReadToEnd();reader.Close();responseStream.Close();}}catch (Exception){result = "4004, url对应的服务器,未返回响应信息!";}}catch (Exception ex){result = ex.ToString();//result = "4003, url对应的服务器,不存在!";}return result;}}}

因为deepseek官方API已经开始收费了,测试都要收费。所以又搜到了国家超算中心,支持暂时试用。就试了下。可以用。同样的接口实现。不同的参数。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;using System.Net.Http;
using Newtonsoft.Json;
using System.Net;
using System.IO;namespace DeepSeekDemo
{// 国家互联网超算中心DeepSeek API接口(可免费试用,但模型非最新)//https://www.scnet.cn/ac/openapi/doc/2.0/moduleapi/api/chat.htmlpublic class DeepSeekChatService2{private const string API_KEY = "sk-Mjg5LTExNDEwNzMzMDg0LTE3NDYwOTkyNzgyOTc=";               // 这个是我的,暂时还可以试用,后面试用量结束不续费会自动关闭。你修改为修改为自己申请的KEY值: https://www.scnet.cn/ui/llm/apikeysprivate const string API_ENDPOINT = "https://api.scnet.cn/api/llm/v1/chat/completions";//private const string CHAT_MODEL = "DeepSeek-R1-Distill-Qwen-7B";    // 根据实际模型名称修改 https://www.scnet.cn/ac/openapi/doc/2.0/moduleapi/tutorial/modulefee.htmlprivate const string CHAT_MODEL = "DeepSeek-R1-Distill-Qwen-32B";   private static readonly HttpClient _httpClient = new HttpClient();public async Task<string> ChatAsync(string userMessage){try{// 构造对话请求体var requestData = new{model = CHAT_MODEL,messages = new[]{new { role = "user", content = userMessage }},temperature = 1,max_tokens = 4096};System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;string content = JsonConvert.SerializeObject(requestData);//string response0 = Request(API_ENDPOINT, API_KEY, content);//return response0;// 设置认证头_httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", API_KEY);// 发送请求var response = await _httpClient.PostAsync(API_ENDPOINT,new StringContent(content, Encoding.UTF8, "application/json"));// 处理响应if (response.IsSuccessStatusCode){var jsonResponse = await response.Content.ReadAsStringAsync();try{var result = JsonConvert.DeserializeObject<ChatResponse>(jsonResponse);return result.choices[0].message.content;}catch { return jsonResponse; }}else{return "API错误: " + response.StatusCode + "\r\n" + response.ToString();}}catch (Exception ex){return "请求异常: " + ex.Message + "\r\n" + ex.ToString();}}// 响应模型public class ChatResponse{public Choice[] choices { get; set; }public class Choice{public Message message { get; set; }}public class Message{public string role { get; set; }public string content { get; set; }}}//POST / HTTP/1.1//Content-Type: application/json;charset=UTF-8//Authorization: Bearer sk-b02eda3a6fc94032a9626427d0c1a4e0//Host: 127.0.0.1:30001//Content-Length: 120//Expect: 100-continue//{"model":"deepseek-chat","messages":[{"role":"user","content":"测试"}],"temperature":0.7,"max_tokens":500,"stream":false}public string ChatAsync2(string userMessage){try{// 构造对话请求体var requestData = new{model = CHAT_MODEL,messages = new[]{new { role = "user", content = userMessage }},temperature = 1,max_tokens = 500};System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;string content = JsonConvert.SerializeObject(requestData);string response0 = Request(API_ENDPOINT, API_KEY, content);return response0;}catch (Exception ex){return "请求异常: " + ex.Message + "\r\n" + ex.ToString();}}/// <summary>/// 执行http请求/// </summary>/// <param name="url">请求网址</param>/// <param name="postData">需要通过post提交的数据</param>/// <returns>返回服务器端响应结果</returns>public static string Request(string url, string API_KEY, string postData = null){string result = "";if (string.IsNullOrEmpty(url)) return "";try{// 创建Request请求var request = (HttpWebRequest)WebRequest.Create(url);// 提交POStT数据if (!string.IsNullOrEmpty(postData)){request.Method = "POST";request.ContentType = "application/json;charset=UTF-8";request.Headers.Add("Authorization: Bearer " + API_KEY);byte[] bytes = Encoding.UTF8.GetBytes(postData);request.ContentLength = bytes.Length;Stream stream = request.GetRequestStream();stream.Write(bytes, 0, bytes.Length);stream.Close();}// 获取返回的响应结果try{var response = (HttpWebResponse)request.GetResponse();if (response != null){Stream responseStream = response.GetResponseStream();StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);result = reader.ReadToEnd();reader.Close();responseStream.Close();}}catch (Exception){result = "4004, url对应的服务器,未返回响应信息!";}}catch (Exception ex){result = ex.ToString();//result = "4003, url对应的服务器,不存在!";}return result;}}}

C#调用接口示例:


private void button1_Click(object sender, EventArgs e)
{button1.Enabled = false;button1.Text = "已发送";string Title = this.Text;this.Text += " - DeepSeek处理中,请稍后...";string chatContent = "有些人在想着怎么干活更省力,有些人在想着怎么捅刀更隐蔽,什么原因?";Chat(chatContent, respone =>{textOutPut.Text = respone.Replace("\n", "\r\n");button1.Enabled = true;button1.Text = "发送";this.Text = Title;});
}DeepSeekChatService2 chatService = new DeepSeekChatService2();
public async void Chat(string input,  Action<string> callBack)
{// 使用示例var response = await chatService.ChatAsync(input);//Console.WriteLine(response);/* 预期响应格式示例:{"choices": [{"message": {"role": "assistant","content": "<think>
嗯,这个问题挺有意思的,为什么会有人想着怎么干活省力,而另一些人却想着怎么捅刀更隐蔽呢?首先,我需要理解这两类人的想法和他们背后的动机是什么。先说第一种人,想着怎么干活更省力。这部分人可能是出于以下几个原因。首先,效率。他们可能觉得如果能找到更高效的方法完成工作,可以节省时间和精力,从而提高生产力。比如说,使用工具、优化流程或者学习新的技能,这些都是为了减少重复劳动,提升工作效率。其次,可能是因为他们担心过度劳累或者受伤,所以想找更安全、更健康的工作方式。或者是他们对工作的兴趣不高,想要尽快完成任务,腾出时间去做其他事情。然后是第二种人,想着怎么捅刀更隐蔽,这部分人的动机可能比较复杂。首先,可能是因为他们对某种权威、体系或者权力结构感到不满。他们可能觉得现有的规则或者管理方式对他们不利,所以想通过“捅刀”的方式来表达不满或者破坏现状。另外,也有可能是出于自私的目的,想要获取更多的资源或者权力,通过破坏他人来达到自己的目的。“隐蔽”则可能是因为他们害怕被发现,所以选择偷偷摸摸的方式进行,避免引起注意或者受到惩罚。为什么会有人选择这两条完全不同的方向呢?可能是因为他们的价值观、背景、经历以及所处的环境不同。比如说,想着干活更省力的人可能处于一个鼓励创新、提高效率的工作环境中,而想着捅刀的人可能处于一个竞争激烈、勾心斗角的环境中,迫使他们采取更极端的方式。另外,这可能也与他们的个人性格有关。想着干活更省力的人可能更倾向于合作、解决问题,而想着捅刀的人可能更倾向于对抗、破坏。也有可能是他们对现状的不满程度不同,前者可能只是想优化自己的工作方式,而后者则是对整个体系的不信任或者敌意。还有一个角度是社会压力和个人目标的不同。想着干活更省力的人可能有明确的目标,希望通过提高效率来实现自己的职业发展或者个人成就。而想着捅刀的人可能感到挫败,认为现有的途径无法实现自己的目标,所以采取破坏性的方式来进行报复或者改变现状。此外,还可能有文化和教育背景的影响。不同的文化对工作和处事方式有不同的价值观,有些人可能受到鼓励去创新和提高效率,而另一些人可能在某些文化背景下被鼓励对抗和破坏。总的来说,这两种行为反映了一个人的内心世界、所处环境和对现状的态度。要想改变这种状况,可能需要从教育、社会环境、心理健康等多个方面入手,帮助人们找到建设性的方式来表达不满或者解决问题,而不是选择破坏性的行为。
</think>有些人想着如何干活更省力,是因为他们可能追求更高的工作效率、减轻工作负担,或者希望在工作中寻求更好的解决方案。而另一些人想着如何捅刀更隐蔽,则可能是出于对权力结构的不满、隐藏的动机,或者为了个人利益而采取的不当手段。这两种行为反映了个人的价值观、所处环境以及对问题的应对方式的不同。"}}]}*/if (callBack != null) callBack(response);
}

完整源码下载:DeepSeekDemo: DeepSeek API接口调用示例(开发语言C#)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/904836.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文掌握 LVGL 9 的源码目录结构

文章目录 &#x1f4c2; 一文掌握 LVGL 9 的源码目录结构&#x1f9ed; 顶层目录概览&#x1f4c1; 1. src/ — LVGL 的核心源码&#xff08;&#x1f525;重点&#xff09;&#x1f4c1; 2. examples/ — API 示例&#x1f4c1; 3. demos/ — 综合演示项目&#x1f4c1; 4. do…

大物重修之浅显知识点

第一章 质点运动学 例1 知识点公式如下&#xff1a; 例2 例3 例4 例5 例6 第四章 刚体的转动 例1 例2 例3 例4 例5 例6 第五章 简谐振动 例1 例2 例3 第六章 机械波 第八章 热力学基础 第九章 静电场 第十一章 恒定磁场…

安卓的systemservice 、systemserver、systemservicemanage和servicemanage用法

以下是对安卓中SystemService、SystemServer、SystemServiceManager和ServiceManager的讲解和区别&#xff1a; SystemService 定义&#xff1a;是Framework中对应特定功能的服务&#xff0c;供其他模块和App调用&#xff0c;如BatteryService、PowerManagerService等。它是所…

LDO与DCDC总结

目录 1. 工作原理 2. 性能对比 3. 选型关键因素 4. 典型应用 总结 1. 工作原理 LDO LDO通过线性调节方式实现降压&#xff0c;输入电压需略高于输出电压&#xff08;压差通常为0.2-2V&#xff09;&#xff0c;利用内部PMOS管或PNP三极管调整压差以稳定输出电压。其结构简单…

系统的从零开始学习电子的相关知识,该如何规划?

一、基础理论奠基&#xff08;6-12个月&#xff09; 1.1 数学与物理基础 核心内容&#xff1a; 微积分与线性代数&#xff08;高频电路建模必备&#xff09;复变函数与概率论&#xff08;信号处理与通信系统基础&#xff09;电磁场基础&#xff08;麦克斯韦方程组的物理意义&…

(x ^ 2 + 2y − 1) ^ 3 − x ^ 2 * y ^ 3 = 1

二元高次方程 EquationSolver20250509.java package math;import org.apache.commons.math3.analysis.MultivariateFunction; import org.apache.commons.math3.optim.InitialGuess; import org.apache.commons.math3.optim.MaxEval; import org.apache.commons.math3.optim.P…

解决应用程序在JAR包中运行时无法读取类路径下文件的问题

问题情景 java应用程序在IDE运行正常&#xff0c;打成jar包后执行却发生异常&#xff1a; java.io.FileNotFoundException: class path resource [cert/sync_signer_pri_test.key] cannot be resolved to absolute file path because it does not reside in the file system:…

Mac QT水平布局和垂直布局

首先上代码 #include "mainwindow.h" #include "ui_mainwindow.h" #include <QPushButton> #include<QVBoxLayout>//垂直布局 #include<QHBoxLayout>//水平布局头文件 MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), …

uniapp中用canvas绘制简单柱形图,小容量,不用插件——简单使用canvas

uniapp中用canvas绘制简单柱形图&#xff0c;小容量&#xff0c;不用插件——简单使用canvas 完整代码 <template><view><!-- 学习数据 --><!-- 头部选项卡 --><view class"navTab"><view :class"listIndexi?activite:"…

[Unity]-[UI]-[Image] 关于UI精灵图资源导入设置的详细解释

Unity UI Sprite UI资源导入详解图片导入项目Texture TypeTexture ShapeAdvanced Setting 高级设置 图片设置案例常见细节问题 知识点详解来源 UI资源导入详解 Unity中的UI资源有图片、矢量图、字体、预制体、图集、动画等等资源。 这其中图片是最重要以及最基础的资源组成&a…

【递归、搜索和回溯】递归、搜索和回溯介绍及递归类算法例题

个人主页 &#xff1a; zxctscl 专栏 【C】、 【C语言】、 【Linux】、 【数据结构】、 【算法】 如有转载请先通知 文章目录 递归、搜索和回溯递归搜索VS 深度优先遍历 VS 深度优先搜索 VS 宽度优先遍历 VS 宽度优先搜索 VS 暴搜回溯与剪枝 1 面试题 08.06. 汉诺塔问题1.1 分析…

快手618购物节招商启动,国补可叠加跨店满减等大促补贴

5月8日&#xff0c;快手电商在杭州召开「破峰2025」商家大会。会上&#xff0c;快手电商C端产品负责人孔慧介绍了快手电商全域经营年度策略以及新锐商家长效经营方法论&#xff0c;并宣布快手618购物节招商报名正式启动。 信任社区生态是快手电商发展的基石&#xff0c;2025年…

AI服务器通常会运用在哪些场景当中?

人工智能行业作为现代科技的杰出代表&#xff0c;在多个领域当中发展其强大的应用能力和价值&#xff0c;随之&#xff0c;AI服务器也在各个行业中日益显现出来&#xff0c;为各个行业提供了强大的计算能力和处理能力&#xff0c;帮助企业处理复杂的大规模数据&#xff0c;本文…

MySQL高可用方案全攻略:选型指南与AI运维实践

MySQL高可用方案全攻略:选型指南与AI运维实践 引言:当数据库成为业务生命线 在数字化时代,数据库就是企业的"心脏"。一次数据库宕机可能导致: 电商网站每秒损失上万元订单游戏公司遭遇玩家大规模流失金融系统引发连锁反应本文将为你揭秘: MySQL主流高可用方案…

电位器如何接入西门子PLC的模拟量输入

1.设计思考 我现在手上有一个三线10kΩ的滑动变阻器&#xff0c;想让其当作模拟量接入西门子PLC中&#xff0c;外部改变电阻&#xff0c;PLC程序中能看到对应的阻值或电压&#xff0c;这样可以练习模拟量输入这个知识点&#xff01; 2.了解模拟量的种类 模拟量一般有电压型和…

MongoDB培训文档大纲(超详细)

第一章&#xff1a;引言 1.1 什么是MongoDB&#xff1f; 定义&#xff1a; MongoDB 是一个开源的 NoSQL 数据库&#xff0c;基于文档模型存储数据。它允许使用 JSON 格式&#xff08;更具体地说是 BSON&#xff09;来存储结构化和半结构化数据。MongoDB 是一个高性能、可扩展且…

新闻发稿筛选媒体核心标准:影响力、适配性与合规性

1. 评估媒体影响力 权威性与公信力&#xff1a;优先选择央级媒体&#xff0c;其报道常被其他平台转载&#xff0c;传播链条长&#xff0c;加分权重高。 传播数据&#xff1a;参考定海区融媒体中心的赋分办法&#xff0c;关注媒体的阅读量、视频播放量等指标&#xff0c;如阅读…

ATH12K驱动框架架构图

ATH12K驱动框架架构图 ATH12K驱动框架架构图(分层描述)I. 顶层架构II. 核心数据结构层次关系III. 主要模块详解1. 核心模块 (Core)2. 硬件抽象层 (HAL)3. 无线管理接口 (WMI)4. 主机目标通信 (HTC)5. 复制引擎 (CE)6. MAC层7. 数据路径 (DP)IV. 关键数据流路径1. 发送数据流 …

sqli-labs靶场18-22关(http头)

目录 less18&#xff08;user-agent&#xff09; less19&#xff08;referer&#xff09; less20&#xff08;cookie&#xff09; less21&#xff08;cookie&#xff09; less22&#xff08;cookie&#xff09; less18&#xff08;user-agent&#xff09; 这里尝试了多次…

​​​​​​​MySQL数据库故障排查指南

一、连接类问题 1. 无法连接数据库 现象&#xff1a;应用或客户端无法连接MySQL服务。 排查步骤&#xff1a; 检查服务状态&#xff1a; bash 复制 下载 systemctl status mysqld # 检查MySQL是否运行 netstat -tuln | grep 3306 # 确认3306端口是否监听 检查网络问…