通过streamlit实现一个简单的ChatGPT对话界面

之前在某宝上购买的open ai的key一直是中转的。商家提供了一个对话界面,直接在设置中粘贴购买的key就可以实现对话。

但是今天下午购买了直连的key。中转的对话界面就不能使用了。只能通过代码获取回答,自己日常使用很不方便。

因此做了一个简单的streamlit界面用于对话。

主要内容是:调用api获取回答;构建对话界面;将回答传到界面上实现流式输出

界面长这样。

使用到的包。

import sys
import streamlit as st
import os
from langchain.chat_models import ChatOpenAI
from get_response import ask_and_get_answer
from openai import OpenAI

构建对话界面:

 st.subheader('GPT-4o 🤖')
    #  定义侧边栏。在此部分内的所有控件都会被添加到侧边栏。
    with st.sidebar:

        api_key = st.text_input('OpenAI API Key:', type='password')
        #  创建一个文本输入控件,用于输入OpenAI API密钥。输入的内容将被隐藏。
        if api_key:
    
### 如何使用ChatGPT聊天框进行交互 为了有效地与ChatGPT聊天框互动,理解其工作原理及其背后的机制至关重要。当涉及到具体的应用场景时,比如构建一个基于Web的聊天界面来展示ChatGPT的功能,可以选择多种技术栈实现这一目标。 对于希望快速建立原型或测试想法的人来说,Streamlit一个理想的选择[^2]。它允许开发者仅需少量代码就能创建出具备高度交互性和可视化特性的网页应用。通过简单的配置文件和直观的API调用方式,Streamlit使得连接至外部服务(如OpenAI提供的API接口)变得异常简便,进而可以在前端轻松呈现由ChatGPT生成的内容回复给用户输入的信息。 如果倾向于移动平台开发,则可以考虑采用Flutter配合GetX框架的方法来打造更加复杂的用户体验[^3]。这种方法不仅支持跨平台部署(iOS/Android),而且还能提供流畅自然的操作感受。借助于GetX的状态管理和路由导航特性,可以使整个应用程序结构清晰有序;与此同时,利用官方文档中的指导完成对OpenAI API的有效集成,最终实现在移动端上的实时对话交流体验。 当然,对于那些更关注纯前端表现形式而不涉及服务器端逻辑的情况下,HTML加上CSS也是一种不错的选择[^4]。这种方式适合用来制作静态网站或是作为学习资源分享的基础模板。尽管如此,在实际操作过程中仍需依赖第三方库或其他手段获取来自ChatGPT的数据响应,并将其渲染成易于阅读的形式供访问者查看。 无论选用哪种方法论和技术方案,重要的是要认识到虽然ChatGPT拥有强大的文本处理能力,但在某些特定领域可能存在不足之处,因此建议保持适当的人工干预以确保输出质量[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值