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
  • Timer是什麼 Timer 是一種用於創建定期粒度行為的機制。 與標準的 .NET System.Threading.Timer 類相似,Orleans 的 Timer 允許在一段時間後執行特定的操作,或者在特定的時間間隔內重覆執行操作。 它在分散式系統中具有重要作用,特別是在處理需要周期性執行的 ...
  • 前言 相信很多做WPF開發的小伙伴都遇到過表格類的需求,雖然現有的Grid控制項也能實現,但是使用起來的體驗感並不好,比如要實現一個Excel中的表格效果,估計你能想到的第一個方法就是套Border控制項,用這種方法你需要控制每個Border的邊框,並且在一堆Bordr中找到Grid.Row,Grid. ...
  • .NET C#程式啟動閃退,目錄導致的問題 這是第2次踩這個坑了,很小的編程細節,容易忽略,所以寫個博客,分享給大家。 1.第一次坑:是windows 系統把程式運行成服務,找不到配置文件,原因是以服務運行它的工作目錄是在C:\Windows\System32 2.本次坑:WPF桌面程式通過註冊表設 ...
  • 在分散式系統中,數據的持久化是至關重要的一環。 Orleans 7 引入了強大的持久化功能,使得在分散式環境下管理數據變得更加輕鬆和可靠。 本文將介紹什麼是 Orleans 7 的持久化,如何設置它以及相應的代碼示例。 什麼是 Orleans 7 的持久化? Orleans 7 的持久化是指將 Or ...
  • 前言 .NET Feature Management 是一個用於管理應用程式功能的庫,它可以幫助開發人員在應用程式中輕鬆地添加、移除和管理功能。使用 Feature Management,開發人員可以根據不同用戶、環境或其他條件來動態地控制應用程式中的功能。這使得開發人員可以更靈活地管理應用程式的功 ...
  • 在 WPF 應用程式中,拖放操作是實現用戶交互的重要組成部分。通過拖放操作,用戶可以輕鬆地將數據從一個位置移動到另一個位置,或者將控制項從一個容器移動到另一個容器。然而,WPF 中預設的拖放操作可能並不是那麼好用。為瞭解決這個問題,我們可以自定義一個 Panel 來實現更簡單的拖拽操作。 自定義 Pa ...
  • 在實際使用中,由於涉及到不同編程語言之間互相調用,導致C++ 中的OpenCV與C#中的OpenCvSharp 圖像數據在不同編程語言之間難以有效傳遞。在本文中我們將結合OpenCvSharp源碼實現原理,探究兩種數據之間的通信方式。 ...
  • 一、前言 這是一篇搭建許可權管理系統的系列文章。 隨著網路的發展,信息安全對應任何企業來說都越發的重要,而本系列文章將和大家一起一步一步搭建一個全新的許可權管理系統。 說明:由於搭建一個全新的項目過於繁瑣,所有作者將挑選核心代碼和核心思路進行分享。 二、技術選擇 三、開始設計 1、自主搭建vue前端和. ...
  • Csharper中的表達式樹 這節課來瞭解一下表示式樹是什麼? 在C#中,表達式樹是一種數據結構,它可以表示一些代碼塊,如Lambda表達式或查詢表達式。表達式樹使你能夠查看和操作數據,就像你可以查看和操作代碼一樣。它們通常用於創建動態查詢和解析表達式。 一、認識表達式樹 為什麼要這樣說?它和委托有 ...
  • 在使用Django等框架來操作MySQL時,實際上底層還是通過Python來操作的,首先需要安裝一個驅動程式,在Python3中,驅動程式有多種選擇,比如有pymysql以及mysqlclient等。使用pip命令安裝mysqlclient失敗應如何解決? 安裝的python版本說明 機器同時安裝了 ...