微信扫码
与创始人交个朋友
我要投稿
Gemini 2.0 已经到来,带来了为这个新代理时代构建的下一代能力。Gemini 2.0 Flash 现在可以通过 Vertex AI Gemini API、Vertex AI Studio、Google AI Studio 和 Gemini Developer API 作为实验性预览使用。这个新模型引入了显著的进步:
在这篇博客文章中,您将学习如何在 Google Cloud 上使用 Vertex AI 和全新的简化版 Google Gen AI SDK 使用 Gemini 2.0 Flash,使构建这些强大模型比以往任何时候都更容易。我们将深入探讨一些令人兴奋的新功能,探索实用的代码示例,并分享高级笔记本,帮助您继续学习之旅。对于那些有兴趣通过 Google AI Studio 或 Gemini Developer API 探索 Gemini 2.0 Flash 的用户,请查看 Gemini 2\.0 Cookbook。
想跳过博客,直接查看展示如何使用 Vertex AI Gemini API 的 Gemini 2.0 Flash 笔记本吗?请访问 Generative AI on Vertex AI cookbook。确保您将其添加到书签中,以便后续轻松访问!
想要将 Gemini 2.0 Flash 集成到您的应用程序中吗?Google Gen AI SDK 是您的首选工具。新的 Google Gen AI SDK 通过 Gemini Developer API 和 Vertex AI Gemini API 提供了一个统一的接口,目前支持 Python 和 Go。
除了少数例外,运行在一个平台上的代码也可以在另一个平台上运行。这使您能够将应用程序迁移到 Vertex AI,而无需重新编写代码,从而节省时间和精力。
重要的是,Google Gen AI SDK 不仅限于最新的模型;您还可以利用 Gemini 1.5 模型的能力。这个选择允许开发人员选择最符合其特定性能、延迟和成本要求的模型。
让我们来看看如何通过 Google Gen AI SDK 访问 Vertex AI 上的 Gemini API 来开始使用 Gemini 2.0 Flash。在这个例子中,我们将使用 Python SDK。
首先,您需要在开发环境中安装 google-genai
Python SDK:
pip install google-genai
接下来,您需要初始化客户端并设置您的 Google Cloud 项目 ID 和位置为 us-central1
。初始化客户端有两种主要方法:
选项 1:显式设置项目和位置
一种初始化客户端的方法是直接提供您的项目 ID 和位置信息。这使您的代码自包含且易于理解:
client = genai.Client( vertexai=True, project="<your-google-cloud-project>", location="us-central1")
请记得将 "<your-google-cloud-project>"
替换为您的实际项目 ID。请查看 文档 以了解有关创建 Google Cloud 项目的更多信息。
选项 2:使用环境变量
另外,您可以使用环境变量配置客户端。这种方法对于管理不同环境中的配置以及将敏感信息与代码分离非常有用:
export GOOGLE_CLOUD_PROJECT="<your-google-cloud-project>"export GOOGLE_CLOUD_LOCATION="us-central1"export GOOGLE_GENAI_USE_VERTEXAI=True
接下来,您可以初始化客户端并调用 gemini-2.0-flash-exp
模型并调用 API:
client = genai.Client()model_id = “gemini-2.0-flash-exp”
response = client.models.generate_content(model=model_id, contents=”Explain to me, a front-end developer, what is Vertex AI and how can I use it to build GenAI applications?”)
print(response.text)
与之前的版本类似,Gemini 2.0 Flash 是多模态的,接受包含文本、PDF文档、图像、音频甚至视频的提示。
以下是如何使用sdk发送图像和文本提示的快速示例:
import requests
from PIL import Image
image = Image.open( requests.get( “https://storage.googleapis.com/cloud-samples-data/generative-ai/image/meal.png", stream=True, ).raw)
response = client.models.generate_content( model=MODEL_ID, contents=[ image, “根据这张图片写一篇简短而引人入胜的博客文章。”, ])
print(response.text)
这是我们发送给Gemini的图像:
您可以通过使用 GenerateContentConfig
来轻松配置模型的参数:
from google.genai.types import (GenerateContentConfig)
gemini_config = GenerateContentConfig( temperature=0.2, top_p=0.95, top_k=20, candidate_count=1, seed=5, max_output_tokens=100, stop_sequences=[“STOP!”], )
response = client.models.generate_content( model=MODEL_ID, contents=”告诉我互联网是如何工作的,但假装我是一只只理解吱吱玩具的小狗。”, config=gemini_config)
print(response.text)
Notebook: 想了解更多关于如何在Vertex AI上使用Gemini 2.0 Flash的信息吗?请查看这个笔记本,这是关于如何使用多模态数据、配置模型参数、使用控制生成等的极佳介绍!
Gemini 2.0 带来了一系列新功能和增强的核心能力。以下是一些新功能:
让我们深入了解这些附加功能,并看看您如何使用它们。
多模态实时 API 使与 Gemini 的实时交互成为可能,非常适合处理流数据的应用程序,例如涉及实时视频的应用。该 API 通过 WebSockets 实现与 Gemini 的低延迟双向通信,支持语音和视频交互。
该 API 允许进行自然、类人语音对话,包括用户可以通过语音命令打断模型响应的能力。声音是预设的,开发者可以选择可用的声音。该模型可以处理文本、音频和视频输入,并可以提供文本和音频输出,从而支持广泛的多模态应用。多模态实时 API 通过 Gemini API 中的 BidiGenerateContent
方法访问,利用 WebSockets 进行实时通信。
以下是一个简单的文本到文本的示例,帮助您开始使用多模态实时 API:
MODEL = ‘models/gemini-2.0-flash-exp’CONFIG = {‘generation_config’: {‘response_modalities’: [‘AUDIO’]}}
async with client.aio.live.connect(model=MODEL, config=CONFIG) as session: message = ‘Summarize what is happening in this Podcast?’ print(‘> ‘, message, ‘\n’) await session.send(message, end_of_turn=True)
# For text responses, when the model’s turn is complete it breaks out of the loop. async for response in session: model_turn = response.server_content.model_turn for part in model_turn.parts: print(“- “, part.text)
以下是一些突出多模态实时 API 潜力的用例:
笔记本: 想了解更多关于多模态实时 API 的信息吗?请查看 这个笔记本,了解多模态实时 API 和 Vertex AI 上的 Gemini 2.0 的实时 RAG。
大型语言模型(LLMs)有时可能提供过时的信息。为了确保准确性和时效性,特别是在处理事实查询时,使用外部来源进行支持是很重要的。通过使用 将搜索作为工具,您可以提高 Gemini 模型的响应质量。从 gemini-2.0-flash-exp
模型开始,Google 搜索作为工具可用。这意味着模型可以智能地决定何时使用 Google 搜索来增强其知识。
要使用将搜索作为工具,您可以将 tools
关键字参数添加到 GenerateContentConfig
中。首先,您需要创建一个 GoogleSearch
工具对象,然后将其作为 Tool
对象传递。这指示 Gemini 首先使用提示执行 Google 搜索,然后根据网络搜索结果构建答案。
动态检索 允许您设置何时使用支持来生成模型响应的阈值。这在提示不需要基于 Google 搜索的答案时非常有用。这有助于您更有效地管理延迟、质量和成本。
from IPython.display import
Markdown
google_search_tool = Tool( google_search=GoogleSearch())
response = client.models.generate_content( model=’gemini-2.0-flash-exp’, contents=’荷兰有多少人?’, config=GenerateContentConfig( tools=[google_search_tool] ),)
display(Markdown(response.text))
print(response.candidates[0].grounding_metadata)
让我们看看示例响应。第一张图片显示了未启用 GoogleSearch()
的 Gemini 2.0 Flash 的响应。
第二张图片显示了启用 GoogleSearch()
的 Gemini 2.0 Flash 的输出。您能发现区别吗?此输出包括支持块(未包含在图像中),可以包含指向源的 URL,在本例中为 Worldometer 网站。
笔记本: 想了解更多关于将搜索作为工具的信息吗?请查看 这个笔记本,了解如何使用 Gemini 2.0 进行营销。
Gemini 2.0 可以帮助您构建多代理系统,以简化复杂的工作流程,比如研究代理。您可以利用 Gemini 2.0 构建智能多代理系统,从多个来源收集洞察,进行复杂分析,并生成全面报告。这一切都得益于 Gemini 2.0 的 Flash 功能,如:
笔记本: 深入了解核心多代理概念和实用设计模式,非常适合市场研究和竞争分析等任务。今天就开始构建这个关于多代理系统的 笔记本!
准备进一步探索 Vertex AI 上的 Gemini 2.0 和 Google Gen AI SDK 吗?我们创建了一系列代码资产,旨在加深您的理解,并帮助您构建出色的生成式 AI 用例。
Vertex AI Gemini API 代码资产
Gemini 2\.0 快速入门
展示了如何使用 Gen AI SDK 访问 Google 生成式 AI 服务和模型,包括 Gemini 1.5 和其他 1P 模型。
Google Gen AI SDK 入门
展示了如何使用 Gen AI SDK 访问 Gemini 2.0。
多模态实时 API 演示应用
展示了如何使用 Gen AI SDK 进行多模态实时 API。
实时 RAG 与多模态实时 API
演示了如何在零售场景中使用 Vertex AI Gemini API(语音生成)和多模态实时 API。了解 Gemini 2.0、多模态实时 API 和 RAG。
使用 Gemini 2\.0 创建营销资产
演示了如何使用 Gemini 2.0 API 本地化营销资产,包括将搜索作为工具和受控输出生成。
Vertex AI Gemini 研究多代理演示
演示了如何使用 Gemini 2 和多模态实时 API 构建研究多代理。了解多代理框架、Gemini 2、功能调用和将搜索作为工具。
互动贷款申请助手
演示了如何使用 Gemini 2.0 作为个人文件助手,帮助用户无缝理解和处理他们的贷款文件。
重要提示: 请注意,Gemini 2.0 快速入门是实验性预览版本。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-12-19
极简开发,极速上线:构建端到端大模型应用
2024-12-19
大模型落地,苦「最强」久矣
2024-12-19
吴恩达最新访谈——人工智能视觉、Agent智能体和商业价值
2024-12-19
Sakana AI推出LLM记忆管理技术NAMMs,可将内存成本降低75%
2024-12-18
云原生 AI:打造大模型工程化落地的最佳实践
2024-12-18
Meta推出全新AI模型Apollo了
2024-12-18
小试牛刀|试用 DB-GPT x OceanBase 构建自给自足的 Chat Data 应用
2024-12-18
大模型量化技术原理:QoQ量化及QServe推理服务系统
2024-05-28
2024-04-26
2024-08-13
2024-08-21
2024-07-09
2024-04-11
2024-08-04
2024-07-18
2024-06-13
2024-07-01
2024-12-16
2024-12-06
2024-12-03
2024-12-01
2024-11-29
2024-11-26
2024-11-25
2024-11-21