网站后期的维护设计与制作网站
web/
2025/10/1 4:03:36/
文章来源:
网站后期的维护,设计与制作网站,wordpress个人展示网站6,网站域名迁移公告大家好#xff0c;我是海鸽。
今天#xff0c;我要和大家分享如何将请求 GPT 的案例#xff0c;快速“复刻”成 GPT 网页版。这不仅简单#xff0c;而且对于我们这些后端开发者来说#xff0c;简直是福音#xff01;
先睹为快
看看这个界面#xff0c;是不是感觉很熟…大家好我是海鸽。
今天我要和大家分享如何将请求 GPT 的案例快速“复刻”成 GPT 网页版。这不仅简单而且对于我们这些后端开发者来说简直是福音
先睹为快
看看这个界面是不是感觉很熟悉 这就是我们今天要介绍的主角-Streamlit此篇文章我们仅仅从复刻一个聊天机器人的角度介绍认识一下其强大之处。 初识Streamlit
Streamlit 是一个开源的 Python 库它允许数据科学家快速地将数据脚本转换为交互式网页应用程序。 使用 Streamlit你可以轻松地创建和分享数据应用而无需深入了解前端开发。它特别适合于机器学习、数据分析和数据可视化项目。 白话一下就是Streamlit 可以让没有任何前端基础的人使用 Python 开发 Web 应用没有复杂的配置没有复杂的语法开箱即用拎包入住。 Streamlit 的主要特性
Streamlit 作为一个用于快速构建数据应用的 Python 库其核心特性主要包括 快速开发使用 Streamlit你可以用很少的代码快速搭建起一个基本的 Web 应用。 数据可视化Streamlit 支持多种数据可视化库如 Matplotlib、Plotly、Bokeh 等可以轻松地将图表和数据展示在 Web 应用中。 部署简单Streamlit 应用可以通过 Streamlit 共享、部署到 Heroku、AWS 等云平台或者使用 Docker 容器化部署。 易于集成Streamlit 可以很容易地与现有的 Python 数据科学栈集成包括 Pandas、NumPy、Scikit-learn 等。
这些特性使得 Streamlit 成为数据科学家、分析师和机器学习工程师快速展示和分享他们工作的强大工具。
Streamlit 的安装和使用过程相对简单以下是基本步骤
安装 Streamlit
首先你需要确保你的计算机上安装了 Python。然后通过 pip 安装 Streamlit。在命令行中运行以下命令
pip install streamlit1.36.0创建一个 Streamlit 应用 创建 Python 脚本创建一个新的 Python 文件例如 app.py。 创建.env配置文件免费的GPT KEY获取、免费的千义通问KEY获取
OPENAI_API_KEYsk-Y8wTnsdeG************7gw*******3LG
DASHSCOPE_API_KEYsk-b***********192e00编写代码在 app.py 中编写你的 Streamlit 应用代码。以下是一个简单的示例
# !usr/bin/env python
# -*- coding:utf-8 _*-
# __author__lianhaifeng# 导入 Streamlit 库
import streamlit as stfrom gpt_bot_stream import stream_invoke
from qw_bot import xiao_hei_zi# 使用 Streamlit 的 API 来创建应用
st.title(10分钟编写大模型应用)st.caption(利用大模型和Streamlit复刻一个闽南菜助手应用)with st.sidebar:option st.selectbox(选择大模型引擎,(GPT-3.5, GPT-4, qwen-turbo, qwen-max))model_mapping {GPT-3.5: gpt-3.5-turbo,GPT-4: gpt-4,qwen-turbo: qwen-turbo,qwen-max: qwen-max,
}def set_model(model_option: str):根据用户选择设置模型参数return model_mapping.get(model_option, gpt-3.5-turbo)# 根据选项设置会话状态中的OpenAI模型参数
st.session_state[openai_model] set_model(option)# 检查会话状态中是否已有消息列表如果没有则初始化为空列表
if messages not in st.session_state:st.session_state.messages []# 遍历会话状态中的消息列表
for message in st.session_state.messages:# 使用与消息角色对应的聊天消息区域with st.chat_message(message[role]):# 在聊天消息区域显示消息内容st.markdown(message[content])
# 初始化一个聊天输入框鼓励用户输入消息并特定的助手
prompt st.chat_input(随时你想要的[海哥Python] 使用闽南菜助手)# 如果用户输入了消息
if prompt:# 将用户消息添加到会话状态中的消息列表st.session_state.messages.append({role: user, content: prompt})# 显示用户消息with st.chat_message(user):st.markdown(prompt)# 检查是否启用了特定的OpenAI模型if st.session_state[openai_model] in [gpt-3.5-turbo, gpt-4, qwen-turbo, qwen-max]:# 显示助手正在思考的消息with st.chat_message(assistant):with st.spinner(Thinking...):# 准备向后端服务请求的数据request_inputs {messages: st.session_state.messages,model_name: st.session_state[openai_model]}print(request_inputs)# 调用后端服务获取助手的回复if request_inputs[model_name] in [qwen-turbo, qwen-max]:stream_invoke xiao_hei_ziresponse st.write_stream(stream_invoke(**request_inputs))# 显示助手的回复st.markdown(response)# 将助手的回复添加到消息列表st.session_state.messages.append({role: assistant, content: response})导入的 GPT 大模型请求(gpt_bot_stream.py)
#! -*-conding: UTF-8 -*-from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParserfrom dotenv import load_dotenv, find_dotenv # 导入dotenv库用于加载环境变量_ load_dotenv(find_dotenv()) # 加载.env文件中的环境变量output_parser StrOutputParser()def stream_invoke(messages, model_name: str gpt-3.5-turbo):llm ChatOpenAI(temperature0.9, streamingTrue, base_urlhttps://api.chatanywhere.com.cn/v1,model_namemodel_name)prompt ChatPromptTemplate.from_messages([(system, 你是世界级的大厨精通闽南菜请根据提供的信息回答问题。),(user, {input})])prompt_llm prompt | llm | output_parserreturn prompt_llm.stream(messages)if __name__ __main__:for response in stream_invoke(messages介绍一下泉州海蛎煎详细些):print(response)
导入的千问大模型请求qw_bot.py:
#! -*-conding: UTF-8 -*-from dotenv import find_dotenv, load_dotenv
from langchain_community.llms import Tongyi
from langchain_core.runnables import RunnableSequence
from langchain.prompts import PromptTemplateload_dotenv(find_dotenv())def xiao_hei_zi(messages: str 介绍一下泉州海蛎煎详细些, model_name: str qwen-turbo):llm match model_name:case qwen-turbo:llm Tongyi(temperature1, model_namemodel_name)case qwen-max:llm Tongyi(temperature1, model_namemodel_name)if not llm:llm Tongyi(temperature1, model_namemodel_name)print(llm.model_name)template 你是世界级的大厨精通闽南菜请根据提供的信息回答问题详细些。问题{question}prompt PromptTemplate(templatetemplate,input_variables[question])chain RunnableSequence(prompt | llm)res chain.stream({question: messages})print(res)return resif __name__ __main__:xiao_hei_zi()运行 Streamlit 应用
在命令行中确保你位于包含 app.py 的目录下然后运行以下命令
streamlit run app.py这将启动一个本地服务器并在默认的浏览器中打开你的 Streamlit 应用。你可以通过 http://localhost:8501 访问它。 结语
如果分享你的信息对你有用别忘了三连击哦点赞、在看、关注
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/84838.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!