ChatGPT API 接入微信公眾號(服務號)的坑及實現 (Part 2)

来源:https://www.cnblogs.com/dtsyl/archive/2023/04/01/17278018.html
-Advertisement-
Play Games

前一篇我們聊了聊ChatGPT API接入微信公眾號的數據流。 現在稍微介紹詳細點,僅供參考。這是個通用的解決方案,並不僅限於ChatGPT API的調用。 本文有以下內容: 數據流詳細介紹 一點筆記 與AI對話怎樣問問題 法律條文 演示截圖 1. 數據流詳細介紹 之前我們已經知道,在公眾號中與AI ...


前一篇我們聊了聊ChatGPT API接入微信公眾號的數據流。

現在稍微介紹詳細點,僅供參考。這是個通用的解決方案,並不僅限於ChatGPT API的調用。

本文有以下內容:

  1. 數據流詳細介紹

  2. 一點筆記

  3. 與AI對話怎樣問問題

  4. 法律條文

  5. 演示截圖

1. 數據流詳細介紹

之前我們已經知道,在公眾號中與AI對話,數據流主要如下。

關於Azure Web App里的流程,主要如下:

 

2. 一點筆記

1. 公眾號開發的前提條件

需要在公眾號開發平臺設置好相關的Azure伺服器地址,配置一些安全相關的信息,比如IP Whitelist, 加密的Token等。

相應的,要在Azure上提供一個服務,為微信伺服器提供驗證,它會用到之前設置的Token等。官方有提供一些程式庫給調用。

2. 時間限制

微信伺服器在5秒內需要有返回。所以服務可以在拿到Request後,馬上返回消息。再通過服務號的客服消息功能,獲取AI模型的返回後,給用戶第二次返回。這裡主要用到了Quarkus的Eventbus.

3. Azure Web App的搭建以及調用ChatGPT API

https://medium.com/@datatec.studio/use-chatgpt-api-gpt-3-5-turbo-with-azure-quarkus-web-app-422b29d49782

4. Azure免費服務的中斷情況

貌似如果有一段時間沒有訪問,Azure免費服務會進入休眠,不是很確定。所以可以創建一個Timer Trigger服務,定時調用服務喚醒它。

 

3. 與AI對話怎樣問問題

首先要強調的是,AI給出的答案不保證是正確的,但作為參考一般很有價值。

和使用搜索引擎比較類似,所有答案是基於你的問題,甚至是基於你之前在網路上留下的痕跡。AI對話中,可以嘗試讓AI扮演不同角色給問題,也可以在問題的組織上,用一些模版,說不定會有驚喜。這裡給出幾個例子:

      • AI對話提問的例子

        1. 我正在準備某科目的考試,請出一些相關的練習題並附帶答案

        2. 你如果是一個投資者,你會對這個項目有什麼看法:

        3. 幫我修改一下這段英話:

        4. 你回答的不對吧,修改下答案

        5. 某電影,小說主要講什麼,有哪些比較類似或者完全不同的小說

        6. 用編程語言設計這個項目,怎麼寫

        7. (假如)我是什麼職業,現在有這麼個情況,你幫忙分析下

        8. 如果我想怎樣,需要準備哪些步驟

        9. 我想要哪方面的資源,去哪裡可以找到

        10. 現在棋盤上的棋子佈局如下,該我走了,我該下到哪裡,為什麼?

 

4. 法律條文

還在學習中,具體大致如下:

  1. ChatGPT Service Term

  2. ChatGPT Use Term

  3. OpenAI Usage Policies

  4. 歐洲聯盟通用數據保護條例

  5. 微信服務條款

  6. 公眾號開發者規範

  7. 數據安全法

  8. 網路安全法

  9. 個人信息保護法

  10. 認證規範V2.0

  11. 電子商務法

  12. 網路信息安全技術保護條例

     

5. 演示截圖

能訪問官網的小伙伴,不妨直接去那裡直接測試 https://chat.openai.com/

公眾號德國數據圈目前雖然調用ChatGPT API,正如之前提到,由於一些原因,對問題文字進行了一定的檢測。如果某些問題被拒絕回答,不妨試點別的。

 

 

本文來自博客園,作者:DG數據圈,轉載請註明原文鏈接:https://www.cnblogs.com/dtsyl/p/17278018.html


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 好家伙, 現在,我想要把我的飛機大戰塞到我的主頁里去,想辦法把文件導入 然後,直接死在第一步,圖片渲染都成問題 先用vue寫一個測試文件 來測試canvas的繪製 <template> <div> <div ref="stage"></div> <button @click="drawsth()"> ...
  • 這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 前言 代碼的簡潔、美感、可讀性等等也許不影響程式的執行,但是卻對人(開發者)的影響非常之大,甚至可以說是影響開發者幸福感的重要因素之一; 瞭解一些有美感的代碼,不僅可以在一定程度上提高程式員們的開發效率,有些還能提高代碼的性能,可謂是一舉 ...
  • react三大屬性 一.狀態 類組件1. state 是組件的屬性,值是對象。state中的數據是可讀可寫的,通過更新state來更新對應的頁面顯示(重新渲染組件),通過setState來更新state數據且更新是一種合併 ,在類組件中使用.組件自定義的方法中this為undefined(1)強制綁 ...
  • 創建 Vue3 項目的步驟如下: 安裝 Node.js Vue3 需要依賴 Node.js 環境,因此需要先安裝 Node.js。可以從官網下載 Node.js 的安裝包並安裝,也可以使用包管理器安裝,例如在 Ubuntu 上可以使用以下命令安裝: sudo apt-get update sudo ...
  • 拖放排序列表是一種廣泛使用的 UI 元素,允許用戶通過將項目拖放到所需位置來重新排序。這個功能可以在許多網路應用程式中找到,比如任務管理器和電子商務網站。 在這篇博文中,您將學習如何使用 HTML、CSS 和 JavaScript 創建拖放可排序列表。不使用任何外部 JavaScript 庫來創建這 ...
  • 之前,整個《現代圖片性能優化及體驗優化指南》分了 5 篇來發,本文是系列合集,方便大家收藏及連貫閱讀。 圖片資源,在我們的業務中可謂是占據了非常大頭的一環,尤其是其對帶寬的消耗是十分巨大的。 對圖片的性能優化及體驗優化在今天就顯得尤為重要。本文,就將從各個方面闡述,在各種新特性滿頭飛的今天,我們可以 ...
  • 當今世界,雲計算技術在快速發展,不斷為我們帶來新的應用場景和解決方案。作為一名前端開發者,瞭解雲技術並掌握如何在前端中應用它們是必不可少的。本篇文章將介紹雲計算技術的基本概念,並從前端角度探討如何使用雲技術提高應用的可擴展性、安全性、性能和用戶體驗。 ...
  • 使用vue3+ts開發的工具網頁 手機PC都能訪問 http://in-git.gitee.io/in-nav/#/ 有多源網址,可隨心所欲的切換 內置瀏覽器支持拖拽多開 ...
一周排行
    -Advertisement-
    Play Games
  • ## 引言 最近發現自己喜歡用的 Todo 軟體總是差點意思,畢竟每個人的習慣和工作流不太一樣,我就想著自己寫一個小的[Todo 項目]( https://github.com/circler3/TodoTrack ),核心的功能是自動記錄 Todo 執行過程中消耗的時間(尤其面向程式員),按照自己 ...
  • ### 前言 當我們編寫 C# 代碼時,經常需要處理大量的數據集合。在傳統的方式中,我們往往需要先將整個數據集合載入到記憶體中,然後再進行操作。但是如果數據集合非常大,這種方式就會導致記憶體占用過高,甚至可能導致程式崩潰。 C# 中的`yield return`機制可以幫助我們解決這個問題。通過使用`y ...
  • 1. ADO.NET的前世今生 ADO.NET的名稱起源於ADO(ActiveX Data Objects),是一個COM組件庫,用於在以往的Microsoft技術中訪問數據。之所以使用ADO.NET名稱,是因為Microsoft希望表明,這是在NET編程環境中優先使用的數據訪問介面。 ADO.NE ...
  • 1. 為什麼需要單元測試 在我們之前,測試某些功能是否能夠正常運行時,我們都將代碼寫到Main方法中,當我們測試第二個功能時,我們只能選擇將之前的代碼清掉,重新編寫。此時,如果你還想重新測試你之前的功能時,這時你就顯得有些難為情了,因為代碼都被你清掉了。當然你完全可以把代碼寫到一個記事本中進行記錄, ...
  • 1. 透過現象看本質 反射被譽為是 c#中的黑科技 ,在很多領域中都有反射的身影,例如,我們經常使用的ORM框架,ABP框架 等。 反射指程式可以訪問、檢測和修改它本身狀態或行為的一種能力。. 程式集包含模塊,而模塊包含類型,類型又包含成員。. 反射則提供了封裝程式集、模塊和類型的對象。. 您可以使 ...
  • # Rust Web 全棧開發之 Web Service 中的錯誤處理 ## Web Service 中的統一錯誤處理 ### Actix Web Service 自定義錯誤類型 -> 自定義錯誤轉為 HTTP Response - 資料庫 - 資料庫錯誤 - 串列化 - serde 錯誤 - I/ ...
  • 在前面的幾篇文章中,詳細地給大家介紹了Java里的集合。但在介紹集合時,我們涉及到了泛型的概念卻並沒有詳細學習,所以今天我們要花點時間給大家專門講解什麼是泛型、泛型的作用、用法、特點等內容 ...
  • ###BIO:同步阻塞 主線程發起io請求後,需要等待當前io操作完成,才能繼續執行。 ###NIO:同步非阻塞 引入selector、channel、等概念,當主線程發起io請求後,輪詢的查看系統是否準備好執行io操作,沒有準備好則主線程不會阻塞會繼續執行,準備好主線程會阻塞等待io操作完成。 # ...
  • 摘要:在讀多寫少的環境中,有沒有一種比ReadWriteLock更快的鎖呢?有,那就是JDK1.8中新增的StampedLock! 本文分享自華為雲社區《【高併發】高併發場景下一種比讀寫鎖更快的鎖》,作者: 冰 河。 什麼是StampedLock? ReadWriteLock鎖允許多個線程同時讀取共 ...
  • ## 併發與並行😣 ### 併發與並行的概念和區別 並行:同一個時間段內多個任務同時在不同的CPU核心上執行。強調同一時刻多個任務之間的”**同時執行**“。 併發:同一個時間段內多個任務都在進展。強調多個任務間的”**交替執行**“。 ![](https://img2023.cnblogs.co ...