文章目录
前言
上一节介绍了interface类,本节介绍Gradio 的ChatInterface类,ChatInterface 是 Gradio 用于创建聊天机器人 UI 的高级抽象,允许您通过几行代码围绕聊天机器人模型创建基于 Web 的演示。只需要一个参数:fn,它采用一个函数,根据用户输入和聊天历史记录来控制聊天机器人的响应。其他参数可用于控制演示的外观和行为。
一、ChatInterface初始化参数介绍
类别参数描述核心参数
fn
需要包装的用户界面函数,接收
message
和
history
参数,返回字符串响应
chatbot
定义聊天机器人的组件,可传入
gr.Chatbot
实例或字符串名称
textbox
定义文本输入框的组件,可传入
gr.Textbox
实例或字符串名称界面和样式参数
title
聊天界面的标题
description
聊天界面的描述
theme
聊天界面的主题
css
自定义CSS样式
examples
示例输入,帮助用户了解如何与聊天机器人交互
cache_examples
是否缓存示例输入控制按钮参数
submit_btn
提交按钮的文本或禁用状态
retry_btn
重试按钮的文本或禁用状态
undo_btn
撤销按钮的文本或禁用状态
clear_btn
清除按钮的文本或禁用状态多模态功能参数
multimodal
是否启用多模态功能,允许上传图片或文件
additional_inputs
添加额外的输入组件,可传入组件实例或字符串名称
additional_inputs_accordion_name
设置额外输入组件的手风琴标签名称其他参数
stop_btn
自定义“停止”按钮的外观和行为
placeholder
聊天机器人输入框的占位符文本
height
聊天机器人组件的高度
二、示例
代码如下(示例):随机回答,通过这个示例,可以看到ChatInterface的基本使用方法
import random
import gradio as gr
def random_response(message, history):return random.choice(["Yes","No"])
demo = gr.ChatInterface(random_response)if __name__ =="__main__":
demo.launch()
代码如下(示例):多模态
import gradio as gr
def echo(message, history):return message["text"]
demo = gr.ChatInterface(
fn=echo,
examples=[{"text":"hello"},{"text":"hola"},{"text":"merhaba"}],
title="Echo Bot",
multimodal=True,)
demo.launch()
总结
本章介绍了ChatInterface 接口类,有了他,可以通过几行代码围绕聊天机器人模型创建基于 Web 的演示。
版权归原作者 叶与花语 所有, 如有侵权,请联系我们删除。