Talk-to-Slack 示例网络应用
创建一个简单的网络应用程序,以通过对 Rememberizer 的查询将 LLM 与用户知识集成是非常简单的。
应用程序的源代码可以在这里找到。
在本节中,我们将提供逐步指导和完整源代码,以便您能快速创建自己的应用程序。
我们在OpenAI上创建了一个Talk-to-Slack GPT。Talk-to-Slack Web应用程序非常相似。
介绍
在这个指南中,我们提供了分步说明和完整的源代码,以帮助您创建自己的类似于我们与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密钥。
运行应用程序
启动 Flask 应用: 在终端中运行
flask run
并通过http://localhost:5000
访问应用。
[用于测试和开发]
部署到云端
建议部署到像 Heroku、Google Cloud Platform (GCP)、Amazon Web Services (AWS) 或 Microsoft 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 集成信息路由): 显示用户与 Rememberizer.ai 的 Slack 集成信息。
@app.route('/ask', methods=['POST']) (提问路由): 处理用户的问题提交,并使用 OpenAI 的 GPT-4 模型生成答案。
附加说明
图标设计:使用详细的折纸艺术风格设计,反映了AI和通信集成。我们的图标是在Midjourney和Image2Icon中创建的。
SSL 配置:使用OpenSSL生成自签名证书以实现安全通信。
探索和创新
我们鼓励您使用自己的AI集成网络应用进行探索和创新,目标是提升您平台的生产力和协作效果。
这个修订过的文档为开发者提供了一个全面的指南,用来创建他们自己的类似于Talk-to-Slack的AI集成网络应用。它包括了设置、部署和应用代码概述的详细指示,以及最佳
Last updated