Gradio Agents & MCP 黑客松

获奖者
Gradio logo
  1. 路由
  2. mount_gradio_app

Gradio 新手?从这里开始:入门指南

查看发布历史

mount_gradio_app

gradio.mount_gradio_app(···)

描述

将 gradio.Blocks 挂载到现有的 FastAPI 应用程序上。

示例用法

from fastapi import FastAPI
import gradio as gr
app = FastAPI()
@app.get("/")
def read_main():
    return {"message": "This is your main app"}
io = gr.Interface(lambda x: "Hello, " + x + "!", "textbox", "textbox")
app = gr.mount_gradio_app(app, io, path="/gradio")
然后在终端运行 uvicorn run:app 并导航到 https://:8000/gradio。

初始化

参数
🔗
app: fastapi.FastAPI

父级 FastAPI 应用程序。

🔗
blocks: gradio.Blocks

要挂载到父级应用程序的 blocks 对象。

🔗
path: str

Gradio 应用程序将挂载到的路径,例如 “/gradio”。

🔗
server_name: str
默认值 = "0.0.0.0"

运行 Gradio 应用程序的服务器名称。

🔗
server_port: int
默认值 = 7860

运行 Gradio 应用程序的端口。

🔗
show_api: bool | None
默认值 = None

如果为 False,则隐藏 Gradio 界面上的“通过 API 使用”按钮。

🔗
app_kwargs: dict[str, Any] | None
默认值 = None

要传递给底层 FastAPI 应用程序的额外关键字参数,以参数键和参数值字典的形式。例如,`{"docs_url": "/docs"}`

🔗
auth: Callable | tuple[str, str] | list[tuple[str, str]] | None
默认值 = None

如果提供,访问 Gradio 应用程序所需的用户名和密码(或用户名-密码元组列表)。也可以提供一个函数,该函数接收用户名和密码,并在登录有效时返回 True。

🔗
auth_message: str | None
默认值 = None

如果提供,此 Gradio 应用程序登录页面上显示的 HTML 消息。

🔗
auth_dependency: Callable[[fastapi.Request], str | None] | None
默认值 = None

一个函数,接收 FastAPI 请求并返回一个字符串用户 ID 或 None。如果该函数对特定请求返回 None,则该用户无权访问 Gradio 应用程序(他们将看到 401 未授权响应)。用于外部身份验证系统,如 OAuth。不能与 `auth` 一起使用。

🔗
root_path: str | None
默认值 = None

此 FastAPI 应用程序的公共部署对应的子路径。例如,如果应用程序在“https://example.com/myapp”上提供服务,则 `root_path` 应设置为“/myapp”。可以提供以 http:// 或 https:// 开头的完整 URL,该 URL 将被完整使用。通常情况下,不需要提供此参数(即使您使用自定义 `path`)。但是,如果您通过代理服务器提供 FastAPI 应用程序,代理可能不会在请求头中提供 Gradio 应用程序的完整路径。在这种情况下,您可以在此处提供根路径。

🔗
allowed_paths: list[str] | None
默认值 = None

此 Gradio 应用程序允许提供服务的完整文件路径或父目录列表。必须是绝对路径。警告:如果您提供目录,则这些目录或其子目录中的任何文件都可供您的应用程序的所有用户访问。

🔗
blocked_paths: list[str] | None
默认值 = None

此 Gradio 应用程序不允许提供服务的完整文件路径或父目录列表(即,您的应用程序用户不允许访问)。必须是绝对路径。警告:此设置优先于 `allowed_paths` 以及 Gradio 默认公开的所有其他目录。

🔗
favicon_path: str | None
默认值 = None

如果提供文件路径(.png、.gif 或 .ico),它将用作此 Gradio 应用程序页面的网站图标。

🔗
show_error: bool
默认值 = True

如果为 True,Gradio 应用程序中的任何错误都将显示在警报模态框中,并打印在浏览器控制台日志中。否则,错误将仅在运行 Gradio 应用程序的终端会话中可见。

🔗
max_file_size: str | int | None
默认值 = None

可上传的最大文件大小(字节)。可以是形如“<值><单位>”的字符串,其中值是任意正整数,单位是“b”、“kb”、“mb”、“gb”、“tb”之一。如果为 None,则不设置限制。

🔗
ssr_mode: bool | None
默认值 = None

如果为 True,Gradio 应用程序将使用服务器端渲染模式呈现,这通常性能更好并提供更好的 SEO,但这需要系统上安装 Node 20+。如果为 False,应用程序将使用客户端渲染模式呈现。如果为 None,将使用 GRADIO_SSR_MODE 环境变量或默认为 False。

🔗
node_server_name: str | None
默认值 = None

用于 SSR 的 Node 服务器名称。如果为 None,将使用 GRADIO_NODE_SERVER_NAME 环境变量或在系统中搜索 Node 二进制文件。

🔗
node_port: int | None
默认值 = None

Node 服务器应运行的端口。如果为 None,将使用 GRADIO_NODE_SERVER_PORT 环境变量或查找空闲端口。

🔗
enable_monitoring: bool | None
默认值 = None
🔗
pwa: bool | None
默认值 = None
🔗
i18n: I18n | None
默认值 = None

如果提供,此 Gradio 应用程序使用的 i18n 实例。

🔗
mcp_server: bool | None
默认值 = None

如果为 True,MCP 服务器将在 Gradio 应用程序上启动。如果为 None,将使用 GRADIO_MCP_SERVER 环境变量或默认为 False。