Gradio 月活用户突破 100 万!

阅读更多
Gradio logo
  1. 附加功能
  2. 环境变量

环境变量

Gradio 中的环境变量提供了一种自定义应用程序和启动设置的方法,而无需更改代码库。在本指南中,我们将探讨 Gradio 中支持的关键环境变量以及如何设置它们。

关键环境变量

1. GRADIO_SERVER_PORT

  • 描述:指定 Gradio 应用程序将运行的端口。
  • 默认值7860
  • 示例:
    export GRADIO_SERVER_PORT=8000

2. GRADIO_SERVER_NAME

  • 描述:定义 Gradio 服务器的主机名。要使 Gradio 可以从任何 IP 地址访问,请将其设置为 "0.0.0.0"
  • 默认值"127.0.0.1"
  • 示例:
    export GRADIO_SERVER_NAME="0.0.0.0"

3. GRADIO_NUM_PORTS

  • 描述:定义启动 Gradio 服务器时尝试的端口数。
  • 默认值100
  • 示例:
    export GRADIO_NUM_PORTS=200

4. GRADIO_ANALYTICS_ENABLED

  • 描述:Gradio 是否应提供
  • 默认值"True"
  • 选项"True", "False"
  • 示例:
    export GRADIO_ANALYTICS_ENABLED="True"

5. GRADIO_DEBUG

  • 描述:启用或禁用 Gradio 中的调试模式。如果启用调试模式,主线程不会终止,从而允许在 Google Colab 等环境中打印错误消息。
  • 默认值0
  • 示例:
    export GRADIO_DEBUG=1

6. GRADIO_FLAGGING_MODE

  • 描述:控制用户是否可以在 Gradio 界面中标记输入/输出。有关更多详细信息,请参阅关于标记的指南
  • 默认值"manual"
  • 选项"never", "manual", "auto"
  • 示例:
    export GRADIO_FLAGGING_MODE="never"

7. GRADIO_TEMP_DIR

  • 描述:指定 Gradio 创建的临时文件存储目录。
  • 默认值:系统默认临时目录
  • 示例:
    export GRADIO_TEMP_DIR="/path/to/temp"

8. GRADIO_ROOT_PATH

  • 描述:设置 Gradio 应用程序的根路径。如果 Gradio 在反向代理之后运行,则此项非常有用。
  • 默认值""
  • 示例:
    export GRADIO_ROOT_PATH="/myapp"

9. GRADIO_SHARE

  • 描述:启用或禁用共享 Gradio 应用程序。
  • 默认值"False"
  • 选项"True", "False"
  • 示例:
    export GRADIO_SHARE="True"

10. GRADIO_ALLOWED_PATHS

  • 描述:设置 Gradio 允许服务的完整文件路径或父目录的列表。必须是绝对路径。警告:如果您提供目录,则这些目录或其子目录中的任何文件都可供您的应用程序的所有用户访问。可以通过用逗号分隔项目来指定多个项目。
  • 默认值""
  • 示例:
    export GRADIO_ALLOWED_PATHS="/mnt/sda1,/mnt/sda2"

11. GRADIO_BLOCKED_PATHS

  • 描述:设置 Gradio 不允许服务的完整文件路径或父目录的列表(即,您的应用程序的用户不允许访问)。必须是绝对路径。警告:优先于 allowed_paths 以及 Gradio 默认公开的所有其他目录。可以通过用逗号分隔项目来指定多个项目。
  • 默认值""
  • 示例:
    export GRADIO_BLOCKED_PATHS="/users/x/gradio_app/admin,/users/x/gradio_app/keys"

12. FORWARDED_ALLOW_IPS

  • 描述:这不是 Gradio 特有的环境变量,而是服务器配置中使用的环境变量,特别是 uvicorn,Gradio 在内部使用它。当在反向代理后面部署应用程序时,此环境变量非常有用。它定义了一个受信任的 IP 地址列表,用于将流量转发到您的应用程序。设置后,应用程序将信任来自这些 IP 地址的 X-Forwarded-For 标头,以确定发出请求的用户的原始 IP 地址。这意味着,如果您使用 gr.Request 对象的 client.host 属性,它将正确获取用户的 IP 地址,而不是反向代理服务器的 IP 地址。请注意,只应添加受信任的 IP 地址(即您的反向代理服务器的 IP 地址),因为任何具有这些 IP 地址的服务器都可以修改 X-Forwarded-For 标头并欺骗客户端的 IP 地址。
  • 默认值"127.0.0.1"
  • 示例:
    export FORWARDED_ALLOW_IPS="127.0.0.1,192.168.1.100"

13. GRADIO_CACHE_EXAMPLES

  • 描述:是否在 gr.Interface()gr.ChatInterface()gr.Examples() 中默认缓存示例,当没有为 cache_examples 参数传递显式参数时。您可以将此环境变量设置为字符串 "true" 或 "false"。
  • 默认值"false"
  • 示例:
    export GRADIO_CACHE_EXAMPLES="true"

14. GRADIO_CACHE_MODE

  • 描述:如何缓存示例。仅当 cache_examples 通过环境变量或显式参数设置为 True,并且在 gr.Interface()gr.ChatInterface()gr.Examples() 中没有为 cache_mode 参数传递显式参数时,此项才适用。可以设置为字符串 "lazy" 或 "eager"。如果为 "lazy",则示例在首次使用后为应用程序的所有用户缓存。如果为 "eager",则所有示例在应用程序启动时缓存。

  • 默认值"eager"

  • 示例:

    export GRADIO_CACHE_MODE="lazy"

15. GRADIO_EXAMPLES_CACHE

  • 描述:如果您在 gr.Interface()gr.ChatInterface()gr.Examples() 中设置 cache_examples=True,Gradio 将运行您的预测函数并将结果保存到磁盘。默认情况下,这位于应用程序工作目录中的 .gradio/cached_examples// 子目录中。您可以通过将环境变量 GRADIO_EXAMPLES_CACHE 设置为绝对路径或相对于您的工作目录的路径,自定义 Gradio 创建的缓存示例文件的位置。
  • 默认值".gradio/cached_examples/"
  • 示例:
    export GRADIO_EXAMPLES_CACHE="custom_cached_examples/"

16. GRADIO_SSR_MODE

  • 描述:控制是否启用服务器端渲染 (SSR)。启用后,初始 HTML 在服务器而不是客户端上呈现,这可以提高初始页面加载性能和 SEO。

  • 默认值"False"(在 Hugging Face Spaces 上除外,此环境变量将其设置为 True

  • 选项"True", "False"

  • 示例:

    export GRADIO_SSR_MODE="True"

17. GRADIO_NODE_SERVER_NAME

  • 描述:定义 Gradio 节点服务器的主机名。(仅当 ssr_mode 设置为 True 时适用。)
  • 默认值:如果设置了 GRADIO_SERVER_NAME,则为该值,否则为 "127.0.0.1"
  • 示例:
    export GRADIO_NODE_SERVER_NAME="0.0.0.0"

18. GRADIO_NODE_NUM_PORTS

  • 描述:定义启动 Gradio 节点服务器时要尝试的端口数。(仅当 ssr_mode 设置为 True 时适用。)
  • 默认值100
  • 示例:
    export GRADIO_NODE_NUM_PORTS=200

19. GRADIO_RESET_EXAMPLES_CACHE

  • 描述:如果设置为 "True",Gradio 将在应用程序启动时删除并重新创建示例缓存目录,而不是重用现有的缓存示例。
  • 默认值"False"
  • 选项"True", "False"
  • 示例:
    export GRADIO_RESET_EXAMPLES_CACHE="True"

20. GRADIO_CHAT_FLAGGING_MODE

  • 描述:控制用户是否可以在 gr.ChatInterface 应用程序中标记消息。类似于 GRADIO_FLAGGING_MODE,但专门用于聊天界面。
  • 默认值"never"
  • 选项"never", "manual"
  • 示例:
    export GRADIO_CHAT_FLAGGING_MODE="manual"

如何设置环境变量

要在终端中设置环境变量,请使用 export 命令,后跟变量名称及其值。例如

export GRADIO_SERVER_PORT=8000

如果您使用 .env 文件来管理您的环境变量,您可以像这样添加它们

GRADIO_SERVER_PORT=8000
GRADIO_SERVER_NAME="localhost"

然后,使用像 dotenv 这样的工具在运行应用程序时加载这些变量。