arrow_back

简要介绍使用 Gemini 进行函数调用

登录 加入
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

简要介绍使用 Gemini 进行函数调用

Lab 1 小时 universal_currency_alt 5 个积分 show_chart 中级
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP1227

Google Cloud 自定进度实验

概览

Gemini 是 Google DeepMind 开发的一系列生成式 AI 模型,专为多模态应用场景而设计。通过 Gemini API,您可以使用 Gemini Pro Vision 和 Gemini Pro 模型。在本实验中,您将学习如何使用 Vertex AI Gemini API 来通过文本提示生成函数调用。

从 Gemini 调用函数

借助函数调用,开发者可以在代码中创建函数的说明,然后通过请求将该说明传递给语言模型。模型的响应包括与说明匹配的函数名称以及用于调用该函数的参数。

函数调用与 Vertex AI 扩展程序类似,具体表现在于它们都会生成有关函数的信息。二者的区别在于,函数调用返回的是 JSON 数据,其中包含函数的名称和要在代码中使用的参数,而 Vertex AI 扩展程序返回的是函数,并且会直接调用该函数。

目标

在本实验中,您将学习如何完成以下操作:

  • 安装 Python 版 Vertex AI SDK。
  • 使用 Vertex AI Gemini API 与 Gemini Pro (gemini-pro) 模型交互:
    • 根据文本提示生成函数调用,帮助客户获取有关 Google 商店中商品的信息。
    • 通过文本提示生成函数调用,并调用外部 API 来对地址进行地理编码。
    • 根据文本提示生成函数调用,以从日志数据中提取实体。

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。

此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。我们会为您提供新的临时凭据,让您可以在实验规定的时间内用来登录和访问 Google Cloud。

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:如果您已有自己的个人 Google Cloud 账号或项目,请不要在此实验中使用,以避免您的账号产生额外的费用。

如何开始实验并登录 Google Cloud 控制台

  1. 点击开始实验按钮。如果该实验需要付费,系统会打开一个弹出式窗口供您选择付款方式。左侧是实验详细信息面板,其中包含以下各项:

    • 打开 Google 控制台按钮
    • 剩余时间
    • 进行该实验时必须使用的临时凭据
    • 帮助您逐步完成本实验所需的其他信息(如果需要)
  2. 点击打开 Google 控制台。 该实验会启动资源并打开另一个标签页,显示登录页面。

    提示:请将这些标签页安排在不同的窗口中,并将它们并排显示。

    注意:如果您看见选择帐号对话框,请点击使用其他帐号
  3. 如有必要,请从实验详细信息面板复制用户名,然后将其粘贴到登录对话框中。点击下一步

  4. 请从实验详细信息面板复制密码,然后将其粘贴到欢迎对话框中。点击下一步

    重要提示:您必须使用左侧面板中的凭据。请勿使用您的 Google Cloud Skills Boost 凭据。 注意:在本次实验中使用您自己的 Google Cloud 帐号可能会产生额外费用。
  5. 继续在后续页面中点击以完成相应操作:

    • 接受条款及条件。
    • 由于该帐号为临时帐号,请勿添加帐号恢复选项或双重验证。
    • 请勿注册免费试用。

片刻之后,系统会在此标签页中打开 Cloud 控制台。

注意:您可以点击左上角的导航菜单来查看列有 Google Cloud 产品和服务的菜单。 “导航菜单”图标

任务 1. 在 Vertex AI Workbench 中打开笔记本

  1. 在 Google Cloud 控制台的导航菜单中依次点击 Vertex AI > Workbench

  2. 用户管理的笔记本页面上,找到 generative-ai-jupyterlab 笔记本并点击打开 JupyterLab 按钮。

JupyterLab 界面会在新的浏览器标签页中打开。

任务 2. 打开 generative-ai 文件夹

  1. 前往笔记本左侧的 generative-ai 文件夹。

  2. 前往 /gemini/function-calling 文件夹。

  3. 点击 intro_function_calling.ipynb 文件。

  4. 运行此笔记本的开始使用设置 Google Cloud 项目信息导入库部分。

    • 对于项目 ID,请使用 ;对于位置,使用
注意:您可以跳过任何标注为“仅限 Colab”的笔记本单元。

在后续部分中,运行笔记本单元,了解如何搭配使用 Vertex AI Gemini API 与 Python 版 Vertex AI SDK。

点击检查我的进度以验证是否完成了以下目标。 安装 Python 版 Vertex AI SDK 并导入库。

任务 3. 为结构化 Google 商店查询使用函数调用

使用生成式文本模型时,很难强行让 LLM 以结构化的格式(例如 JSON)给出一致的回答。凭借函数调用,您可以通过提示和非结构化输入轻松使用 LLM,并让 LLM 返回可用于调用外部函数的结构化响应。

您可以将函数调用看作是一种通过用户提示和函数定义获得结构化输出的方式,通过使用这一结构化输出向外部系统发出 API 请求,然后将函数响应返回 LLM,便可以为用户生成回答。换句话讲,Gemini 中的函数调用会从用户的非结构化文本或消息中提取结构化的参数。在此示例中,您将使用函数调用以及 Gemini 模型中的聊天模态来帮助客户获取 Google 商店中商品的相关信息。

  1. 在此任务中,运行笔记本单元,了解如何使用 Gemini 模型帮助客户获取 Google 商店中商品的相关信息。

点击检查我的进度以验证是否完成了以下目标。 生成一个简单的天气函数调用。

任务 4. 使用函数调用通过一个地图 API 对地址进行地理编码

在此示例中,您将使用 Gemini API 中的文本模态来定义接受多个参数作为输入的函数。您将使用函数调用响应来进行实时 API 调用,以将地址转换为经纬度坐标。

  1. 在此任务中,运行笔记本单元,了解如何使用 Gemini Pro 模型来生成函数调用,以便为某个地址进行地理编码。
这里我们使用了 OpenStreetMap Nominatim API 对地址进行地理编码,便于在此笔记本中轻松使用和学习。如果您要处理大量地图或者地理定位数据,可使用 Google Maps Geocoding API

点击检查我的进度以验证是否完成了以下目标。 生成一个复杂的函数调用。

任务 5. 使用函数调用进行实体提取

在前面的示例中,您使用了 Gemini 函数调用中的实体提取功能,以便将生成的参数传递给 REST API 或客户端库。但是,您可能只想通过 Gemini 函数调用执行实体提取这一个步骤,而不实际调用 API。您可以将此功能视为一种将非结构化文本数据转换为结构化字段的便捷方式。

在此示例中,您将构建一个日志提取器,用于获取原始日志数据,并将其转换为包含错误消息详情的结构化数据。

  1. 在此任务中,运行笔记本单元,了解如何使用 Gemini Pro 模型生成函数调用以从日志数据中提取实体。

点击检查我的进度以验证是否完成了以下目标。 通过聊天提示生成函数调用。

恭喜!

恭喜!在本实验中,您学习了如何使用 Vertex AI Gemini API 来通过文本提示生成函数调用。您使用 Gemini Pro 模型生成了函数调用,帮助客户获取 Google 商店中商品的相关信息、对地址进行地理编码,以及从日志数据中提取实体。

后续步骤/了解详情

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

上次更新手册的时间:2024 年 4 月 23 日

上次测试实验的时间:2024 年 4 月 23 日

版权所有 2024 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。