日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

使用C# 調用deepseek api接口來實現正常訪問

freeflydom
2025年2月8日 9:12 本文熱度 1036

先上圖,結果如圖

 

 

先去官方網站充值api費用,默認

 

對應的C#代碼封裝


  1  public class DeepSeekHelper
  2  {
  3      private static readonly HttpClient client = new HttpClient();
  4      private const string ApiEndpoint = "https://api.deepseek.com/v1/chat/completions";
  5      private static readonly string apiKey = "你的apikey";
  6      public static async Task<string> CallDeepSeekAPI(string userQuestion)
  7      {
  8          ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
  9          try
 10          {
 11              // 設置請求頭
 12              client.DefaultRequestHeaders.Clear();
 13              client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");
 14              client.DefaultRequestHeaders.Add("Accept", "application/json");
 15 
 16              // 構建請求體
 17              var requestBody = new
 18              {
 19                  model = "deepseek-reasoner", // 根據實際模型調整
 20                  messages = new[]
 21                  {
 22                  new
 23                  {
 24                      role = "user",
 25                      content = userQuestion
 26                  }
 27              },
 28                  temperature = 0.7
 29              };
 30 
 31              // 序列化請求體
 32              //var jsonContent = JsonSerializer.Serialize(requestBody);
 33              var jsonContent = JsonConvert.SerializeObject(requestBody);
 34              var content = new StringContent(jsonContent, Encoding.UTF8, "application/json");
 35 
 36              // 發送請求
 37              var response = await client.PostAsync(ApiEndpoint, content);
 38 
 39              // 處理響應
 40              if (!response.IsSuccessStatusCode)
 41              {
 42                  throw new Exception($"API請求失敗: {response.StatusCode}");
 43              }
 44 
 45              var responseContent = await response.Content.ReadAsStringAsync();
 46              var resultModel = JsonConvert.DeserializeObject<DeepSeekResponse>(responseContent);
 47              if (resultModel != null && resultModel.Choices.Count > 0)
 48                  return resultModel.Choices[0].Message.Content;
 49              return responseContent;
 50          }
 51          catch (Exception ex)
 52          {
 53              // 處理異常
 54              return $"調用API時發生錯誤: {ex.Message}";
 55          }
 56      }
 57  }
 58 
 59 
 60 
 61  public class DeepSeekResponse
 62  {
 63      public string Id { get; set; }
 64      public string Object { get; set; }
 65      public long Created { get; set; }
 66      public string Model { get; set; }
 67      public List<Choice> Choices { get; set; }
 68      public Usage Usage { get; set; }
 69      public string SystemFingerprint { get; set; }
 70 
 71      // 重寫ToString方法以便更好地顯示對象信息
 72      public override string ToString()
 73      {
 74          return $"DeepSeekResponse(Id={Id}, Object={Object}, Created={Created}, Model={Model}, Choices={string.Join(", ", Choices)}, Usage={Usage}, SystemFingerprint={SystemFingerprint})";
 75      }
 76  }
 77 
 78  public class Choice
 79  {
 80      public int Index { get; set; }
 81      public Message Message { get; set; }
 82      // 其他Choice相關的屬性...
 83 
 84      // 重寫ToString方法以便更好地顯示Choice信息(這里僅展示Index和Message作為示例)
 85      public override string ToString()
 86      {
 87          return $"Choice(Index={Index}, Message={Message})";
 88      }
 89  }
 90 
 91  public class Message
 92  {
 93      public string Role { get; set; }
 94      public string Content { get; set; }
 95      // 其他Message相關的屬性...
 96  }
 97 
 98  public class Usage
 99  {
100      public int PromptTokens { get; set; }
101      public int CompletionTokens { get; set; }
102      public int TotalTokens { get; set; }
103      // 其他Usage相關的屬性,包括嵌套的字典等,可以根據需要添加
104  }

 

調用示例


   private async void SendButton_Click(object sender, RoutedEventArgs e)
   {
       string requestText = RequestTextBox.Text;
       if (!string.IsNullOrWhiteSpace(requestText))
       {
           try
           {
            
               string responseData = await DeepSeekHelper.CallDeepSeekAPI(requestText); // await new DeepSeekApi().CallDeepSeekAPI(chatRequest);
               ResponseTextBox.Text = responseData;
           }
           catch (Exception ex)
           {
               ResponseTextBox.Text = $"Error: {ex.Message}";
           }
       }
       else
       {
           MessageBox.Show("Please enter a request.");
       }
   }

 

 常見問題:

1 發送請求時出錯 InnerException = {"請求被中止: 未能創建 SSL/TLS 安全通道。"}

指定使用TLS1.2加密協議,添加如下代碼

 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

2 收到內容為空白

服務器繁忙,請把deepseek-chat模型切換到deepseek-reasoner 試試,或者換個時間再次嘗試.

模型區別如下.代碼中默認使用了reasoner模型,俗稱滿血版.

默認賬戶贈送10元余額.

 

轉自https://www.cnblogs.com/MarsPanda/p/18702486


該文章在 2025/2/8 9:12:59 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 狠狠亚洲婷婷综合色香五月 | 日韩欧美一区二 | 亚洲精品午夜不卡在线播放 | 片在线观看导航 | 国产一区二区亚洲一区二区 | 亚洲网站免费观看 | 午夜福利在 | 国产视频91完整版播放 | 亚洲人精品亚洲人成在线 | 亚洲日本va中文字幕 | 免费在线播放 | 天美麻花果冻视频大全 | 五月丁香| 欧美一区二区不卡高 | 一区二区三区日本精品 | 国产免费一区二区三区视频 | 亚洲免费在线观看一区二区 | 舌奴ⅴk | 亚洲欧美国产另类首页 | 海角国精产品一区一区三区糖心 | 韩国三级| 亚洲大片精 | 日韩在线视频在线观看 | 欧美一级a一级a爱片免费免免 | 国产女女互摸互慰在线观 | 精品国产一区二区三区2025 | 99re热有精品视频国产 | 秋霞影视 | 日韩精品在线观看 | 国内揄拍 | 欧美精品亚洲精品日韩专区v | 中文字幕精品视频在线 | 小苹果www在线 | 亚洲午夜福利在线观看 | 九九热精品在线视频观看 | 51国产愉自视频区视频 | 中文日本 | 6080欧美一区二区三区四区 | 91成人小视频 | 91精品人| 在线欧美精 |