快速搭建能远程访问的Web页面,实现ChatGPT聊天机器人

streamlit是比较热门的Web应用程序框架,基于Python,优势是只要几行代码就可以创建一个交互式、可视化的web仪表板。通过接入OpenAI的API,快速搭建基于ChatGPT聊天页面,实现对话的方式进行交互,

将streamlit和cpolar搭配使用,就可以快速搭建一个能够远程访问的ChatGPT聊天页面,下面通过windows环境简单部署一个接入OpenAI的API的聊天界面,并结合cpolar实现远程访问

环境

  • Python 3.11.4
  • windwos 10

1. 本地服务创建

安装OpenAPI和Streamlit包,分别执行下面命令,安装三个对应的包,第一个是openai的包,下面两个是streamlit包

pip install openai
pip install streamlit
pip install streamlit_chat

安装完成后,在本地目录.我们创建一个.py的文件,取名为chatgpt_test,具体名称可以自定义

快速搭建能远程访问的Web页面,实现ChatGPT聊天机器人_第1张图片

然后把下面的python代码复制到上面创建的python文件中

# chat_bot.py

import openai
import streamlit as st
from streamlit_chat import message

#申请的api_key
openai.api_key = "xxxxxxxxxxxxxxxxx" 
def generate_response(prompt):
    completion=openai.Completion.create(
        model='text-davinci-003',
        prompt=prompt,
        max_tokens=1024,
        temperature=0.6
    )
    message=completion.choices[0].text
    return message

st.markdown("#### 我是ChatGPT聊天机器人,我可以回答您的任何问题")
if 'generated' not in st.session_state:
    st.session_state['generated'] = []
if 'past' not in st.session_state:
    st.session_state['past'] = []
user_input=st.text_input("请输入您的问题:",key='input')
if user_input:
    output=generate_response(user_input)
    st.session_state['past'].append(user_input)
    st.session_state['generated'].append(output)
if st.session_state['generated']:
    for i in range(len(st.session_state['generated'])-1, -1, -1):
        message(st.session_state["generated"][i], key=str(i))
        message(st.session_state['past'][i], 
                is_user=True, 
                key=str(i)+'_user')

python 文件可以使用vscode或者notepad++打开,复制后,我们可以看到,有个位置设置openpi的api_key.这个api_key可以在注册Openai账号申请.或者在网络上查找某些免费的key使用,设置完成后记得保存文件

快速搭建能远程访问的Web页面,实现ChatGPT聊天机器人_第2张图片

然后在文件夹打开powershell,输入命令,执行启动我们刚刚创建的文件

streamlit run chat_bot.py

首次执行会提示输入一个邮箱,我们按照提示输入邮箱回车

快速搭建能远程访问的Web页面,实现ChatGPT聊天机器人_第3张图片

运行成功后.我们可以看到控制台出现的本地访问地址.

快速搭建能远程访问的Web页面,实现ChatGPT聊天机器人_第4张图片

在浏览器输入本地访问的地址后,我们即可看到聊天窗口界面,现在就可以愉快聊天了.,如果输入问题后提示错误,可能是key失效了,需要重新设置openai key秘钥,本地访问我们测试成功,接下来安装cpolar内网穿透工具实现远程访问.

快速搭建能远程访问的Web页面,实现ChatGPT聊天机器人_第5张图片

2. 安装cpolar

cpolar官网:https://www.cpolar.com/

访问cpolar官网,注册一个账号,然后下载并安装客户端,具体安装教程可以参考官网文档教程。

  • windows系统:在官网下载安装包后,双击安装包一路默认安装即可。
  • linux系统:支持一键自动安装脚本,详细请参考官网文档——入门指南

cpolar安装成功后,在浏览器上访问本地9200端口【http://localhost:9200】,使用cpolar账号登录。

快速搭建能远程访问的Web页面,实现ChatGPT聊天机器人_第6张图片

3. 创建公网地址

点击左侧仪表盘的隧道管理——创建隧道,创建一个我们上面运行python 文件后看到的8501隧道(具体端口以自己本地为准)

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:8501
  • 域名类型:免费选择随机域名
  • 地区:选择China vip

点击创建

快速搭建能远程访问的Web页面,实现ChatGPT聊天机器人_第7张图片

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网地址,有两种访问方式,一种是http 和https

快速搭建能远程访问的Web页面,实现ChatGPT聊天机器人_第8张图片

4. 公网访问

我们使用http公网地址访问,即可看到我们刚刚运行的本地界面站点,这样一个公网地址访问就创建好了,同样,https也是可以访问的

快速搭建能远程访问的Web页面,实现ChatGPT聊天机器人_第9张图片

你可能感兴趣的:(人工智能,chatgpt,python,大数据)