在当今数据驱动的世界中,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一次性生成或丰富多行数据,这在处理大量数据时尤为有用。
直接方法:通过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之间的桥梁,实现更高效的数据处理。
流程概述
与直接方法不同,通过BigQuery集成,我们将创建一个链接到Apps Script函数的菜单项,而不是自定义函数。这种方法提供了更大的灵活性和可扩展性。
原始输入数据:首先,我们需要准备原始输入数据。例如,我们可能希望从产品描述中提取颜色。
创建提示列:接下来,我们创建一个包含指令的提示列,并将其与输入数据连接在一起。例如,提示可以是“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: ”,然后连接相应的单元格。
选择“查询”菜单:从菜单中选择“查询”,并选择提示单元格。这将触发Apps Script函数,该函数将使用BigQuery和Gemini AI处理数据。
工作原理
菜单是在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的功能。