如何在3分钟内部署一个AI聊天应用到Azure应用程序服务
ChatGPT Next Web是一个使用非常广泛的ChatGPT网络聊天项目,它使您能够在仅使用您的OpenAI API密钥的情况下在自己的服务器上部署网站。它自带了非常丰富的prompt提示词功能,能够扮演各种类型的角色,帮助您轻松解决各种问题。这使您无需访问官方的OpenAI网站,就可以享受相同的聊天体验,特别是在处理网络或地区限制时非常有用。
然而,ChatGPT Next Web的官方存储库并没有提供Azure的一键安装,而且开发者也没有计划添加内置的登录功能来限制对网站的访问。为了解决这些问题,我的目标是:
- 在不需要创建虚拟机的情况下,将ChatGPT Next Web部署到Azure上。
- 添加访问控制,要求个人帐户登录以使用ChatGPT,而无需对代码进行任何更改。
我的目标是在三分钟内完成这些任务。当然,不想自己部署的小伙伴也可以使用我们已经部署好的chatkore服务,大家可以自行搜索,也可以私信小编获取。接下来让我们探讨一下如何实现这一目标。
创建Azure应用服务
官方的ChatGPT Next Web提供了一个Docker镜像。这是我如何在Azure上运行它而不需要虚拟机的方法。Azure有许多PaaS的方式来部署Docker容器:
- Azure应用服务
- Azure容器实例
- Azure容器应用
- AKS
我选择应用服务,因为它具有内置的身份验证功能,我将在下一步中使用它。
转到Azure官方网站,创建一个新的Web应用程序,在实例详细信息中选择Docker Container + Linux。
对于定价计划,经过测试,基本的SKU对于几个用户来说已经足够了,如果您有更多的终端用户,可以选择更高的SKU。
在Docker步骤中,使用来自公共Docker Hub的单个容器,名称为:yidadaa/chatgpt-next-web
根据需要配置其他步骤,并完成创建Web应用程序。
配置环境变量
创建Web应用程序后,在运行应用程序之前,我们需要为Docker容器配置两个环境变量。
转到配置页面,并添加两个设置:
- OPENAI_API_KEY:使用您在OpenAI API官方网站购买的密钥,通常以"sk-"开头
- PORT:443
无法访问OpenAI的同学可以使用我们已经部署好的chatkore服务来获得相同的聊天体验。
我还建议在常规设置中打开HTTP2以获得更好的性能。
到目前为止,您的ChatGPT网络界面已经准备好运行了。您可以通过默认域访问页面,或者绑定您的自定义域名。
启用身份验证
默认情况下,您的网站可以从Internet的任何地方公开访问。这可能会导致您的信用卡爆炸。我们需要启用身份验证,在用户使用应用程序之前要求他们登录。
尽管原始的ChatGPT Next Web项目没有这些功能,但在Azure上添加登录提供程序而无需编写任何代码非常容易。
转到身份验证页面,点击"添加身份提供程序"
您可以添加列出的任何提供者之一。我以Microsoft为例。
对于Microsoft提供程序,默认情况下,给定Azure AD中的所有帐户都会有访问权限。要将帐户限制为仅选定的人员,小编将在下一篇文章中为大家详细说明。
完成此步骤后,用户在打开ChatGPT网络界面之前将被要求登录。
结论
Azure应用服务是一个非常出色的PaaS服务。它可以运行基于Docker的应用程序,并在不修改代码的情况下为应用程序添加个人帐户登录流程。所有步骤只需几次鼠标点击即可,所有操作都可以在几分钟内完成。