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

云南省建设工程投标中心网站四川建设监理协会网站

云南省建设工程投标中心网站,四川建设监理协会网站,代码编辑器,定制vx免费目录 一、创建DeepSeek API Key 二、创建窗体应用程序 三、设计窗体 1、控件拖放布局‌‌ 2、主窗体【Form1】设计 3、多行文本框【tbContent】 4、提交按钮【btnSubmit】 5、单行文字框 四、撰写程序 五、完整代码 六、运行效果 七、其它 一、创建DeepSeek API Ke…

目录

一、创建DeepSeek API Key

二、创建窗体应用程序

三、设计窗体

1、控件拖放布局‌‌

2、主窗体【Form1】设计

3、多行文本框【tbContent】

4、提交按钮【btnSubmit】

5、单行文字框

四、撰写程序

五、完整代码

六、运行效果

七、其它


一、创建DeepSeek API Key

请参考我前面的一篇文章:Visual Stdio 2022 C#调用DeepSeek API_vs2022接入deepseek-CSDN博客的第一步。

二、创建窗体应用程序

1、打开【Visual Studio 2022】,选择【创建新项目(N)】。

2、按下图所示位置:依次选择【C#】→【Windows】→【桌面】,再选择【Windows窗体应用程序】,然后单击右下角的【下一步(N)】。

3、配置新项目,项目名称可填【DeepSeek】,选择程序保存的位置,然后单击右下角的【下一步(N)】。

4、其他信息。使用默认值,直接单击右下角【创建(C)】。就生成了新的项目。

5、安装依赖包【Newtonsoft.Json】。

【鼠标】在右侧【解决方案资源管理器】上右击【管理NuGet程序包(N)】。【鼠标】在右侧【解决方案资源管理器】上右击【管理NuGet程序包(N)】。

点击【浏览】,在上面的【输入框】中输入【Newtonsoft.Json】全部或部分,选择下面列表中显示的【Newtonsoft.Json】,然后在点击右侧窗口中的【安装】按钮。

三、设计窗体

1、控件拖放布局‌‌

整窗体大小,在主窗体上放二个文本框,一个按钮,整体效果大致如下图:

2、主窗体【Form1】设计

【Text】设为“DeepSeek”。

3、多行文本框【tbContent】

【(Name)】设为“tbContent”。【Multiline】选择【True】。其它不变。作用用来显示DeepSeek回复的内容。

4、提交按钮【btnSubmit】

【(Name)】设为”btnSubmit“。【Text】设为”提交“。

【双击】按钮为它绑定一个【Click】即单击事件,代码暂不处理。自动生成的事件名称是【tnSubmit_Click】。

VS2022提示将提示你【命名规则冲突】,然后提示你【显示可能的修补程序】,将会出现【解决名称冲突】提示框,单击执行它。

最后的结果如下图,与上面的区别就是事件名称由【btnSubmit_Click】改成了【BtnSubmit_Click】,首字母由小写改成了大写。

5、单行文字框

名称【(Name)】设为”tbAsk“。方法与前面类似,就不图示了。作用是让用户输入提问词。

四、撰写程序

1、两个函数

特别注意:第三行处要填入你自己完整的API key

private static async Task<JObject> CallDeepSeekApiAsync(string searchTerm)
{const string apiKey = "sk-9****490";  //此处填你的DeepSeek API key const string apiUrl = "https://api.deepseek.com/v1/chat/completions";using var client = new HttpClient();client.DefaultRequestHeaders.Authorization =new AuthenticationHeaderValue("Bearer", apiKey);var requestBody = new{model = "deepseek-chat",messages = new[]{new { role = "user", content = searchTerm }}};try{var response = await client.PostAsJsonAsync(apiUrl, requestBody);response.EnsureSuccessStatusCode();var responseBody = await response.Content.ReadAsStringAsync();return JObject.Parse(responseBody);}catch (HttpRequestException ex){MessageBox.Show($"请求失败:{ex.StatusCode} - {ex.Message}");return JObject.Parse("");}
}private static string? DisplayResponse(JObject response)
{//Console.WriteLine(response.ToString(Newtonsoft.Json.Formatting.Indented));// 提取并显示主要返回内容var choices = response["choices"];if (choices != null && choices.Type == JTokenType.Array){var firstChoice = choices[0];if (firstChoice != null){var text = firstChoice["message"]?.ToString();if (text != null){JObject key = JObject.Parse(text);var k = key["content"]?.ToString();return k;}}}else{MessageBox.Show("No choices found in the response.");}return null;
}

2、按钮事件代码

private async void BtnSubmit_Click(object sender, EventArgs e)
{string searchTerm = tbAsk.Text; // 替换为你希望搜索的关键词或短语tbContent.Text = "请稍候,DeepSeek推理中......";try{var response = await CallDeepSeekApiAsync(searchTerm);string msg = DisplayResponse(response) ?? "";tbContent.Text = msg;}catch (Exception ex){tbContent.Text = $"An error occurred: {ex.Message}";}
}

注意,VS自动生成的代码名称没有【async】修饰。

3、增加【tbAsk】事件

如果需要提问词支持回车提问,可增加【KeyDown】事件,代码如下:

private void TbAsk_KeyDown(object sender, KeyEventArgs e){if (e.KeyCode == Keys.Enter){btnSubmit.PerformClick();}}

五、完整代码

using Newtonsoft.Json.Linq;
using System.Net.Http.Headers;
using System.Net.Http.Json;namespace DeepSeek
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private static async Task<JObject> CallDeepSeekApiAsync(string searchTerm){const string apiKey = "sk-9***490";  //此处填你的DeepSeek API key const string apiUrl = "https://api.deepseek.com/v1/chat/completions";using var client = new HttpClient();client.DefaultRequestHeaders.Authorization =new AuthenticationHeaderValue("Bearer", apiKey);var requestBody = new{model = "deepseek-chat",messages = new[]{new { role = "user", content = searchTerm }}};try{var response = await client.PostAsJsonAsync(apiUrl, requestBody);response.EnsureSuccessStatusCode();var responseBody = await response.Content.ReadAsStringAsync();return JObject.Parse(responseBody);}catch (HttpRequestException ex){MessageBox.Show($"请求失败:{ex.StatusCode} - {ex.Message}");return JObject.Parse("");}}private static string? DisplayResponse(JObject response){//Console.WriteLine(response.ToString(Newtonsoft.Json.Formatting.Indented));// 提取并显示主要返回内容var choices = response["choices"];if (choices != null && choices.Type == JTokenType.Array){var firstChoice = choices[0];if (firstChoice != null){var text = firstChoice["message"]?.ToString();if (text != null){JObject key = JObject.Parse(text);var k = key["content"]?.ToString();return k;}}}else{MessageBox.Show("No choices found in the response.");}return null;}private async void BtnSubmit_Click(object sender, EventArgs e){string searchTerm = tbAsk.Text; // 替换为你希望搜索的关键词或短语tbContent.Text = "请稍候,DeepSeek推理中......";try{var response = await CallDeepSeekApiAsync(searchTerm);string msg = DisplayResponse(response) ?? "";tbContent.Text = msg;}catch (Exception ex){tbContent.Text = $"An error occurred: {ex.Message}";}}private void TbAsk_KeyDown(object sender, KeyEventArgs e){if (e.KeyCode == Keys.Enter){btnSubmit.PerformClick();}}}
}

注意:完整代码中,我处理了我使用的【API key】,要填上自己完整的【API key】。

六、运行效果

在【提问框】中输入”你好“,然后回车,或者单击【提交】,后内容多行文本框显示”请稍候,DeepSeek推理中......“。

稍候,将出现如下图所示效果,内容显示框显示出了【DeepSeek】回复的内容。

七、其它

1、完整资源下载请单击https://download.csdn.net/download/liufangshun/90455157。

2、在控制台应用程序中调用DeepSeek API请参考我的博文Visual Stdio 2022 C#调用DeepSeek API_vs2022接入deepseek-CSDN博客,相关资源下载请单击https://download.csdn.net/download/liufangshun/90438698。

http://www.dtcms.com/wzjs/550719.html

相关文章:

  • 电子商务系统 网站建设wordpress和shopify区别
  • 广东东莞自己建站教程钉钉在线课堂
  • 开一个二手车销售网站怎么做网站做友情链接的用途
  • 网站的会员功能怎么做安徽省美好乡村建设网站
  • 电子商务网站建设pdf电白区建设局网站
  • 购物网站哪个便宜谷歌seo服务商
  • 如何做网站的流量分析创意小设计产品
  • 做电影网站的图片素材网站建设注册什么公司好
  • 二进制可以做网站是吗郑州的建设网站有哪些手续费
  • 网页型网站便宜自适应网站建设厂家
  • 茶网站源码可以做防盗水印的网站
  • 用mui做的网站自己做网站想更换网址
  • 服务器wordpress建站教程网站信息化建设
  • 手机网站开发学习视频wordpress主题xiu5.6
  • 建设部网站查询公司上海市建设工程信息报送网站
  • iis 网站没有上传权限泉州网站建设怎么收费
  • 网站二级栏目东莞多地调整为中高风险地区
  • 开一个素材设计网站怎么做包装设计流程
  • 网站可以做的线下活动seo搜索引擎营销工具
  • 上海建站模板网站下载百度推广app
  • 网站网页切换怎么做汕头h5建站
  • 广告视频素材网站wordpress获取菜单链接
  • 上海建站中心wordpress淘宝客网站模板
  • 旅行社网站规划与建设比较好的网站建设品牌设计
  • 动易网站免费版wordpress 主题 建站
  • 有哪些网站的搜索引擎购物网页设计总结
  • 苏州手机网站建设服务江门模板建站系统
  • 网站安全检测漏洞扫描风险等级分布如何做网站推广资料
  • 爱站网seo综合查询要接入广告做啥网站
  • 高水平高职院校 建设网站小程序如何申请