Talk-to-Slack 範例網頁應用程式
創建一個簡單的網頁應用程式,通過對 Rememberizer 的查詢將 LLM 與用戶知識集成是非常容易的。
該應用程式的源代碼可以在這裡找到。
在這個部分,我們將提供逐步的指示和完整的源代碼,以便您快速創建自己的應用程式。
我們在OpenAI上創建了一個與Slack對話的GPT。與Slack對話的網頁應用程式非常相似。
簡介
在這份指南中,我們提供了逐步的指導和完整的源碼,以幫助你創建你自己的應用程式,類似於我們與Rememberizer.ai的Talk-to-Slack GPT整合。與Slack整合不同的是,一個網路應用程式提供更多功能和控制,例如網路抓取、本地數據庫訪問、圖形與動畫,以及收集付款。此外,它可以被任何人使用,而不需要一個高級genAI帳戶。
概述
我們的示例應用程式,與 Slack 對話,託管在 Heroku 上,並整合 OpenAI 的 LLM 與 Rememberizer.ai,以增強您的 Slack 體驗。該網路應用程式使用 Flask 建構並提供如 OAuth2 整合,Slack 數據訪問,和直觀的使用者介面等功能。
功能
基於 Flask 的架構:後端操作、前端通訊以及API交互均由 Flask 負責處理。
OAuth2 整合:使用 Rememberizer 的 OAuth2 流程,以實現安全的授權和資料存取。
Slack 數據存取:使用 Rememberizer 的API 安全地取得已連接的 Slack 用戶資料。
OpenAI LLM 整合:使用 OpenAI 的 LLM 服務來處理查詢,以便得出有見地的回答。
直觀的用戶界面:提供現代 UI 設計以便輕鬆導航和交互。
最佳實踐:遵從安全與用戶體驗標準,以實現無縫整合。
設定和部署
先決條件
Python
Flask
[需要注意的是,讓LLM把這整個應用程序重寫成另一種語言並不難,對我們來說,這種語言是Golang。因此,請記住,你並不僅僅侷限於Python]
環境設定
設定這些環境變數:
APP_SECRET_KEY
:Flask 的獨特秘密金鑰。REMEMBERIZER_CLIENT_ID
:您的 Rememberizer 應用的客戶端 ID。REMEMBERIZER_CLIENT_SECRET
:您的 Rememberizer 應用的客戶端秘密。OPENAI_API_KEY
:您的 OpenAI API 金鑰。
運行應用程式
啟動 Flask 應用程式: 在終端機中運行
flask run
並在http://localhost:5000
存取應用程式。
[用於測試和開發]
部署到雲端
建議部署到像Heroku、Google雲端平台(GCP)、亞馬遜網路服務(AWS)或微軟Azure等平台。
Heroku部署
建立Heroku帳戶:安裝Heroku CLI。
準備您的應用程式:確保有
Procfile
,runtime.txt
和requirements.txt
。部署:使用Heroku CLI或GitHub整合進行部署。
詳細步驟
將Heroku連接到GitHub:啟用從GitHub存儲庫自動部署以實現無縫更新。
手動部署:可選擇使用手動部署以獲得更多控制權。
附加設定
安裝Heroku CLI:
brew tap heroku/brew && brew install heroku
(適用於macOS)。添加SSL證書:使用自簽名證書進行HTTPS初始設定。
一個官方付費證書絕對是正式生產中的首選,但要快速且便宜地測試這個,您可以免費做到這一點。
在Heroku上配置環境變量:對於必要的鍵,使用
heroku config:set KEY=value
。
其他雲平台
GCP:設立一個GCP帳戶,用
app.yaml
準備您的應用程式,並使用gcloud app deploy
進行部署。AWS:設立一個AWS帳戶並安裝AWS CLI後,使用Elastic Beanstalk進行部署。
Azure:設立一個Azure帳戶並安裝Azure CLI後,通過Azure App Service進行部署。
安全與最佳實踐
在部署前,請確認你的 requirements.txt
,調整生產設定,以及更新 OAuth 重定向 URI。
requirements.txt
應用程式代碼概覽
以下是此應用程式的主要路徑簡介:
@app.route('/') (首頁路徑): 渲染應用程式的首頁。
@app.route('/auth/rememberizer') (Rememberizer認證路徑): 啟動與Rememberizer.ai的OAuth2認證流程。
@app.route('/auth/rememberizer/callback') (Rememberizer回調路徑): 在用戶授權後處理來自Rememberizer.ai的回調。
@app.route('/dashboard') (資訊儀表板路徑): 展示資訊儀表板頁面給用戶。
@app.route('/slack-info') (Slack整合資訊路徑): 展示用戶的Slack與Rememberizer.ai整合的資訊。
@app.route('/ask', methods=['POST']) (問答路徑): 處理用戶提交的問題,並使用OpenAI的GPT-4模型生成答案。
附加說明
圖標設計:運用詳細的摺紙藝術風格設計,反映AI和通信整合的特點。我們的圖標是在Midjourney和Image2Icon中創建的。
SSL配置:使用OpenSSL生成自簽名證書以進行安全通信。
探索與創新
我們鼓勵您使用自己的AI集成網路應用程式進行探索和創新,旨在提高您平台的生產力和協作性。
這份修訂後的文件為開發人員提供了全面的指南,可以創建自己的AI集成網路應用程式,類似於 Talk-to-Slack。其中包括了設置、部署和應用程式代碼概述的詳細指令,以及最佳
Last updated