当前位置: 首页 > news >正文

使用ChatGPT4o+colab+gradio+huggingface1小时内,完成快速搭建任何AI应用程序或网站【详细教程步骤】建议收藏

我使用ChatGPT4o+colab+gradio+huggingface1小时内,完成快速搭建AI人工智能应用,并且免费,下面是具体的步骤:

第一步:

代码丢给ChatGPT4o

完整代码如下:

我正在使用colab创建应用程序,现在想接入gradio,下面是现在的代码:import requests# 替换为你的Unsplash Access Key
ACCESS_KEY = '你自己的密钥'
SEARCH_KEYWORD = 'Female Olympic Athletes Since 1924'  # 修改为你感兴趣的搜索关键词def search_unsplash_photos(search_keyword):url = f"https://api.unsplash.com/search/photos"query = {'query': search_keyword,'client_id': ACCESS_KEY,'per_page': 10,  # 每页返回的结果数}response = requests.get(url, params=query)if response.status_code == 200:return response.json()['results']else:print("Error:", response.status_code)return []# 使用API搜索图片
results = search_unsplash_photos(SEARCH_KEYWORD)# 打印图片URLs
for photo in results:print(photo['urls']['regular'])

接入Gradio可以让你更方便地创建交互式的网页界面。下面是一个完整的示例代码,展示如何使用Gradio创建一个应用程序,允许用户输入搜索关键词,并展示从Unsplash API获取的图片。

import requests
import gradio as gr# 替换为你的Unsplash Access Key
ACCESS_KEY = '你自己的密钥'def search_unsplash_photos(search_keyword):url = f"https://api.unsplash.com/search/photos"query = {'query': search_keyword,'client_id': ACCESS_KEY,'per_page': 10,  # 每页返回的结果数}response = requests.get(url, params=query)if response.status_code == 200:return [photo['urls']['regular'] for photo in response.json()['results']]else:print("Error:", response.status_code)return ["Error: Unable to fetch photos"]def display_photos(search_keyword):urls = search_unsplash_photos(search_keyword)return urls# 使用Gradio创建界面
interface = gr.Interface(fn=display_photos, inputs="text", outputs=gr.Gallery(label="Photos from Unsplash"))# 启动Gradio应用
interface.launch()

这段代码做了以下几件事情:

  1. 定义了一个 search_unsplash_photos 函数,用于从Unsplash API中搜索图片。
  2. 定义了一个 display_photos 函数,用于根据用户输入的关键词调用 search_unsplash_photos 函数并返回图片的URL。
  3. 使用Gradio的 Interface 创建了一个界面,输入类型为文本,输出类型为图片画廊(gr.Gallery)。
  4. 启动Gradio应用,使其运行在一个本地服务器上,用户可以通过网页访问。

你可以将这段代码直接复制到Colab中运行,之后Colab会生成一个链接,点击该链接即可访问你的Gradio应用。

在Colab中,你需要先安装Gradio库。你可以使用以下命令来安装Gradio:

!pip install gradio

在安装Gradio之后,再运行之前的代码。以下是完整的示例,包括安装Gradio的步骤:

# 安装Gradio
!pip install gradioimport requests
import gradio as gr# 替换为你的Unsplash Access Key
ACCESS_KEY = '你自己的密钥'def search_unsplash_photos(search_keyword):url = f"https://api.unsplash.com/search/photos"query = {'query': search_keyword,'client_id': ACCESS_KEY,'per_page': 10,  # 每页返回的结果数}response = requests.get(url, params=query)if response.status_code == 200:return [photo['urls']['regular'] for photo in response.json()['results']]else:print("Error:", response.status_code)return ["Error: Unable to fetch photos"]def display_photos(search_keyword):urls = search_unsplash_photos(search_keyword)return urls# 使用Gradio创建界面
interface = gr.Interface(fn=display_photos, inputs="text", outputs=gr.Gallery(label="Photos from Unsplash"))# 启动Gradio应用
interface.launch()

这样你就可以在Colab中顺利运行Gradio应用了。安装过程可能需要几分钟时间,安装完成后可以点击生成的链接访问你的Gradio应用。

现在我把它部署到huggingface

按照以下步骤操作。这些步骤包括创建Hugging Face账户、准备代码、创建requirements.txt文件,以及将所有文件上传到Hugging Face Spaces。

这样,你的Gradio应用就成功部署到了Hugging Face Spaces。你可以分享你的Space链接,让其他人也能访问和使用你的应用。

  1. 创建Hugging Face账户: 如果你还没有Hugging Face账户,请先注册一个账户:Hugging Face。

  2. 准备代码: 确保你有以下文件:

    • app.py:包含你的Gradio应用代码。
    • requirements.txt:包含你的Python依赖包。

    在你的Colab笔记本中创建app.py文件,并将你的Gradio代码复制到该文件中:

    # 创建app.py文件并写入Gradio代码
    with open("app.py", "w") as file:file.write('''
    

    创建requirements.txt文件:

  3. # 创建requirements.txt文件
    with open("requirements.txt", "w") as file:file.write('''
    gradio
    requests
    ''')
    

  4. 将文件上传到Hugging Face Spaces:

    • 访问 Hugging Face Spaces。
    • 点击右上角的 "New Space" 按钮,创建一个新的Space。
    • 输入Space的名称,选择 "Gradio" 作为模板,然后点击 "Create Space"。
    • 创建完成后,你会看到一个空的Space。点击 "Files and versions" 标签,然后点击 "Upload files" 上传 app.pyrequirements.txt 文件。
    • 上传完成后,Hugging Face Spaces会自动检测并运行你的Gradio应用。
  5. 测试和发布:

    上传文件后,Hugging Face会自动构建并运行你的应用。你可以在浏览器中访问你的Space URL来测试你的应用。如果一切正常,你的Gradio应用将被成功部署并公开可用。

app.pyrequirements.txt文件从Colab上传到Hugging Face Spaces,可以按照以下步骤操作:

3. 上传文件到Hugging Face Spaces

4. 部署和测试

另外一种方式是:

直接用代码将colab的代码推送到huggingface

  1. 创建并下载文件:

    在Colab中创建并下载app.pyrequirements.txt文件。

    # 创建app.py文件并写入Gradio代码
    with open("app.py", "w") as file:file.write('''import requests
    import gradio as gr# 替换为你的Unsplash Access Key
    ACCESS_KEY = '你自己的密钥'def search_unsplash_photos(search_keyword):url = f"https://api.unsplash.com/search/photos"query = {'query': search_keyword,'client_id': ACCESS_KEY,'per_page': 10,  # 每页返回的结果数}response = requests.get(url, params=query)if response.status_code == 200:return [photo['urls']['regular'] for photo in response.json()['results']]else:print("Error:", response.status_code)return ["Error: Unable to fetch photos"]def display_photos(search_keyword):urls = search_unsplash_photos(search_keyword)return urls# 使用Gradio创建界面
    interface = gr.Interface(fn=display_photos, inputs="text", outputs=gr.Gallery(label="Photos from Unsplash"))# 启动Gradio应用
    interface.launch()
    ''')# 创建requirements.txt文件
    with open("requirements.txt", "w") as file:file.write('''
    gradio
    requests
    ''')# 下载app.py文件
    from google.colab import files
    files.download('app.py')# 下载requirements.txt文件
    files.download('requirements.txt')
    

    运行上述代码后,你会看到浏览器底部弹出下载文件的对话框,分别下载app.pyrequirements.txt文件到本地。

    2. 创建Hugging Face Space

  2. 访问 Hugging Face Spaces。
  3. 点击右上角的 "New Space" 按钮。
  4. 输入Space的名称,例如 unsplash-photo-search
  5. 选择 "Gradio" 作为模板。
  6. 在创建好的Space页面,点击 "Files and versions" 标签。
  7. 点击 "Upload files" 按钮。
  8. 上传你刚才下载到本地的app.pyrequirements.txt文件。
  9. 上传完成后,Hugging Face会自动检测并运行你的Gradio应用。
  10. 你会看到一个URL,点击该URL即可在浏览器中访问你的Gradio应用。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 11个行为型模式
  • 【Python问题集锦】如何对不规则的时间序列进行对齐和插值
  • Sqlserver 备份表
  • 扩散模型系列笔记(一)——DDPM
  • 拦截指定http请求头,请求参数,请求方法,保存到本地
  • 左神学习笔记-岛屿数量问题(java版算法)
  • 堆排序以及向上、向下调整算法的时间复杂度推导及实现(超详细)
  • 五种创建springBoot项目的方法(本质上是三种)
  • FFmpeg学习
  • C语言从头学44——I/O 函数(一)
  • 软件测试生命周期、BUG描述与处理策略
  • leetcode面试算法题
  • Java程序员接单分享
  • Redis远程字典服务器(1)—— 初识Redis
  • SSH协议管理多主机(SSH协议的两种用法、生产环境用户初始化、结果返回值处理)
  • .pyc 想到的一些问题
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • 10个最佳ES6特性 ES7与ES8的特性
  • ES10 特性的完整指南
  • golang 发送GET和POST示例
  • golang中接口赋值与方法集
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • iOS 颜色设置看我就够了
  • JS专题之继承
  • node 版本过低
  • Python3爬取英雄联盟英雄皮肤大图
  • 分享几个不错的工具
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 聊聊directory traversal attack
  • 如何选择开源的机器学习框架?
  • 算法---两个栈实现一个队列
  • 我是如何设计 Upload 上传组件的
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 云大使推广中的常见热门问题
  • 仓管云——企业云erp功能有哪些?
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (js)循环条件满足时终止循环
  • (二)JAVA使用POI操作excel
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (附源码)ssm高校实验室 毕业设计 800008
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (每日一问)操作系统:常见的 Linux 指令详解
  • (原)Matlab的svmtrain和svmclassify
  • (轉貼) UML中文FAQ (OO) (UML)
  • ../depcomp: line 571: exec: g++: not found
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .NET 通过系统影子账户实现权限维持
  • .net6 core Worker Service项目,使用Exchange Web Services (EWS) 分页获取电子邮件收件箱列表,邮件信息字段
  • .net6Api后台+uniapp导出Excel
  • .NetCore+vue3上传图片 Multipart body length limit 16384 exceeded.
  • .NET中的十进制浮点类型,徐汇区网站设计
  • ::before和::after 常见的用法
  • @JSONField或@JsonProperty注解使用
  • [4.9福建四校联考]