<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      在IM即時(shí)通訊系統(tǒng)中接入DeepSeek等AI大模型

         隨著DeepSeek的熱潮,越來越多的企業(yè)也開始部署并訓(xùn)練自己的AI大模型,這樣能使企業(yè)以前沉淀的專業(yè)知識(shí)和經(jīng)驗(yàn)?zāi)芨咝У乇焕闷饋怼S锌蛻舴答伭诉@樣的需求場(chǎng)景:客戶私有部署了自己的AI大模型以及私有化部署自己的內(nèi)部即時(shí)通訊系統(tǒng),他們希望可以在即時(shí)通訊的聊天界面中,直接和AI大模型對(duì)話,就像和同事對(duì)話一樣,這將大大提升工作效率。所以,我們決定在 傲瑞通(OrayTalk) 中接入DeepSeek等AI大模型,來滿足這一需求。

         那么具體如何實(shí)現(xiàn)了?

      1. 客戶端UI實(shí)現(xiàn)

         首先,傲瑞通客戶端新增了與AI大模型對(duì)話的UI入口:

              

              在我的好友中,有一個(gè)“AI智能體”,點(diǎn)擊它,就可以和AI大模型進(jìn)行對(duì)話了。

         其次,傲瑞通客戶端也提供了查詢與AI對(duì)話的歷史記錄:

              

         點(diǎn)擊對(duì)話記錄中的問題,會(huì)彈出新窗口顯示問題的答案。

         

      2. 數(shù)據(jù)庫實(shí)現(xiàn)

         數(shù)據(jù)庫中增加AIChatRecord表,用于存儲(chǔ)與AI的對(duì)話記錄。

               AIChatRecord 表的創(chuàng)建腳本如下所示:

      CREATE TABLE [dbo].AIChatRecord(
          [GUID] [nvarchar](50) NOT NULL,
          [UserID] [nvarchar](50) NOT NULL,
          [ModelType] [int] NOT NULL,
          [Question] [nvarchar](max) NOT NULL,
          [Attachments] [nvarchar](1000) NOT NULL,
          [Answer] [nvarchar](max) NOT NULL,
          [ProcessResult] [int] NOT NULL,
          [ErrorMessage] [nvarchar](max) NOT NULL,
          [CreateTime] [datetime] NOT NULL,
       CONSTRAINT [PK_AIChatRecord] PRIMARY KEY CLUSTERED 
      (
          [GUID] ASC
      )

         AIChatRecord 表中幾個(gè)關(guān)鍵字段的含義如下所示:

      (1)ModelType:用于記錄所采用的大模型類型,比如DeepSeek、通義千問、文心一言 等等。

      (2)Question:記錄所提問的問題。

      (3)Attachments:表示該問題所涉及的附件的URL,如圖片或文件的URL。

      (4)ProcessResult:表示問題的處理結(jié)果。0表示成功,其它值表示不同類型的錯(cuò)誤,如超時(shí)、API調(diào)用報(bào)錯(cuò)等。

      (5)ErrorMessage:如果有報(bào)錯(cuò),ErrorMessage字段記錄了具體的錯(cuò)誤信息。

      (6)Answer:AI給出的問題的答案。只有當(dāng)ProcessResult為0時(shí),該值才有效。  

      3. 服務(wù)端對(duì)接AI大模型

         傲瑞通服務(wù)端實(shí)現(xiàn)了與私有部署的大模型(如DeepSeek、通義千問等)的對(duì)接。

         使用C#調(diào)用DeepSeek 的API是相當(dāng)簡(jiǎn)單的,示例如下所示:

      class DeepSeekApiClient
      {
          private readonly string _apiKey;
          private readonly HttpClient _httpClient;
          
          // 構(gòu)造函數(shù),傳入你的API密鑰
          public DeepSeekApiClient(string apiKey)
          {
              _apiKey = apiKey;
              _httpClient = new HttpClient();
              
              // 設(shè)置基礎(chǔ)URL(根據(jù)DeepSeek API文檔調(diào)整)
              _httpClient.BaseAddress = new Uri("https://api.deepseek.com/v1/");
              
              // 設(shè)置授權(quán)頭
              _httpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {_apiKey}");
          }
          
          // 發(fā)送聊天請(qǐng)求的異步方法
          public async Task<string> SendChatRequestAsync(string prompt)
          {
              try
              {
                  // 構(gòu)造請(qǐng)求體
                  var requestBody = new
                  {
                      model = "deepseek-chat", // 根據(jù)API文檔調(diào)整模型名稱
                      messages = new[]
                      {
                          new
                          {
                              role = "user",
                              content = prompt
                          }
                      },
                      temperature = 0.7,
                      max_tokens = 1000
                  };
                  
                  // 序列化為JSON
                  var json = JsonSerializer.Serialize(requestBody);
                  var content = new StringContent(json, Encoding.UTF8, "application/json");
                  
                  // 發(fā)送POST請(qǐng)求
                  var response = await _httpClient.PostAsync("chat/completions", content);
                  
                  // 確保請(qǐng)求成功
                  response.EnsureSuccessStatusCode();
                  
                  // 讀取并返回響應(yīng)內(nèi)容
                  var responseContent = await response.Content.ReadAsStringAsync();
                  return responseContent;
              }
              catch (Exception ex)
              {
                  Console.WriteLine($"Error calling DeepSeek API: {ex.Message}");
                  throw;
              }
          }
      }

        服務(wù)端的主要業(yè)務(wù)邏輯如下:

      (1)當(dāng)服務(wù)端收到來自客戶端的AI提問時(shí),便在DB中插入一條記錄,該記錄的ProcessResult字段的值是“處理中”,然后將該問題通過上面的DeepSeekApiClient提交給AI大模型,并等待回復(fù)。

      (2)當(dāng)服務(wù)端收到了AI大模型的回復(fù)(或超時(shí)、或報(bào)錯(cuò))后,再更新DB中對(duì)應(yīng)的那條記錄的ProcessResult、Answer等字段的值。接著,再將AI回復(fù)發(fā)送給客戶端。

      (3)特殊情況處理:比如,當(dāng)在等待大模型回復(fù)期間,如果客戶端掉線了的情況。

        到這里,在傲瑞通中集成DeepSeek等AI大模型的工作就完成了,有興趣的朋友歡迎留言多多交流!

       

      posted @ 2025-04-10 10:30  zhuweisky  閱讀(852)  評(píng)論(3)    收藏  舉報(bào)
      主站蜘蛛池模板: 91精品国产午夜福利| 四虎永久地址www成人| 日韩有码中文在线观看| 女人扒开腿让男人桶到爽| 精品久久精品午夜精品久久| japanese无码中文字幕| 国产精品美女一区二三区| 韩国精品福利视频一区二区| 两性午夜刺激性视频| 国产麻豆成人传媒免费观看| 国产愉拍精品手机| 麻豆成人精品国产免费| 色综合天天综合网国产人| 97se亚洲综合自在线| 亚洲一级特黄大片在线观看| 在线中文一区字幕对白| 国产99视频精品免费专区| 亚洲一区二区三区丝袜| 亚洲αⅴ无码乱码在线观看性色 | 国产蜜臀一区二区在线播放| 大地资源中文在线观看西瓜| 国产色无码专区在线观看| 国精偷拍一区二区三区| 日本公妇乱偷中文字幕| 国产精品一线天在线播放| 少妇愉情理伦片丰满丰满午夜| 国产高清在线男人的天堂| 熟女激情乱亚洲国产一区| 亚洲 欧美 唯美 国产 伦 综合| 加勒比色综合久久久久久久久| 色爱综合激情五月激情| 久久中文字幕一区二区| 高清日韩一区二区三区视频| 国产成人a在线观看视频免费| 天天做天天爱夜夜爽导航| 亚洲 日韩 在线精品| 蜜芽久久人人超碰爱香蕉| 久久亚洲人成网站| 国产精品制服丝袜无码| 亚洲一区二区三区人妻天堂| 欧美日韩精品一区二区三区高清视频|