基于Gradio的GPT聊天程序

这篇具有很好参考价值的文章主要介绍了基于Gradio的GPT聊天程序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

网上很多别人写的,要用账号也不放心。就自己写了一个基于gradio的聊天界面,部署后可以本地运行。

基于Gradio的GPT聊天程序,机器学习,gpt,python,gradio

 

特点:

可以用openai的,也可以用api2d,其他api可以自己测试一下。使用了langchain的库

可以更改模型,会的可以自己改代码更新模型

支持修改temperature,对话轮数

公开代码,copy后填了自己的api就能直接运行

import gradio as gr

from langchain.chat_models import ChatOpenAI
from langchain.schema import HumanMessage, AIMessage


api_key = '***'  # openai api, api2d api
api_base ='https://oa.api2d.net/v1'  # api地址
models = ['gpt-3.5-turbo-0613', 'gpt-4-0613']   #模型名称,可以修改

block_css = """.importantButton {
    background: linear-gradient(45deg, #7e0570,#5d1c99, #6e00ff) !important;
    border: none !important;
}
.importantButton:hover {
    background: linear-gradient(45deg, #ff00e0,#8500ff, #6e00ff) !important;
    border: none !important;
}"""


default_theme_args = dict(
    font=["Source Sans Pro", 'ui-sans-serif', 'system-ui', 'sans-serif'],
    font_mono=['IBM Plex Mono', 'ui-monospace', 'Consolas', 'monospace'],
)



init_message = f"""欢迎使用 ChatGPT Gradio UI!"""


def respond(query, model, temperature, history_turns, chat_history):
    global chat_turns
    llm = ChatOpenAI(
        temperature=temperature,
        openai_api_key=api_key,
        openai_api_base=api_base,
        model_name=model
    )

    history=[]
    len_history = min(chat_turns, history_turns)
    if chat_turns > 0:
        for turn in range(len_history):
            history.append(HumanMessage(content=chat_history[len_history-turn][0]));
            history.append(AIMessage(content=chat_history[len_history-turn][1]));

    history.append(HumanMessage(content=query));
    #print(history)

    response = llm(history).content;

    chat_history.append((query, response));
    chat_turns += 1
    return "", chat_history


def clear(chat_history):
    global chat_turns
    chat_history = [(None, "已清除对话历史")]
    chat_turns = 0
    return chat_history

def setting_change(model ,temperature, history_turns ,chat_history):
    global chat_turns
    chat_history = [(None, f"设置更新:\n 模型名称:{model} \n 温度:{temperature} \n 记忆历史对话轮数:{history_turns}\n")]
    chat_turns =0
    return chat_history





with gr.Blocks(css=block_css, theme=gr.themes.Default(**default_theme_args)) as demo:

    gr.Markdown('ChatGPT Gradio')
    chat_turns = 0
    with gr.Row():
        with gr.Column(scale=10):
            chatbot = gr.Chatbot([[None, init_message]],
                                 elem_id="chat-box",
                                 label="聊天历史")
            query = gr.Textbox(label="输入问题",
                               placeholder="请输入提问内容,按回车进行提交")
            clear_button = gr.Button("重新对话", visible=True)

        with gr.Column(scale=5):
            model = gr.Radio(models,
                            label="请选择使用模型",
                            value=models[0], interactive=True)


            temperature = gr.Slider(0,1,
                                    value=0.8,
                                    step=0.1,
                                    label="Temperature",
                                    interactive=True)

            history_turns = gr.Slider(1, 20,
                                 value=5,
                                 step=1,
                                 label="对话轮数",
                                 info='记录历史对话轮数',
                                 interactive=True)

            settings_button = gr.Button("更新设置", visible=True)

            settings_button.click(fn=setting_change, inputs=[model, temperature, history_turns, chatbot], outputs=[chatbot])

    query.submit(respond, [query, model, temperature, history_turns, chatbot], [query, chatbot])

    clear_button.click(fn=clear,
                    inputs=[chatbot],
                    outputs=[chatbot])

demo.launch()

需要的库,requirement.txt 文件文章来源地址https://www.toymoban.com/news/detail-647955.html

langchain
openai
gradio

到了这里,关于基于Gradio的GPT聊天程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于星火和Gradio的聊天机器人

    星火大模型官网:https://xinghuo.xfyun.cn/ conda create -n Gradio python=3.8 pip install gradio 中间遇到os报错,解决方案: pip install aiofiles==23.2.1 SparkDesk.py: 下面代码是一个用于与基于WebSocket的聊天机器人API进行交互的Python实现。下面逐个解释代码的每个部分: 代码导入了几个模块,用于

    2024年02月13日
    浏览(16)
  • [python] 基于Gradio可视化部署机器学习应用

    Gradio是一个开源的Python库,用于构建机器学习和数据科学演示应用。有了Gradio,你可以围绕你的机器学习模型或数据科学工作流程快速创建一个简单漂亮的用户界面。Gradio适用于以下情况: 为客户/合作者/用户/学生演示你的机器学习模型。 通过自动共享链接快速部署你的模

    2023年04月09日
    浏览(21)
  • openai开放gpt3.5-turbo模型api,使用python即可写一个基于gpt的智能问答机器人

    使用 pip 安装openai库,注意 gpt3.5-turbo 模型需要 python=3.9 的版本支持,本文演示的python版本是 python==3.10.10 需要提前在 openai 官网上注册好账号,然后打开 https://platform.openai.com/account/api-keys 就可以创建接口 keys 每个账号注册完成会有18美元在里面,每次调用api,就会花费里面的

    2024年02月06日
    浏览(18)
  • Chat-GPT 聚合平台 Poe:集成多个 AI 聊天机器人

    Poe 是知名问答社区 Quora 推出的 AI 平台——开放探索平台 (Platform for Open Exploration, Poe)。Poe 集成了多个基于大型语言模型的聊天机器人,包括 ChatGPT,以及 Sage、Claude、Dragonfly 等。每个机器人都有独特的个性,用户可根据其特性和用途来切换使用。 Claude:更擅长创意写作任务

    2024年02月11日
    浏览(22)
  • 开源了,我做了一个基于GPT的桌宠聊天系统:Pet-GPT!

    最近chatgpt的热度高居不下。作为一个深度成谜者,发现大部分开发者在调用GPT的时候要不就是基于Tauri做本地窗口外接网页,要不就是web直接展示。在沉思苦想一段时间后,才发现好像没啥什么人用pyqt做啊?特别是没人用桌面宠物(想起了当初QQ宠物,怀念啊)来访问。 既然

    2023年04月17日
    浏览(12)
  • GPT4+Python近红外光谱数据分析及机器学习与深度学习建模

    详情点击链接:GPT4+Python近红外光谱数据分析及机器学习与深度学习建模 第一:GPT4 1、ChatGPT(GPT-1、GPT-2、GPT-3、GPT-3.5、GPT-4模型的演变) 2、ChatGPT对话初体验 3、GPT-4与GPT-3.5的区别,以及与国内大语言模型(文心一言、星火等)的区别 4、ChatGPT科研必备插件(Data Interpreter、

    2024年01月25日
    浏览(23)
  • 基于GPT3.5模型搭建的聊天系统BAIChat

    需要特殊的网络环境。如果是小白,不会搭建网络环境,可以关注我私信我,在线帮你搭建网络环境。 https://chatbot.theb.ai/#/chat/1686535596065 研究背景 最近的研究表明,在 pretrain+finetune 模型中,当模型适应了下游任务的训练集后,往往会失去对下游任务的 OOD(out-of-distribution)

    2024年02月11日
    浏览(10)
  • 独立部署基于apiKey或accessToken的GPT聊天工具

     最近chat-GPT的强大功能让人新潮澎湃,大家都在讨论,都想尝试一下。。。 奈何用不了!自己整整,内附具体步骤,如何用手机验证码注册,如何自己搭一个前端,nodejs后端,可以访问自己的GTP。  先上图: 自己搭的: 官网: 步骤一、用个代理 因为没这个无法访问GPT官网

    2023年04月08日
    浏览(10)
  • GPT应用开发:运行你的第一个聊天程序

    本系列文章介绍基于OpenAI GPT API开发大模型应用的方法,适合从零开始,也适合查缺补漏。 本文首先介绍基于聊天API编程的方法。 很多机器学习框架和类库都是使用Python编写的,OpenAI提供的很多例子也是Python编写的,所以为了方便学习,我们这个教程也使用Python。 Python环境

    2024年01月16日
    浏览(34)
  • “私密离线聊天新体验!llama-gpt聊天机器人:极速、安全、搭载Llama 2,尽享Code Llama支持!”

    一个自托管的、离线的、类似chatgpt的聊天机器人。由美洲驼提供动力。100%私密,没有数据离开您的设备。 https://github.com/getumbrel/llama-gpt/assets/10330103/5d1a76b8-ed03-4a51-90bd-12ebfaf1e6cd “私密离线聊天新体验!llama-gpt聊天机器人 Currently, LlamaGPT supports the following models. Support for runnin

    2024年02月04日
    浏览(18)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包