Talk-to-Slack 示例网络应用

创建一个简单的网络应用程序,以通过对 Rememberizer 的查询将 LLM 与用户知识集成是非常简单的。

应用程序的源代码可以在这里找到。

在本节中,我们将提供逐步指导和完整源代码,以便您能快速创建自己的应用程序。

我们在OpenAI上创建了一个Talk-to-Slack GPT。Talk-to-Slack Web应用程序非常相似。

由Rememberizer在Heroku上的Talk-to-Slack.com web应用
由Rememberizer在OpenAI上的Talk to Slack GPT

介绍

在这个指南中,我们提供了分步说明和完整的源代码,以帮助您创建自己的类似于我们与Rememberizer.ai的Talk-to-Slack GPT整合的应用程序。与Slack整合不同,一个网页应用程序提供更多的特性和控制,如网页抓取,本地数据库访问,图形和动画,以及收集支付。此外,它可以被任何人使用,而无需拥有高级genAI账户。

概述

我们的示例应用程序,“Talk to Slack”,托管在Heroku上,并整合了OpenAI的LLM和Rememberizer.ai,以增强您的Slack体验。该网络应用程序使用Flask构建,并提供了如OAuth2集成、访问Slack数据和直观用户界面等功能。

特性

  • 基于Flask的架构:由Flask处理后端操作,前端通信和API交互。

  • 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 Cloud Platform (GCP)、Amazon Web Services (AWS) 或 Microsoft 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 集成信息路由): 显示用户与 Rememberizer.ai 的 Slack 集成信息。

  • @app.route('/ask', methods=['POST']) (提问路由): 处理用户的问题提交,并使用 OpenAI 的 GPT-4 模型生成答案。

附加说明

  • 图标设计:使用详细的折纸艺术风格设计,反映了AI和通信集成。我们的图标是在Midjourney和Image2Icon中创建的。

  • SSL 配置:使用OpenSSL生成自签名证书以实现安全通信。

探索和创新

我们鼓励您使用自己的AI集成网络应用进行探索和创新,目标是提升您平台的生产力和协作效果。


这个修订过的文档为开发者提供了一个全面的指南,用来创建他们自己的类似于Talk-to-Slack的AI集成网络应用。它包括了设置、部署和应用代码概述的详细指示,以及最佳

Last updated