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 金鑰。

運行應用程式

  1. 啟動 Flask 應用程式: 在終端機中運行 flask run 並在 http://localhost:5000 存取應用程式。

[用於測試和開發]

部署到雲端

建議部署到像Heroku、Google雲端平台(GCP)、亞馬遜網路服務(AWS)或微軟Azure等平台。

Heroku部署

  1. 建立Heroku帳戶:安裝Heroku CLI。

  2. 準備您的應用程式:確保有Procfileruntime.txtrequirements.txt

  3. 部署:使用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

Flask==3.0.2
requests==2.31.0
gunicorn==21.2.0
openai==1.14.0
pytest==8.1.1

應用程式代碼概覽

以下是此應用程式的主要路徑簡介:

  • @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