0

0

使用 Gemini 和 Vertex AI 构建 AI 图像识别应用程序

碧海醫心

碧海醫心

发布时间:2026-01-15 09:37:14

|

967人浏览过

|

来源于php中文网

原创

人工智能ai)主导的时代,图像识别技术正成为各类应用的核心支柱。无论是智能驾驶系统还是疾病辅助诊断,对高精度、高稳定性的图像识别能力的需求始终在攀升。本文将带您一步步实践,如何借助 google 的 gemini 模型与 vertex ai 平台,搭建一套专属的 ai 图像识别应用。gemini 是一款先进的多模态大模型,具备跨模态理解与生成能力,可同时处理文本、图像、代码等多种类型的内容。vertex ai 则是 google cloud 提供的一站式机器学习平台,集成了模型开发、训练、部署与监控等全生命周期管理功能。将二者协同使用,能让您以更短周期、更高效率完成定制化图像识别系统的构建。本指南涵盖详细操作流程、可运行代码示例及典型问题应对策略,助您顺利落地项目。

要点

  • 基于 Google Gemini 模型与 Vertex AI 平台搭建 AI 图像识别系统。
  • Gemini 具备强大的多模态感知与生成能力,支持图文联合理解与推理。
  • Vertex AI 是 Google Cloud 上的统一 ML 开发平台,提供模型训练、部署与规模化服务支持。
  • Gemini 与 Vertex AI 深度集成,显著降低图像识别类应用的开发门槛与实施成本。
  • 教程包含分步操作指引、完整代码片段及实用排错方法。

构建 AI 图像识别应用程序

准备工作

在启动开发前,请确认已完成以下基础配置:

  • Google Cloud 账户: 若尚未注册,请先创建账户。Vertex AI 服务必须依托有效的 Google Cloud 账户方可启用。

    ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

    使用 Gemini 和 Vertex AI 构建 AI 图像识别应用程序

  • 启用 Vertex AI API: 登录 Google Cloud 控制台,在对应项目中开启 Vertex AI API。

  • 安装 Python SDK: 通过 pip 安装官方 Vertex AI Python 客户端库,用于程序化调用相关服务。

      pip install google-cloud-aiplatform
  • 配置身份验证机制: 在本地环境完成身份认证配置,推荐使用 Google Cloud CLI 或服务账号密钥方式,确保 SDK 可安全访问云端资源。

  • 掌握 Python 基础: 本教程默认读者已具备 Python 编程经验,能理解基本语法与模块调用逻辑。

使用 Vertex AI Python SDK

实验环境启动后,界面将分为左右两栏:左侧为代码编辑区,右侧为操作指引。请按如下步骤接入生成式 AI 接口:

1. 新建源文件

在编辑器中点击 File > New File,新建一个空白脚本文件。

2. 插入核心代码

将下方代码块复制并粘贴至编辑器中。

使用 Gemini 和 Vertex AI 构建 AI 图像识别应用程序

以下代码利用 Gemini 视觉模型解析图像语义内容:

from google.cloud import aiplatform

client = aiplatform.gapic.PredictionServiceClient(
    client_options={"api_endpoint": "us-central1-aiplatform.googleapis.com"}
)

model = "gemini-pro-vision"
location = "us-central1"

instance = {
    "image": {
        "image_bytes": {
            "mime_type": "image/jpeg",
            "data": image_data,
        }
    },
    "prompt": "What is shown in this image?",
}

response = client.predict(
    endpoint=f"projects/{project_id}/locations/{location}/endpoints/{model}",
    instances=[instance],
    parameters=parameters,
)

print(response.predictions[0]["content"])

3. 保存脚本文件

点击 File > Save,输入文件名为 genai.py,确认保存。

4. 配置运行环境变量

在新终端窗口中执行以下命令,设置必要环境参数:

export GOOGLE_CLOUD_PROJECT=[YOUR_PROJECT_ID]
export GOOGLE_CLOUD_LOCATION=us-central1
export GOOGLE_GENAI_USE_VERTEXAI=TRUE

请将 [YOUR_PROJECT_ID] 替换为您实际的 Google Cloud 项目标识符。

GarbageSort垃圾识别工具箱
GarbageSort垃圾识别工具箱

GarbageSort垃圾识别工具箱是一个基于uni-app开发的微信小程序,使用SpringBoot2搭建后端服务,使用Swagger2构建Restful接口文档,实现了文字查询、语音识别、图像识别其垃圾分类的功能。前端:微信小程序 采用 uni-app 开发框架,uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及各

下载

5. 执行脚本并查看结果

在代码编辑器所在窗格中运行以下命令:

python3 genai.py

⚠️ 注意:若返回 HTTP 500 错误,建议重试执行;部分情况下需重新加载环境变量后再运行。

成功运行后,终端将输出模型对所传图像内容的自然语言描述。

代码原理详解

我们来逐层解析该段逻辑的实现机制:

  • 依赖导入: 引入 google.cloud.aiplatform 模块,作为连接 Vertex AI 服务的桥梁。
  • 客户端初始化: 构造 PredictionServiceClient 实例,并指定美国中部区域(us-central1)的 API 端点。
  • 模型与区域设定: 明确调用 gemini-pro-vision 多模态模型,并限定其部署地域。
  • 请求体构造: 组织预测请求数据结构,含图像原始字节(Base64 编码)、MIME 类型及用户提问文本(prompt)。
  • 发起推理请求: 调用 client.predict() 方法,向指定模型端点提交请求,其中 instances 为输入样本,parameters 为可选调控参数。
  • 结果提取与输出: 从响应对象中读取首个预测项的 content 字段,即模型生成的图像语义描述。

该示例实质是在 Vertex AI 上加载预训练的 Gemini 模型(如 gemini-2.0-flash-001),并通过 generate_content 接口完成图文联合推理。输入包括图像 URI 和自然语言指令,模型据此完成跨模态理解任务,并输出符合提示意图的文本答案。

优化图像识别应用程序

合理选用 Gemini 模型

Gemini 系列提供多种规格模型,适用于不同复杂度与性能要求的场景。针对图像识别任务,gemini-pro-vision 是通用首选;但当面对细粒度识别、低光照图像或医学影像等挑战性任务时,可尝试更高阶模型。

  • 权衡模型规模: 更大的参数量通常带来更强泛化力,但会增加延迟与计费成本。应结合业务 SLA 选取最优平衡点。
  • 对比模型架构差异: Gemini 不同版本融合了 Transformer 主干与视觉专用 CNN 结构,建议在真实数据上横向测试各版本表现。
  • 引入迁移学习策略: 可基于 Gemini 的视觉编码器进行轻量化微调(Fine-tuning),仅用少量标注样本即可适配垂直领域需求,大幅节省训练开销。

提示词(Prompt)工程优化

提示设计直接影响模型输出质量。优质 prompt 能有效引导模型聚焦关键视觉特征,提升识别一致性与准确性。

  • 语言精准简练: 避免歧义表达,尽量采用明确主谓宾结构,例如“请列出图中所有可见动物种类”优于“图里有什么?”
  • 尝试多样化句式: 包括疑问句、指令式、填空式等格式,观察哪一类最契合当前任务目标。
  • 注入上下文线索: 若已知图像所属类别(如“X光胸片”“街景监控截图”),可在 prompt 中显式声明,增强模型先验认知。
  • 持续迭代调优: 提示工程本质是实验科学。建议建立评估集,定量对比不同 prompt 下的准确率、召回率等指标,形成闭环优化机制。

如何使用 AI 图像识别应用程序

支持多种图像来源

欢迎尝试不同来源的图像资源,全面检验 Gemini 的识别广度与鲁棒性。

使用 Gemini 和 Vertex AI 构建 AI 图像识别应用程序

图像可来自本地磁盘(需转换为 Base64 或上传至 Cloud Storage),亦可直接引用公开 GCS URI。格式需为 JPEG 或 PNG。

您还可更换 prompt 内容,提出差异化问题,例如:

  • “图像中主要物体的颜色分布是怎样的?”
  • “图中是否存在交通标志?如有,请指出类型。”
  • “该场景可能发生在什么时间与天气条件下?”

以下为官方提供的测试图像 URI 示例:

  • gs://cloud-samples-data/generative-ai/image/scones.jpg
  • gs://cloud-samples-data/generative-ai/image/3flowers.jpg
  • gs://cloud-samples-data/generative-ai/image/cat.jpg

通过组合不同图像与 prompt,您可以深入探索 Gemini 的多模态推理边界,并快速验证其在实际业务中的适用性。

Gemini 和 Vertex AI 的优缺点

? 优势

  • 多模态能力突出,原生支持图文混合理解与生成
  • 与 Google Cloud 生态深度打通,部署链路成熟稳定
  • SDK 封装完善,开发者上手门槛较低

? 局限

  • 对计算资源消耗较大,尤其在高并发场景下需合理规划配额
  • 不同任务间性能波动明显,需针对性调优
  • 强绑定 Google Cloud 平台,跨云迁移成本较高

常见问题解答

如何查询 Google Cloud 项目 ID?
登录 Google Cloud 控制台,进入 IAM & Admin > Settings 页面,项目 ID 将在顶部区域清晰显示。

如何排查 500 错误?
500 错误多由服务端临时异常引发,建议按顺序排查:

  • 重启执行流程,排除瞬时网络抖动影响;
  • 核对 GOOGLE_CLOUD_PROJECT 等环境变量是否拼写正确且已生效;
  • 进入 API 与服务控制台,确认 Vertex AI API 已在当前项目中启用;
  • 如仍无法解决,可提交工单至 Google Cloud 技术支持团队获取进一步协助。

如何提升识别准确率?

  • 升级至更高精度的 Gemini 视觉模型(如 gemini-2.0-pro-vision);
  • 设计更具引导性的 prompt,加入约束条件与输出格式要求;
  • 补充高质量标注数据,开展小样本微调;
  • 应用图像预处理(如对比度增强、去噪)与后处理(如关键词过滤、实体归一化)策略。

相关问题

Gemini 与 Vertex AI 还有哪些延伸应用场景?
除图像识别外,二者还可赋能以下方向:

  • 自然语言处理(NLP): 文本摘要、多语言翻译、情感倾向分析、文档问答等;
  • 智能编程辅助: 自动生成函数、补全代码注释、重构建议、单元测试生成;
  • 商业智能分析: 构建预测模型识别销售趋势、客户流失风险、库存预警等;
  • 智能客服系统: 快速构建多轮对话机器人,支持语音转文本+意图识别+知识库检索;
  • 医疗影像辅助: 对 CT/MRI/X光图像进行病灶定位、分割与初步判读,辅助放射科医生决策。

相关专题

更多
python开发工具
python开发工具

php中文网为大家提供各种python开发工具,好的开发工具,可帮助开发者攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。php中文网还为大家带来python相关课程以及相关文章等内容,供大家免费下载使用。

753

2023.06.15

python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

636

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

758

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

618

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

1262

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

547

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

577

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

707

2023.08.11

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

63

2026.01.14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 0.7万人学习

Django 教程
Django 教程

共28课时 | 3.1万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号