Talk-to-Slack 示例 Web 应用
创建一个简单的网络应用程序,以通过对 Rememberizer 的查询将 LLM 与用户知识集成是非常简单的。
Last updated
创建一个简单的网络应用程序,以通过对 Rememberizer 的查询将 LLM 与用户知识集成是非常简单的。
Last updated
应用的源代码可以在 这里 找到。
在本节中,我们将提供逐步说明和完整的源代码,以便您可以快速创建自己的应用程序。
我们在 OpenAI 上创建了一个 Talk-to-Slack GPT。Talk-to-Slack 网页应用非常相似。
在这个指南中,我们提供了分步说明和完整的源代码,以帮助您创建自己的类似于我们与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
访问应用。
将回调 URL 复制到您的 Rememberizer 应用配置中:https://<YOURHOST>/auth/rememberizer/callback
示例:http://localhost:5000/auth/rememberizer/callback
。
建议部署到 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。
@app.route('/') (首页路由):
当访问根 URL (/) 时,此路由渲染 index.html 模板。它作为您应用程序的主页。
@app.route('/auth/rememberizer') (Rememberizer 认证路由):
此路由启动与 Rememberizer.ai 的 OAuth2 认证过程。它生成一个随机状态值,将其存储在会话中,构建包含必要参数(客户端 ID、重定向 URI、范围和状态)的授权 URL,并将用户重定向到 Rememberizer.ai 的授权页面。
@app.route('/auth/rememberizer/callback') (Rememberizer 回调路由):
此路由处理用户授权您的应用程序后来自 Rememberizer.ai 的回调。它从查询参数中提取授权码,使用 Rememberizer.ai 的令牌端点将其兑换为访问令牌,并将访问令牌存储在会话中。然后,它将用户重定向到 /dashboard 路由。
@app.route('/dashboard') (仪表板路由):
此路由向用户显示仪表板页面。它检查用户的会话中是否有访问令牌;如果没有,它将用户重定向到认证路由。如果用户已认证,它会向 Rememberizer.ai 的账户端点发出请求以检索账户信息,并使用这些信息渲染 dashboard.html 模板。
@app.route('/slack-info') (Slack 集成信息路由):
此路由显示用户与 Rememberizer.ai 的 Slack 集成信息。它检查访问令牌,并向 Rememberizer.ai 的集成端点发出请求以获取集成数据。然后,它使用这些数据渲染 slack_info.html 模板。
@app.route('/ask', methods=['POST']) (提问路由):
此路由处理用户提交的问题。它检查访问令牌,从表单数据中检索用户的问题,并向 Rememberizer.ai 的文档搜索端点发出请求以查找相关信息。然后,它使用 OpenAI 的 GPT-4 模型根据问题和搜索结果生成答案。答案在 answer.html 模板中渲染。
图标设计:使用详细的折纸艺术风格设计,反映了AI和通信集成。我们的图标是在Midjourney和Image2Icon中创建的。
SSL 配置:使用OpenSSL生成自签名证书以实现安全通信。
我们鼓励您通过自己的 AI 集成网页应用进行探索和创新,旨在提升您平台内的生产力和协作。
本修订文档为开发者提供了创建自己 AI 集成网页应用的全面指南,类似于 Talk-to-Slack。它包括设置、部署和应用代码概述的详细说明,以及最佳实践