交互式AI技术与模型部署:使用Gradio完成一项简单的交互式界面

news2024/9/20 16:32:36

下面的这段代码使用Gradio库创建了一个简单的交互式界面。用户可以输入名称、选择是早上还是晚上、拖动滑动条来选择温度,然后点击"Launch"按钮,界面会显示相应的问候语和摄氏度温度。例如,如果用户输入"John",勾选复选框表示是早上,滑动条选择30度,界面可能会显示"Good morning John. It is 30 degrees today."并返回摄氏度温度值。

完整实现代码:

import gradio as gr

def greet(name, is_morning, temperature):
    salutation = "Good morning" if is_morning else "Good evening"
    greeting = f"{salutation} {name}. It is {temperature} degrees today"
    celsius = (temperature - 32) * 5 / 9
    return greeting, round(celsius, 2)

demo = gr.Interface(
    fn=greet,
    inputs=["text", "checkbox", gr.Slider(0, 100)],
    outputs=["text", "number"],
)
demo.launch()

运行结果:

在这里插入图片描述
上述完整代码解释:
import gradio as gr: 导入Gradio库并将其重命名为gr,这个库用于构建交互式界面。

def greet(name, is_morning, temperature):: 定义了一个名为greet的函数,该函数接受三个参数:name(名称)、is_morning(是否为早上)、temperature(温度)。

salutation = “Good morning” if is_morning else “Good evening”: 根据is_morning参数的值,选择不同的问候语,如果is_morning为True,将使用"Good morning",否则使用"Good evening"。

greeting = f"{salutation} {name}. It is {temperature} degrees today": 根据之前选择的问候语,创建一个完整的问候语,并包含温度信息。

celsius = (temperature - 32) * 5 / 9: 将温度从华氏度转换为摄氏度,并将结果存储在变量celsius中。

return greeting, round(celsius, 2): 函数返回两个值,第一个是问候语字符串,第二个是转换后的温度(保留两位小数)。

demo = gr.Interface(…: 创建一个Gradio的接口对象,用于展示greet函数的交互界面。

fn=greet: 将刚才定义的greet函数作为接口的处理函数。

inputs=[“text”, “checkbox”, gr.Slider(0, 100)]: 定义了输入部分的组件。具体来说,这个接口有三个输入组件:一个文本框(用于输入名称)、一个复选框(用于选择是早上还是晚上)、一个滑动条(用于选择温度,范围从0到100)。

outputs=[“text”, “number”]: 定义了输出部分的组件。接口会返回一个文本输出和一个数字输出,分别对应问候语和摄氏度温度。

demo.launch(): 启动交互式界面,用户可以通过这个界面输入信息并查看结果。

下面的中文编程:

import gradio as gr

def 问候(name, 是否早上, 温度):
    问候语 = "早上好" if 是否早上 else "晚上好"
    问候消息 = f"{问候语} {name}。今天的温度是 {温度} 度"
    摄氏温度 = (温度 - 32) * 5 / 9
    return 问候消息, round(摄氏温度, 2)

演示 = gr.Interface(
    fn=问候,
    inputs=["text", "checkbox", gr.Slider(0, 100)],
    outputs=["text", "number"],
)
演示.launch()

完整代码运行截图:
在这里插入图片描述
关于上述提及按钮的说明:
在上述代码中,提交按钮的功能并未在代码中直接体现。提交按钮是Gradio提供的默认功能,用于触发界面上输入的数据传递给后台的函数进行处理,然后将处理结果显示在输出部分。具体的提交功能由Gradio库内部实现,开发者不需要显式地在代码中编写提交按钮的逻辑。

当用户在界面上输入数据(例如名称、是否早上、温度),然后点击提交按钮(通常是"Launch"按钮),Gradio库会自动调用指定的处理函数(这里是问候函数),将输入数据传递给这个函数进行处理。处理完成后,Gradio将显示函数的返回结果在输出部分(即问候消息和摄氏度温度)。

所以,虽然在代码中没有显式编写提交按钮的功能,但是Gradio库为开发者提供了这个默认功能,使得交互式界面能够与后台函数进行交互,并展示处理结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/802729.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

iperf3 编译安装及网讯WX1860千兆网口测试

iperf3 编译安装及网讯1860千兆网口测试 编译安装 安装包下载地址:https://github.com/esnet/iperf/archive/refs/tags/3.8.tar.gz 将安装包iperf-3.8.tar.gz拷贝测试系统盘桌面,使用如下命令进行编译安装: tar zxvf iperf-3.8.tar.gz cd iperf-3.8 ./configure make s…

LeetCode-222-完全二叉树的节点个数

一:题目描述: 给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节…

点餐系统测试报告

文章目录 一、项目介绍项目简介功能介绍 二、测试计划1 功能测试功能测试用例发现的 BUG 和 解决方法注册功能上传图片功能 2 自动化测试3 性能测试 一、项目介绍 项目简介 该项目是一个门店点餐系统,采用前后端分离的方式实现,后端框架是SSM&#xff…

R-并行计算

本文介绍在计算机多核上通过parallel包进行并行计算。 并行计算运算步骤: 加载并行计算包,如library(parallel)。创建几个“workers”,通常一个workers一个核(core);这些workers什么都不知道,它们的全局环…

第一次后端复习整理(JVM、Redis、反射)

1. JVM 文章仅为自身笔记 详情查看一篇文章掌握整个JVM,JVM超详细解析!!! 1.1 什么是JVM jvm是Java虚拟机 1.2 Java文件的编译过程 程序员编写代码形成.java文件经过javac编译成.class文件再通过JVM的类加载器进入运行时数据…

Java云电子病历源码:电子病历在线编辑

SaaS模式Java版云HIS系统的子系统云电子病历系统源码,本系统采用前后端分离模式开发和部署,支持电子病历四级。 电子病历系统主要为医院住院部提供医疗记录依据,协助医务人员在医疗活动过程中通过信息化手段生成的文字、图表、图形、数据、影…

华为数通HCIP-EVPN基础

MP-BGP MP-BGP(Multiprotocol Extensions for BGP-4)在RFC4760中被定义,用于实现BGP-4的扩展以允许BGP携带多种网络层协议(例如IPv6、L3VPN、EVPN等)。这种扩展有很好的后向兼容性,即一个支持MP-BGP的路由…

Java Swing Mysql实现的电影票订票管理系统

Java swing mysql实现的电影票订票管理系统,主要实现的功能有:用户端:登录注册、查看电影信息、选择影院场次、选座购票、查看自己的影票、评价电影等功能。管理员:登录、电影管理、影院管理、场次管理、影票管理等功能。 需要源…

echarts统计图x轴文字过长,以省略号显示,鼠标经过提示全部内容

效果图如下 主要代码如下: //1.js代码内加入extension方法,chart参数是echarts实例 function extension(chart) {// 注意这里,是以X轴显示内容过长为例,如果是y轴的话,需要把params.componentType xAxis改为yAxis/…

Shell脚本学习-read命令

Shell变量可以直接赋值或者脚本传参的方式,还可以使用echo命令从标准输入中获得,read为bash内置命令。 [rootvm1 ~]# type echo echo is a shell builtin常用参数: -p prompt:设置提示信息,我们看help内容的信息&…

学习笔记|百度文心千帆大模型平台测试及页面交互简易代码

目前百度文心一言的内测资格申请相当拉胯,提交申请快3个月,无任何音讯。不知道要等到什么时候。 百度适时开放了百度文心千帆大模型平台,目前可以提交申请测试,貌似通过的很快,已取得测试申请资格,可以用起…

产品经理如何平衡用户体验与商业价值?

近期负责前端产品设计工作的小李忍不住抱怨:公司总是要求客户第一,实现客户良好体验,但在实际操作过程中,面向用户 体验提升的需求,研发资源计划几乎很难排上,资源都放在公司根据业务价值排序的需求…

MySQL笔记——表的分组查询、表的分页查询、表的约束、数据库设计

系列文章目录 MySQL笔记——MySQL数据库介绍以及在Linux里面安装MySQL数据库,对MySQL数据库的简单操作,MySQL的外接应用程序使用说明 MySQL笔记——表的修改查询相关的命令操作 MySQL案例——多表查询以及嵌套查询​​​​​​ MySQL笔记——数据库当…

室外高精度人员定位系统解决方案:实现安全与效率的完美平衡

在如今高度竞争的商业环境中,室外高精度人员定位系统已成为许多行业提高安全性和效率的关键工具。 对此,华安联大推出室外高精度人员定位系统解决方案,该方案通过融合多种定位技术和优化算法,实现高精度定位,并通过真…

【Docker】Docker容器与虚拟机的对比、三要素、架构和镜像加速器的详细讲解

🚀欢迎来到本文🚀 🍉个人简介:陈童学哦,目前学习C/C、算法、Python、Java等方向,一个正在慢慢前行的普通人。 🏀系列专栏:陈童学的日记 💡其他专栏:CSTL&…

亚马逊建议卖家使用“客户评论”选项卡提高产品评级!

亚马逊美国站发布公告称客户评论见解选项卡通过分析评论来帮助卖家推出评价较高的产品,以更好地了解客户偏好和当前趋势,从而提高产品评级,以下是公告内容: 客户评论见解选项卡通过分析评论来帮助卖家推出评价较高的产品&#xf…

一份百万收藏的《从零开始写分布式服务框架》称霸Github榜首!

前言 架构说简单点就是一堆技术、框架、工具的组合,至于怎么组合,这就非常考验架构师的经验和水平。一个优秀的架构,可以让开发效率变得更加高效,为企业节省更多的成本。程序员可将自己更多的精力放在业务需求的实现上&#xff0…

Redis 集群部署

Redis 3.0 版本后正式推出 Redis 集群模式,该模式是 Redis 的分布式的解决方案,是一个提供在多个 Redis 节点间共享数据的程序集,且 Redis 集群是去中心化的,它的每个 Master 节点都可以进行读写数据,每个节点都拥有平等的关系,每个节点都保持各自的数据和整个集群的状态…

基于YOLOv8开发构建蝴蝶目标检测识别系统

在前面的一篇博文中已经很详细地描述了如何基于YOLOv8开发构建自己的个性化目标检测模型,感兴趣的话可以看下: 《基于YOLOv8开发构建目标检测模型超详细教程【以焊缝质量检测数据场景为例】》 本文的主要目的就是基于YOLOv8来开发构建细粒度的蝴蝶目标…

【高压架构】AP5199S LED平均电流型恒流驱动IC 0.01调光 景观舞台汽车灯驱动照明

说明 AP5199S 是一款外围电路简单的多功能平均电流型 LED 恒流驱动器,适用于宽电压范围的非隔离式大功率恒流 LED 驱动领域。芯片 PWM 端口支持超小占空比的 PWM 调光,可响应 60ns 脉宽。为客户提供解决方案,限度地发挥灯具优势,…