LLM--大模型快速展示(Gradio)

安装:pip install gradio

初始

  • 代码模版---> 创建页面模版
python 复制代码
import gradio as gr 

# 回调函数:具体处理函数
def greet(text):
    return "Hello World " + text + " !"

# 注意:inputs、outputs可以选择为text、image、音频
inface = gr.Interface(fn=greet, inputs="text", outputs="text")

# 创建
inface.launch()
  • 结果

创建输入与输出组件

了解即可,用到查

python 复制代码
# 定义输入组件列表 
input_list = [
    gr.Audio(sources=["microphone", "upload"], type="numpy", label="Audio File"),
    gr.Checkbox(label="Checkbox"),
    gr.ColorPicker(label="Color Picker"),
    gr.Dataframe(headers=["Col1", "Col2", "Col3"], label="Dataframe"), # 添加了列名以便显示
    gr.Dropdown(choices=["option 1", "option 2", "option 3"], label="Dropdown"),
    gr.File(label="File", type="binary"),
    gr.Image(sources=["webcam", "upload"], label="Image"),
    gr.Number(label="Number"),
    gr.Radio(choices=["option 1", "option 2", "option 3"], label="Radio"),
    gr.Slider(minimum=0, maximum=10, label="Slider", step=5),
    gr.Textbox(label="Textbox", lines=3, max_lines=7, placeholder="Placeholder"),
    gr.TextArea(label="Text Area", lines=3, max_lines=7, placeholder="Placeholder"),
    gr.Video(sources=["webcam", "upload"], label="Video"),
]

# 定义输出组件列表 
output_list = [
    gr.Textbox(label="Audio outputs", lines=7),
    gr.Textbox(label="Checkbox ouputs"),
    gr.Textbox(label="Color Picker ouputs"),
    gr.Textbox(label="Dataframe ouputs"),
    gr.Textbox(label="Dropdown ouputs"),
    gr.Textbox(label="File ouputs"),
    gr.Textbox(label="Image ouputs"),
    gr.Textbox(label="Number ouputs"),
    gr.Textbox(label="Radio ouputs"),
    gr.Textbox(label="Slider ouputs"),
    gr.Textbox(label="Textbox ouputs"),
    gr.Textbox(label="Text Area ouputs"),
    gr.Textbox(label="Video ouputs"),
]

# 创建页面
demo = gr.Interface(
    fn=process_all_inputs, 
    inputs=input_list, 
    outputs=output_list,
    title="Gradio 全组件演示",
    description="测试所有可用的输入和输出组件"
)

注意

  • 也可以不输入,写None即可
  • 不会问AI

布局容器组件

我学习感觉,适合个人搭建简单的页面,不适合复杂的,更不适合企业

  • 代码
python 复制代码
import gradio as gr 

gr.Blocks()
gr.Row()
gr.Column()
gr.Tab()
gr.Group()
gr.Accordion()
  • 讲解
组件 用途 说明
Blocks 根容器 所有自定义界面的基础,提供最大灵活性
Row 水平布局 内部组件横向排列
Column 垂直布局 内部组件纵向排列
Tab 标签页 创建可切换的多个页面
Group 分组 将组件视觉分组,无边框
Accordion 折叠面板 可展开/收起的分组容器
  • 一个简单的

代码

python 复制代码
import gradio as gr 

with gr.Blocks(title='演示') as demo: 
    with gr.Tab(label='txt2img'):
        with gr.Row():  # 水平布局
            with gr.Column(scale=15):   # 竖直布局
                txt1 = gr.Textbox(lines=2, label="")
                txt2 = gr.Textbox(lines=2, label="")
            with gr.Column(scale=1, min_width=1):
                button1 = gr.Button(value="1")
                button2 = gr.Button(value="2")
                button3 = gr.Button(value="3")
                button4 = gr.Button(value="4")
            with gr.Column():
                generate_button = gr.Button(value="Generate")
                with gr.Row():
                    dropdown1 = gr.Dropdown(["1", "2", "3"], label="Style1")
                    dropdown2 = gr.Dropdown(["1", "2", "3"], label="Style2")
                    
demo.launch()
  • 效果

对话

gr.ChatInterface:专为聊天机器人优化的快速开发工具

参数 类型 说明
fn 函数 必需,处理消息的函数,签名 (message, history) → str message:当前用户输入 history:历史输入
chatbot gr.Chatbot 自定义聊天窗口配置(高度、初始消息等)
textbox gr.Textbox 自定义输入框配置
title str 页面标题
theme str 主题样式("default" , "soft" , "monochrome" 等)
examples list 示例问题列表,用户可点击快速提问
retry_btn str/None 重试按钮文字,None 则隐藏
submit_btn str 提交按钮文字
undo_btn str/None 撤销最后一轮对话按钮
clear_btn str/None 清空全部对话按钮

案例

  • 代码
python 复制代码
import gradio as gr 

def Chatbot(message, history):
    
    response = "我是AI助手"
    
    return response

demo = gr.ChatInterface(
    fn=Chatbot,
    title="AI助手",
    examples=["你好", "介绍一下自己"],
    theme="soft"
)

demo.launch()
                    
  • 结果

参考资料

相关推荐
牛奶6 小时前
AI 能赚钱了——但赚的不是你
人工智能·ai编程·nvidia
凌杰7 小时前
AI 学习笔记:研究方法的演变
人工智能
半盏药香7 小时前
由于jinja2的starlette版本过高引发的问题:500 Server Error TypeError: unhashable type: 'dict'
人工智能
阿里云大数据AI技术7 小时前
MiniMax M3、Kimi K2.7 Code来啦!PAI已支持一键部署,开源前沿触手可及
人工智能·agent
百度Geek说7 小时前
AI Coding 的底层框架:一切优化都是在对抗熵增
人工智能
Java研究者7 小时前
AI智能体研发 | 什么是OpenAI API协议
人工智能·大模型·openai·api·agent·智能体
小七-七牛开发者7 小时前
Coding Agent 规则管理:CLAUDE.md、Skills、Hooks、Subagents 到底怎么选?
ai·大模型·agent·claude·token·loop·mcp·claudecode·ai coding
只是没名字8 小时前
Codex CLI Windows 新手安装教程:从 Node.js 到首次运行
人工智能
用户8630652696138 小时前
Krea 2 LoRA 训练全流程踩坑记录:从打标到双卡并行的 Windows 原生实战
人工智能
木雷坞10 小时前
让 AI 编程助手跑得起项目:Dev Container 实践记录
人工智能