选择文本生成函数
本文档对 BigQuery ML ML.GENERATE_TEXT
和 AI.GENERATE
文本生成函数进行了比较。在函数功能重叠的情况下,您可以使用本文档中的信息来帮助您确定要使用哪个函数。
函数相似性
ML.GENERATE_TEXT
和 AI.GENERATE
函数在以下方面类似:
- 用途:通过将提示传递给大语言模型 (LLM) 来生成文本。
- 结算:处理数据会产生 BigQuery ML 费用。 如需了解详情,请参阅 BigQuery ML 价格。调用 LLM 时会产生 Vertex AI 费用。如果您使用的是 Gemini 2.0 或更高版本的模型,则相应调用会按批量 API 费率计费。如需了解详情,请参阅 Vertex AI 中构建和部署 AI 模型的费用。
- 可伸缩性:每个 6 小时的查询作业可处理 100 万到 1,000 万行。实际吞吐量取决于输入行中的平均令牌长度等因素。如需了解详情,请参阅生成式 AI 函数。
- 输入数据:支持来自 BigQuery 标准表和对象表的文本数据和非结构化数据。
功能差异
使用下表评估 ML.GENERATE_TEXT
和 AI.GENERATE
函数之间的差异:
ML.GENERATE_TEXT |
AI.GENERATE |
|
---|---|---|
函数签名 | 一种以表为输入并以表为输出的表值函数。 | 一种标量函数,接受单个值作为输入,并返回单个值作为输出。 |
支持的 LLM |
|
Gemini 模型 |
函数输出内容 |
Gemini 模型的函数输出内容:
其他类型模型的函数输出内容:
|
|
函数输出格式 | 生成的价值以单个 JSON 列或单独的表格列的形式返回,具体取决于 flatten_json_output 实参值。 |
生成的值以 STRUCT 对象中的字段形式返回。 |
用户体验历程 | 您必须先创建远程模型,然后才能使用该函数。 | 您可以直接使用该函数,而无需创建远程模型。 |
权限设置 | 您必须手动创建 BigQuery 连接,并向该连接的服务账号授予 Vertex AI User 角色权限。如果您使用的是 BigQuery 默认连接,则可以跳过此步骤。 | 您必须手动创建 BigQuery 连接,并向该连接的服务账号授予 Vertex AI User 角色权限。 |
优点 | 支持更灵活的输入和输出格式。 | 更易于集成到 SQL 查询中。 |
扩展函数 | 您可以使用 AI.GENERATE_TABLE 函数生成根据您指定的 SQL 输出架构进行结构化的输出。 |
您可以使用 AI.GENERATE_BOOL 、AI.GENERATE_INT 和 AI.GENERATE_DOUBLE 函数生成不同类型的标量值。 |