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
英文地址,請注明出處:http://en.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;需要額…