推薦文章

透過 Azure AI Bot Service 來建立整合通訊軟體的聊天機器人

  • 44

過去寫了一堆 Azure OpenAI Service 的系列文章,我們已經可以透過程式來客制化出聊天機器人,但是還是需要自行開發網站 UI 或是單純整合到現有程式系統內,如果要更快速的做出聊天機器人或是要整合到企業內部常用的通訊軟體像是 Slack、Teams 等,甚至是 Line 的話,我們可以透過 Azure 上面的 Azure AI Bot Service (原名 Azure Bot Service) 來快速的整合這些通訊軟體,而且還可以做出更多豐富的聊天機器人的畫面內容。

...繼續閱讀 »
on anyun

[日本百大名城攻略] 2023-01-29 07.多賀城

多賀城位於日本東北地方,宮城縣多賀城市西北方丘陵處。曾經是奈良、平安時代設置陸奧國國府的地方,在奈良時代也同時設置了軍事機關鎮守府。
在西元724年時,由當時的按察使兼鎮守將軍大野東人創建,直到11世紀中期為止,都是作為日本古代東北的政治、文化、軍事中心。

前往多賀城的時間點,一年四季都非常的合適,當然也可以特別選在春天櫻花盛開的時間。多賀城是個賞櫻的好景點

...繼續閱讀 »
on maduka

Azure OpenAI Service 13 - Azure OpenAI Assistants API 介紹和基本實做

OpenAI 在 2023 年 11 月推出了 GPTs,讓使用者可以客制化自己的聊天助理,透過自定義的提示詞來設定 ChatGPT 的用途和功能並且可以串接自己或是第三方的 API 來讓自定義的 GPTs 可以完成更多模型無法直接完成的功能,而在推出 GPTs 的時候也推出了 Assistants API 讓開發者也可以客制畫出自己的聊天助理,透過這個 API 也可以讓我們更快速的來建立聊天助理,而不需要另外處理過往的聊天記錄,在過去要客制化自己的聊天助理,需要另外準備 DB 或是其它方式來儲存過往的聊天歷史對話,現在透過 Assistants API 就可以記錄在 OpenAI 上,透過 API 就可以存取對話的歷史聊天記錄,在 2024 年 2 月微軟也把這個 API 新增到 Azure 上了,後面就來介紹這個 API 並且實做。

...繼續閱讀 »
on anyun

通過 MiniExcel 批次匯入/匯出

最近有機會又要操作 Excel,很久以前就知道 MiniExcel,趁假日有機會來把玩一下,這次的重點是研究批次讀寫的使用方式,看看有沒有機會降低一次載入大量 Excel 所造成的記憶體損耗。除了 Excel 之外,它也支援 Csv 呢。還沒開始之前看一下效能比較圖。

...繼續閱讀 »
on yc421206

如何在TextBlock渲染前取得字串的渲染寬度

  • 46

前陣子遇到一個對齊上的麻煩,這個麻煩的點在於需要在渲染前取得所有 TextBlock 中最長的那一個當作所有 TextBlock 的寬度,類似 DataGrid 中 SizeToCell 那種效果。問題來了,渲染後的 ActualWidth 才有意義,如果要依賴 ActualWidth 的變更好像有點太麻煩了;所幸可以利用 FormattedText 事前計算,讓我們來看看這怎麼做。

 

...繼續閱讀 »
on billchung

通過 RateLimiter 限速器 + Redis,限制執行速度

上篇介紹使用 System.Threading.RateLimiting,實現限制執行速度,當有多台機器/服務需要限速,這就需要一台集中式的服務來管理 RateLimiter 的狀態,目前微軟官方還沒有支援 Redis,不過已經被排入 .NET 9 Milestones 再過一陣子,System.Threading.RateLimiting 應該就可以支援 Redis 了,對於現在需要使用 Redis 的夥伴,可以先考慮使用 cristipufu/aspnetcore-redis-rate-limiting

...繼續閱讀 »
on yc421206

Repository 測試使用 Testcontainers - 原始碼

在去年 10  月寫了這一篇文「Repository 測試使用 Testcontainers」,不過文章裡只有公開部分的程式碼類別,可能會讓有些人想跟著實做卻會遇到做不出來的狀況。

但因為實際的程式原始碼已經不在了,所以我就重做了一個新的專案,盡量還原當時的範例專案,之前文章裡的測試專案是使用 MSTest,而這個新建立的專案則是提供了 xUnit  與 MSTest  兩種測試專案,讓使用這兩種測試框架的開發人員可以參考。

...繼續閱讀 »
on mrkt

如何使用 Mock Server 建立假服務

上篇 提到使用 Prism 來建立 Mock Server,經同事反饋,他期望能使用類似像 Wiremock 有 API 可以在測試步驟根據場景快速的定義 Mock Server 的回傳值,而我期望除了用 API 動態的決定 Mock Server 的回傳值之外,還能匯入 Open API/Swagger,於是我把我手上收集的 Mock Server 清單玩了一遍,發現這一套 Mock Server 可以滿足我需要的

...繼續閱讀 »
on yc421206

[廚餘回收] 使用 Azure.Storage.Blobs 從 URL 複製 Blob 時,收到 256MB 大小限制的錯誤。

我們偶爾會有從 URL 複製檔案的需求,這一天,程式在複製一個檔案的時候,收到了一個錯誤訊息:

The source request body for synchronous copy is too large and exceeds the maximum permissible limit (256MB).

錯誤訊息很明白,說程式在進行同步複製的時候,Request Body 超過了 256MB 的限制,我們來看看要怎麼解決這個問題?

...繼續閱讀 »
on supershowwei

進修課程