Gemini AI赋能Google Sheets:数据处理与分析的革新之路

4

在当今数据驱动的世界中,Google Sheets已成为许多专业人士不可或缺的工具。它不仅用于管理和组织数据,还被广泛应用于数据分析和报告。随着人工智能(AI)技术的快速发展,将AI集成到Sheets工作流程中已成为一种趋势,可以显著提高生产力并改善决策过程。本文将深入探讨如何通过Gemini AI增强Google Sheets的功能,从而实现更高效的数据处理和分析。

Gemini AI与Google Sheets的集成:无限可能

Gemini AI的强大功能现在已经可以直接在Gmail、Docs、Sheets等应用程序中使用,尤其适用于Google AI One Premium计划的用户。这种集成不仅仅是简单的功能添加,而是对传统电子表格使用方式的革新。通过Gemini AI,用户可以实现诸如数据汇总、公式创建等高级功能,极大地提升了工作效率。更重要的是,Gemini AI还支持自定义集成,允许用户根据特定需求创建个性化的解决方案。例如,用户可以利用Gemini AI一次性生成或丰富多行数据,这在处理大量数据时尤为有用。

https://storage.googleapis.com/gweb-cloudblog-publish/original_images/image2_7dxSA8c.gif

直接方法:通过urlFetchApp调用Gemini API

一种直接的方法是从Google Sheets调用Gemini API。Google Workspace中的urlFetchApp功能是实现这一目标的关键。urlFetchApp允许用户发送HTTP请求并获取Web内容,通过自定义标头、设置超时、遵循重定向以及处理身份验证,可以灵活地与外部API进行交互。利用urlFetchApp,我们可以直接调用generateContent REST API,从而利用Gemini AI的强大功能。

具体而言,用户可以使用以下POST请求:

POST https://{service-endpoint}/v1/{model}:generateContent

为了简化这一过程,可以创建一个Google Sheets自定义函数。该函数接受两个输入:包含数据的单元格范围和提示。通过将这两个参数嵌入到提示中,用户可以轻松地从Sheets调用Gemini AI。

以下是一个自定义函数的示例:

function gemini(range, prompt) {
  prompt = `For the table of data: ${range}, Answer the following: ${prompt}. Do not use formatting. Remove all markdown.`;
  return getAiSummary(prompt);
}

这个函数的核心在于getAiSummary辅助函数,它负责处理身份验证并发出HTTP请求。通过这种方式,用户可以在Sheets中直接使用Gemini AI,从而实现各种自定义的数据处理和分析任务。

通过BigQuery集成:更强大的数据处理能力

对于需要处理大型数据集或已经集成BigQuery和Sheets的用户,通过BigQuery作为Apps Script和Gemini之间的代理是一种更稳健的方法。Google Cloud BigQuery Apps Script服务提供了BigQuery对象和函数,以及直接在Sheets中执行查询的能力。这意味着用户可以直接从Sheets向Vertex AI中的Gemini Pro模型发出整列数据请求。

在BigQuery中,用户需要创建一个模型端点,并指定要使用的模型。这样,BigQuery就可以作为Sheets和Gemini AI之间的桥梁,实现更高效的数据处理。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image1_spHzff2.max-700x700.png

流程概述

与直接方法不同,通过BigQuery集成,我们将创建一个链接到Apps Script函数的菜单项,而不是自定义函数。这种方法提供了更大的灵活性和可扩展性。

  1. 原始输入数据:首先,我们需要准备原始输入数据。例如,我们可能希望从产品描述中提取颜色。

  2. 创建提示列:接下来,我们创建一个包含指令的提示列,并将其与输入数据连接在一起。例如,提示可以是“Extract the color(s) from the product description, all in capital letters... If there are multiple, return a valid comma separated list of colors (without the word and). Here is the product description: ”,然后连接相应的单元格。

  3. 选择“查询”菜单:从菜单中选择“查询”,并选择提示单元格。这将触发Apps Script函数,该函数将使用BigQuery和Gemini AI处理数据。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image3_pTyDvxh.max-800x800.png

工作原理

菜单是在onOpen()触发器中创建的,每个菜单项都链接到Apps Script中的一个函数。这些函数负责执行各种任务,例如查询Gemini AI、设置BigQuery资源以及配置参数。

以下是一些关键的菜单项和它们对应的功能:

  • 询问:使用选定的提示查询Gemini,并将答案放在右侧的列中。
  • 设置:在BigQuery中创建运行解决方案所需的工件,包括数据集、临时表和模型。
  • 配置 > 温度:控制令牌选择的随机性程度;0 是确定性的。
  • 配置 > 最大输出令牌:响应中可生成的最大标记数。标记可能小于单词,大约为 4 个字符。

该解决方案的核心是BigQuery的功能。从Apps Script,我们可以使用每个提示和配置参数执行SQL查询:ML.GENERATE_TEXT

const query = `SELECT * FROM ML.GENERATE_TEXT( MODEL \`${datasetId}.${modelId}\`, ` +
  ` (SELECT * FROM \`${projectId}.${datasetId}.${tableName}\`), ` +
  ` STRUCT(${getMaxOutputTokens()} AS max_output_tokens, ${getTemperature()} AS temperature));`;

由于响应以任意顺序返回,我们将它们存储在映射中,以便我们可以将它们与原始提示的顺序匹配。提示本身存储在临时表中。虽然可以直接将工作表中的所有值包含在查询字符串中,但使用表可以让我们处理超过1MB最大查询长度的大型数据集。

数据集、表和端点在函数中配置setup()。在用户选择的项目中,输入:

const query = `CREATE MODEL \`${projectId}.${datasetId}.${modelId}\`\n` +
  ` REMOTE WITH CONNECTION \`${projectId}.${location}.${connectionId}\`\n` +
  ` OPTIONS(ENDPOINT = "${modelName}")`

实践操作

要亲自尝试这种集成,可以访问提供的Apps Script代码。创建一个新工作表,然后通过扩展 > Apps Script添加它。然后,您需要将BigQuery API服务添加到您的Apps Script项目中。

刷新工作表后,您将看到菜单。如果尚未启用BigQuery API,则需要启用它。您还需要创建与Vertex AI的BigQuery连接。提供的代码使用连接ID genai-connection。

首次运行代码时,系统会提示您授权Apps Script访问您的Google Cloud项目。您可能还需要配置服务帐号以访问Vertex AI。如果尚未配置,对话框将提供URL和服务帐号电子邮件地址,以使此过程变得简单。

未来展望

通过将Gemini模型与Sheets相结合,用户可以实现各种新的任务,并显著提高工作效率。本文提供的集成代码可以根据用户的特定工作流程进行自定义。例如,可以创建一个更复杂的提示工程系统,以优化Gemini AI的输出。

此外,还可以探索如何在BigQuery中使用生成式AI来实现更高级的数据分析任务。例如,可以使用Gemini AI来生成报告、创建仪表板或进行预测分析。

通过将Gemini AI与Google Sheets集成,更多的用户可以获得AI洞察,并节省自定义任务的时间和精力。这种集成不仅提高了生产力,还为用户提供了新的数据处理和分析的可能性。

总而言之,Gemini AI与Google Sheets的集成代表了一种强大的工具,可以帮助用户更有效地处理和分析数据。无论您是数据分析师、市场营销人员还是业务决策者,都可以通过这种集成来提高工作效率并改善决策过程。随着AI技术的不断发展,我们可以期待未来出现更多创新性的集成,从而进一步增强Google Sheets的功能。