Gradio机器学习模型快速部署工具【应用分享】翻译4

简介: Gradio机器学习模型快速部署工具【应用分享】翻译4

1.嵌入 IFrame


(/assets/img/anchor.svg)]()](https://gradio.app/sharing-your-app/#embedding-with-iframes)

要改为嵌入 IFrame(例如,如果您无法将 javascript 添加到您的网站),请添加此元素:


<iframe src="https://$your_space_host.hf.space"></iframe>

同样,您可以找到src=空间嵌入 URL 的属性,您可以在“嵌入此空间”按钮中找到它。

您还需要height手动添加一个固定的以及其他常规的 iframe 属性。例如:


<iframe src="https://abidlabs-pytorch-image-classifier.hf.space" frameBorder="0" height="900"></iframe>


2.API页面


image.png

渐变/你好世界 使用 Gradio构建。 托管在 image.png

如果您单击并打开上面的空间,您将在应用程序的页脚中看到一个“通过 API 使用”链接。

image.png

这是记录用户可用于查询函数的 REST API 的页面InterfaceBlocks应用程序也可以生成一个 API 页面,尽管 API 必须为每个事件侦听器显式命名,例如


btn.click(add, [num1, num2], output, api_name="addition")

这会将端点记录/api/addition/到自动生成的 API 页面。

注意:对于启用队列的Gradio 应用程序,如果用户向您的 API 端点发出 POST 请求,则可以绕过队列。要禁用此行为,请api_open=Falsequeue()方法中设置。


3.验证


您可能希望在您的应用程序前面放置一个身份验证页面,以限制谁可以打开您的应用程序。通过方法auth=中的关键字参数launch(),您可以提供一个包含用户名和密码的元组,或者一个可接受的用户名/密码元组列表;下面是一个为名为“admin”的单个用户提供基于密码的身份验证的示例:


demo.launch(auth=("admin", "pass1234"))

对于更复杂的身份验证处理,您甚至可以传递一个函数,该函数将用户名和密码作为参数,并返回 True 以允许身份验证,否则返回 False。这可用于向 3rd 方身份验证服务发出请求等。

下面是一个函数示例,它接受用户名和密码相同的任何登录:


def same_auth(username, password):
    return username == password
demo.launch(auth=same_auth)

为使身份验证正常工作,必须在您的浏览器中启用第三方 cookie。默认情况下,Safari、Chrome 隐身模式不是这种情况。


4.直接访问网络请求


当用户对您的应用做出预测时,您可能需要底层网络请求,以便获取请求标头(例如用于高级身份验证)、记录客户端的 IP 地址或其他原因。Gradio 以类似于 FastAPI 的方式支持这一点:只需添加一个类型提示为的函数参数gr.Request,Gradio 就会将网络请求作为该参数传入。这是一个例子:


import gradio as gr
def echo(name, request: gr.Request):
    if request:
        print("Request headers dictionary:", request.headers)
        print("IP address:", request.client.host)
    return name
io = gr.Interface(echo, "textbox", "textbox").launch()

注意:如果您的函数是直接调用而不是通过 UI 调用(例如,当示例被缓存时会发生这种情况),那么request将是None. 您应该明确处理这种情况,以确保您的应用不会抛出任何错误。这就是为什么我们有明确的检查if request


5.在另一个 FastAPI 应用程序中安装[![图片转存失败,建议将图片保存下来直接上传


(/assets/img/anchor.svg)]()](https://gradio.app/sharing-your-app/#mounting-within-another-fastapi-app)

在某些情况下,您可能有一个现有的 FastAPI 应用程序,并且您想要为 Gradio 演示添加一个路径。您可以使用 轻松地做到这一点gradio.mount_gradio_app()

这是一个完整的例子:


from fastapi import FastAPI
import gradio as gr
CUSTOM_PATH = "/gradio"
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=CUSTOM_PATH)
# Run this from the terminal as you would normally start a FastAPI app: `uvicorn run:app`
# and navigate to http://localhost:8000/gradio in your browser.

请注意,此方法还允许您在自定义路径上运行 Gradio 应用程序(http://localhost:8000/gradio在上面的示例中)。


6.安全和文件访问


与他人共享您的 Gradio 应用程序(通过将其托管在 Spaces、您自己的服务器上或通过临时共享链接)会将主机上的某些文件**公开给您的 Gradio 应用程序的用户。**这样做是为了让 Gradio 应用程序能够显示由 Gradio 创建或由您的预测功能创建的输出文件。

特别是,Gradio 应用程序授予用户访问三种文件的权限:

  • Gradio 脚本启动所在的同一文件夹(或子目录)中的文件。例如,如果您的 gradio 脚本的路径是/home/usr/scripts/project/app.py并且您从 启动它/home/usr/scripts/project/,那么您共享的 Gradio 应用程序的用户将能够访问其中的任何文件/home/usr/scripts/project/。这是必需的,以便您可以轻松地在 Gradio 应用程序中引用这些文件。
  • Gradio 创建的临时文件。这些文件是由 Gradio 创建的,作为运行预测功能的一部分。例如,如果你的预测函数返回一个视频文件,那么 Gradio 会将该视频保存到一个临时文件中,然后将临时文件的路径发送到前端。
  • file_directories您通过中的参数明确允许的文件launch()。在某些情况下,您可能希望引用文件系统中的其他文件。该file_directories参数允许您传入您希望提供访问权限的其他目录列表。(默认情况下,没有其他文件目录)。

用户不应该能够访问主机上的其他任意路径。


目录
相关文章
|
3月前
|
人工智能 自然语言处理 IDE
模型微调不再被代码难住!PAI和Qwen3-Coder加速AI开发新体验
通义千问 AI 编程大模型 Qwen3-Coder 正式开源,阿里云人工智能平台 PAI 支持云上一键部署 Qwen3-Coder 模型,并可在交互式建模环境中使用 Qwen3-Coder 模型。
679 109
|
4月前
|
人工智能 自然语言处理 运维
【新模型速递】PAI-Model Gallery云上一键部署Kimi K2模型
月之暗面发布开源模型Kimi K2,采用MoE架构,参数达1T,激活参数32B,具备强代码能力及Agent任务处理优势。在编程、工具调用、数学推理测试中表现优异。阿里云PAI-Model Gallery已支持云端部署,提供企业级方案。
304 0
【新模型速递】PAI-Model Gallery云上一键部署Kimi K2模型
|
5月前
|
机器学习/深度学习 算法 安全
差分隐私机器学习:通过添加噪声让模型更安全,也更智能
本文探讨在敏感数据上应用差分隐私(DP)进行机器学习的挑战与实践。通过模拟DP-SGD算法,在模型训练中注入噪声以保护个人隐私。实验表明,该方法在保持71%准确率和0.79 AUC的同时,具备良好泛化能力,但也带来少数类预测精度下降的问题。研究强调差分隐私应作为模型设计的核心考量,而非事后补救,并提出在参数调优、扰动策略选择和隐私预算管理等方面的优化路径。
367 3
差分隐私机器学习:通过添加噪声让模型更安全,也更智能
|
4月前
|
人工智能 自然语言处理 运维
【新模型速递】PAI-Model Gallery云上一键部署gpt-oss系列模型
阿里云 PAI-Model Gallery 已同步接入 gpt-oss 系列模型,提供企业级部署方案。
|
5月前
|
机器学习/深度学习 人工智能 算法
Post-Training on PAI (4):模型微调SFT、DPO、GRPO
阿里云人工智能平台 PAI 提供了完整的模型微调产品能力,支持 监督微调(SFT)、偏好对齐(DPO)、强化学习微调(GRPO) 等业界常用模型微调训练方式。根据客户需求及代码能力层级,分别提供了 PAI-Model Gallery 一键微调、PAI-DSW Notebook 编程微调、PAI-DLC 容器化任务微调的全套产品功能。
|
5月前
|
机器学习/深度学习 分布式计算 Java
Java 大视界 -- Java 大数据机器学习模型在遥感图像土地利用分类中的优化与应用(199)
本文探讨了Java大数据与机器学习模型在遥感图像土地利用分类中的优化与应用。面对传统方法效率低、精度差的问题,结合Hadoop、Spark与深度学习框架,实现了高效、精准的分类。通过实际案例展示了Java在数据处理、模型融合与参数调优中的强大能力,推动遥感图像分类迈向新高度。
|
5月前
|
机器学习/深度学习 存储 Java
Java 大视界 -- Java 大数据机器学习模型在游戏用户行为分析与游戏平衡优化中的应用(190)
本文探讨了Java大数据与机器学习模型在游戏用户行为分析及游戏平衡优化中的应用。通过数据采集、预处理与聚类分析,开发者可深入洞察玩家行为特征,构建个性化运营策略。同时,利用回归模型优化游戏数值与付费机制,提升游戏公平性与用户体验。
|
5月前
|
机器学习/深度学习 算法 Java
Java 大视界 -- Java 大数据机器学习模型在舆情分析中的情感倾向判断与话题追踪(185)
本篇文章深入探讨了Java大数据与机器学习在舆情分析中的应用,重点介绍了情感倾向判断与话题追踪的技术实现。通过实际案例,展示了如何利用Java生态工具如Hadoop、Hive、Weka和Deeplearning4j进行舆情数据处理、情感分类与趋势预测,揭示了其在企业品牌管理与政府决策中的重要价值。文章还展望了多模态融合、实时性提升及个性化服务等未来发展方向。
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。
534 14

热门文章

最新文章