gradio作为原型工具

存在的问题,页面的展示和value不是同一个值的问题,比如说选中了北京,但实际上后端想要的是110000地区码。

在实际开发中,前端展示给用户的是可读的地区名称(如“北京”),而背后处理时通常需要的是对应的唯一标识符(如 areaid)。因此,我们需要在 Gradio 前端将“地区名称”映射为 areaid,然后传递给后端函数。

<option value="idxxxx">文本</option>

demo1

在这里插入图片描述

import gradio as gr# 定义学段选项
segment_options = ["不限", "小学", "初中", "高中", "中职"]# 定义类别选项
category_options = ["不限", "课件", "教案", "学案", "作业", "试卷", "题集", "素材", "示范课", "备课包"]# 定义地区选项
region_options = ["不限","全国","北京","天津","河北","山西","内蒙古","辽宁","吉林","黑龙江","上海","江苏","浙江","安徽","福建","江西","山东","河南","湖北","湖南","广东","广西","海南","重庆","四川","贵州","云南","西藏","甘肃","青海","宁夏","新疆","台湾","香港","澳门"
]# 定义等级选项
level_options = ["不限", "免费", "普通", "特供", "精品", "教辅"]# 定义更多选项
more_options = ["年份", "年级"]# 定义函数,用于处理用户输入
def filter_resources(segment, category, region, level, more):# 这里可以添加逻辑来根据用户选择过滤资源result = f"您选择了:\n学段: {segment}\n类别: {category}\n地区: {region}\n等级: {level}\n更多: {more}"return result# 创建Gradio界面
with gr.Blocks() as demo:gr.Markdown("### 资源筛选工具")# 学段选择segment = gr.Radio(segment_options, label="学段:", value="不限")# 类别选择category = gr.Radio(category_options, label="类别:", value="不限")# 地区选择region = gr.Dropdown(region_options, label="地区:", value="不限")# 等级选择level = gr.Radio(level_options, label="等级:", value="不限")# 更多选项(下拉菜单)more = gr.Dropdown(more_options, label="更多:", value="年份")# 提交按钮submit_button = gr.Button("提交")# 输出结果output = gr.Textbox(label="筛选结果")# 绑定事件submit_button.click(fn=filter_resources,inputs=[segment, category, region, level, more],outputs=output)# 启动Gradio应用
demo.launch()
import gradio as gr# 定义选项:使用 (显示文本, 实际值) 的元组
segment_options = [("不限", "all"),("小学", "primary"),("初中", "middle"),("高中", "high"),("中职", "vocational")
]category_options = [("不限", "all"),("课件", "kejian"),("教案", "jiaoan"),("学案", "xuean"),("作业", "zuoye"),("试卷", "shijuan"),("题集", "tiji"),("素材", "sucai"),("示范课", "shifan"),("备课包", "beike")
]# 地区:显示名称,返回areaid(整数或字符串均可)
region_options = [("不限", 0),("北京", 110000),("天津", 120000),("河北", 130000),("山西", 140000),("内蒙古", 150000),("辽宁", 210000),("吉林", 220000),("黑龙江", 230000),("上海", 310000),("江苏", 320000),("浙江", 330000),("安徽", 340000),("福建", 350000),("江西", 360000),("山东", 370000),("河南", 410000),("湖北", 420000),("湖南", 430000),("广东", 440000),("广西", 450000),("海南", 460000),("重庆", 500000),("四川", 510000),("贵州", 520000),("云南", 530000),("西藏", 540000),("甘肃", 620000),("青海", 630000),("宁夏", 640000),("新疆", 650000),("台湾", 710000),("香港", 810000),("澳门", 820000),
]level_options = [("不限", "all"),("免费", "free"),("普通", "normal"),("特供", "tegong"),("精品", "jingpin"),("教辅", "jiaofu")
]more_options = [("年份", "year"),("年级", "grade")
]# 后端函数:接收实际值(如areaid),无需查表
def filter_resources(segment, category, region_areaid, level, more):result = f"""
接收到的后端参数:
学段编码: {segment}
类别编码: {category}
地区areaid: {region_areaid}
等级编码: {level}
筛选维度: {more}
""".strip()return resultwith gr.Blocks() as demo:gr.Markdown("### 资源筛选工具(显示名 ≠ 实际值)")segment = gr.Radio(segment_options, label="学段:", value="all")category = gr.Radio(category_options, label="类别:", value="all")region = gr.Dropdown(region_options, label="地区:", value=0)  # value是areaidlevel = gr.Radio(level_options, label="等级:", value="all")more = gr.Dropdown(more_options, label="更多:", value="year")submit_button = gr.Button("提交")output = gr.Textbox(label="后端接收到的数据")submit_button.click(fn=filter_resources,inputs=[segment, category, region, level, more],outputs=output)demo.launch()

demo2

在这里插入图片描述

import gradio as gr# 定义搜索函数(模拟处理逻辑)
def search(all_keywords,any_keywords,exclude_keywords,author,post_time,forum,keyword_location,sort_by,items_per_page
):# 模拟搜索逻辑result = f"""搜索条件:- 包含全部关键词: {all_keywords}- 包含至少一个关键词: {any_keywords}- 不包含关键词: {exclude_keywords}- 发帖作者: {author}- 发帖时间: {post_time}- 所属版块: {forum}- 关键词位置: {keyword_location}- 排序方式: {sort_by}- 每页显示条数: {items_per_page}"""return result# 创建界面
with gr.Blocks() as demo:gr.Markdown("### 使用以下条件来搜索")# 包含全部关键词all_keywords = gr.Textbox(label="包含全部关键词", placeholder="请输入")# 包含至少一个关键词any_keywords = gr.Textbox(label="包含至少一个关键词", placeholder="请输入")# 不包含关键词exclude_keywords = gr.Textbox(label="不包含关键词", placeholder="请输入")gr.Markdown("### 使用以下条件来缩小搜索结果范围")# 发帖作者author = gr.Textbox(label="发帖作者", placeholder="请输入")# 发帖时间post_time = gr.Dropdown(choices=["全部时间", "最近一天", "最近一周", "最近一个月"],label="发帖时间",value="全部时间")# 所属版块forum = gr.Dropdown(choices=["所有版块", "技术讨论", "生活分享", "娱乐资讯"],label="所属版块",value="所有版块")# 关键词位置keyword_location = gr.Radio(choices=["帖子的任何地方", "仅限帖子标题", "仅限帖子正文"],label="关键词位置",value="帖子的任何地方")gr.Markdown("### 其他")# 排序方式sort_by = gr.Radio(choices=["按相关度排序", "按发布时间排序"],label="排序方式",value="按相关度排序")# 每页显示条数items_per_page = gr.Radio(choices=["每页显示 15 条", "每页显示 30 条", "每页显示 50 条"],label="每页显示条数",value="每页显示 15 条")# 确定按钮submit_button = gr.Button("确定")# 取消按钮cancel_button = gr.Button("取消")# 输出结果output_text = gr.Textbox(label="搜索结果", interactive=False)# 绑定事件submit_button.click(fn=search,inputs=[all_keywords, any_keywords, exclude_keywords,author, post_time, forum, keyword_location,sort_by, items_per_page],outputs=output_text)# 简化取消按钮的实现def cancel_action():# 在这里可以添加任何取消操作,例如重置输入或关闭应用return "", "", "", "", "全部时间", "所有版块", "帖子的任何地方", "按相关度排序", "每页显示 15 条"cancel_button.click(fn=cancel_action,inputs=None,outputs=[all_keywords, any_keywords, exclude_keywords, author, post_time, forum, keyword_location, sort_by, items_per_page])# 启动界面
demo.launch()

原始图
在这里插入图片描述

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

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

相关文章

计算声子谱

准备的还是vasp的必备文件&#xff1a;POSCAR POTCAR KPOINTS&#xff0c;剩下需要的INCAR、band文件下面代码可以生成&#xff1a;#!/bin/bash if [ ! -f band.conf ];then cat >>band.conf <<EOF ATOM_NAME Ti Al B DIM 1 1 1 BAND 0.0 0.0 0.0 0.5 -0.5 0.5…

深度学习 目标检测常见指标和yolov1分析

目录 一、常见指标 1、IoU 2、Confidence置信度 3、精准度和召回率 4、mAP 5、NMS方法 6、检测速度 前传耗时 FPS 7、FLOPs 二、YOLOv1 检测流程 1、图像网格划分 2、类别预测 3、输出张量 损失函数 优点 缺点 如题&#xff0c;这篇介绍一下目标检测中常见的…

31. 伪类和伪元素区别

总结 选择对象不同内容说明伪类作用对象元素的状态或位置伪元素作用对象元素的一部分内容或虚拟内容是否新增节点均不新增节点常用符号:&#xff08;伪类&#xff09;、::&#xff08;伪元素&#xff09;推荐场景伪类用于交互与状态控制&#xff1b;伪元素用于样式修饰与内容插…

ChatGPT、Playground手动模拟Agent摘要缓冲混合记忆功能

01. 摘要缓冲混合记忆 摘要缓冲混合记忆中&#xff0c;所需的模块有&#xff1a; chat_message_history&#xff1a;存储历史消息列表。moving_summary_buffer&#xff1a;移除消息的汇总字符串。summary_llm&#xff1a;生成摘要的 LLM&#xff0c;接收 summary&#xff08;…

全国青少年信息素养大赛(无人飞行器主题赛(星际迷航)游记)

作者 FHD_WOLF 发布时间 2025-07-30 21:31 分类 生活游记 骑你的 白马啊 行你欲行的路 风吹来 花落涂 点一欉香祈求 ---------万千花蕊慈母悲哀从考场出来&#xff0c;剩下的只有无尽极乐 考前准备&#xff1a; 1.电脑充电。 &#xff08;这个赛项需要自带设备&#x…

Kubernetes (K8s) 部署资源的完整配置OceanBase

Kubernetes Deployment 配置&#xff08;oceanbase-deployment.yaml&#xff09; # oceanbase-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata:name: oceanbase-deployment spec:replicas: 1selector:matchLabels:app: oceanbasetemplate:metadata:labels:app…

ACS-电机控制Buffer-任意路径规划(PVSPLINE绘制圆形)

该程序是一个双轴运动&#xff0c;绘制圆形 原始程序&#xff08;可以直接使用&#xff09; GLOBAL INT X1,Y1,ii GLOBAL REAL MY_ARRAY(4)(12) GLOBAL REAL piX1 0; Y1 1 ! Axis assignment pi ACOS(-1) ! Shortcut for generating piii 0 LOOP 12MY_ARRAY(0)(ii) COS(…

MongoDB Change Streams 实时数据变更流处理实战指南

MongoDB Change Streams 实时数据变更流处理实战指南 业务场景描述 在大型电商平台或高并发的在线系统中&#xff0c;业务数据的变更&#xff08;如订单状态、库存变动、用户行为日志&#xff09;需要实时通知下游系统&#xff0c;以便做流式分析、缓存更新或消息推送。传统的轮…

TIME WEAVER: A Conditional Time Series Generation Model论文阅读笔记

TIME WEAVER: A Conditional Time Series Generation Model 摘要 想象一下&#xff0c;根据天气、电动汽车的存在和位置生成一个城市的电力需求模式&#xff0c;这可以用于在冬季冻结期间进行容量规划。这样的真实世界的时间序列通常包含配对的异构上下文元数据&#xff08;天气…

Day 4-2: PyTorch基础入门 - 从NumPy到深度学习的桥梁

Day 4-2: PyTorch基础入门 - 从NumPy到深度学习的桥梁 📚 核心概念(5分钟理解) 一句话定义 PyTorch是Facebook开发的深度学习框架,将NumPy的数组计算能力扩展到GPU,并加入了自动微分功能,让构建和训练神经网络变得简单直观。 为什么重要 GPU加速:比CPU快10-100倍的矩…

法式基因音响品牌SK(SINGKING AUDIO)如何以硬核科技重塑专业音频版图

在专业音响的竞技场&#xff0c;当多数品牌还在功率参数上缠斗时&#xff0c;一个流淌着法兰西血液的品牌——SK&#xff08;SINGKING AUDIO&#xff09;&#xff0c;早已构建起令人仰望的技术巅峰。它完美诠释了真正的声学艺术&#xff1a;不是技术的炫耀&#xff0c;而是让尖…

ZooKeeper学习专栏(五):Java客户端开发(原生API)详解

文章目录前言一、核心类解析1.1 ZooKeeper类 - 连接管理核心1.2 Watcher接口 - 事件处理核心二、原生API实践2.1 创建会话&#xff08;连接管理&#xff09;2.2 创建节点&#xff08;支持多种类型&#xff09;2.3 获取节点数据和状态信息2.4 修改节点数据&#xff08;版本控制&…

卸油管链接检测误报率↓76%:陌讯多模态融合算法实战解析

原创声明本文为原创技术解析&#xff0c;核心技术参数与架构设计引用自《陌讯技术白皮书》&#xff0c;禁止未经授权的转载与商用。一、行业痛点&#xff1a;卸油管链接检测的三大技术瓶颈在石化仓储与运输场景中&#xff0c;卸油管链接的密封性检测是保障安全生产的关键环节。…

MongoDB用户认证authSource

文章目录authSource遇到的问题authSource MongoDB用户认证逻辑与以往我认知的关系型数据库逻辑不太一样&#xff0c;多了一层用户与数据库关系的绑定。 在建立用户时&#xff0c;需要先指定数据库&#xff0c;则存在一个概念&#xff1a;用户归属于数据库。额外&#xff0c;依…

插件升级:Chat/Builder 合并,支持自定义 Agent、MCP、Rules

TRAE 插件全新升级&#xff0c;Chat、Builder 合并&#xff0c;支持自定义智能体、MCP 及自定义规则&#xff0c;体验对齐 IDE&#xff0c;现已上线 JetBrains 和 VSCode。 1. Chat/Builder 合并&#xff0c;一个对话框即可智能协作 在 TRAE 插件的 Chat 对话框中&#xff0…

【历史人物】【王安石】简历与生平

目录 一、王安石个人简历 二、个人主要经历 三、个人成就及影响 1、散文 2、诗歌 3、词 四、经典评价摘录 一、王安石个人简历 基本信息‌ 姓名&#xff1a;王安石&#xff0c;字介甫&#xff0c;号半山。小名獾郎 性别&#xff1a;男 年龄&#xff1a;1021年-1086年…

Codeforces Round 1040 (Div. 2) A - D题详细题解

本文为Codeforces Round 1040 (Div. 2) A - D题的详细题解, 觉得有帮助或者写的不错可以点个赞&#xff01; 目录 题目A: 题目大意: 解题思路: 代码(C): 题目B: 题目大意: 解题思路: 代码(C): 题目C: 题目大意: 解题思路: 代码(C): 题目D: 题目大意: 解题思路:…

数据结构 之 【排序】(计数排序)

目录 1.计数排序的思想 2.计数排序图解 3.计数排序代码逻辑 3.1求原数组最大最小值及计数数组的创建 3.2计数 3.3覆盖写 3.4释放资源 4.计数排序的注意事项 5.计数排序的时间复杂度与空间复杂度 以升序为例 1.计数排序的思想 前面我们学习的快排、归并排序、希尔排序.…

Ascend CANN/ACL API 模型部署加速最佳实践

1. 模型输入相关问题 图像尺寸信息 模型输入尺寸由原始模型决定,在转换时固定 图像尺寸信息是模型固有属性,不是转换时添加的 对于使用动态尺寸,可以在推理时自动根据当前的输入尺寸推导输出尺寸。 输入格式(NCHW/NHWC) --input_format 不同框架默认格式不同: Caffe: 支持…

QT信号和槽怎么传输自己定义的数据结构

在 Qt 中&#xff0c;信号&#xff08;Signal&#xff09;和槽&#xff08;Slot&#xff09;机制默认支持许多内置类型&#xff08;如 int、QString、QList 等&#xff09;&#xff0c;但如果要传输 自定义数据结构&#xff08;如结构体、类对象&#xff09;&#xff0c;需要额…