谷歌AI:Gemini 和 OSS 文本嵌入现已加入 BigQuery ML
由谷歌云解决方案、谷歌地图API代理商CloudAce云一(深圳)整理发布。内容来自谷歌云官方。
高质量的文本嵌入是现代 AI 应用(例如语义搜索、分类和检索增强生成 (RAG))的引擎。但是,在选择生成这些嵌入的模型时,我们知道没有万能的方案。有些用例需要最高的质量,而另一些用例则优先考虑成本、速度或与开源生态系统的兼容性。
为了让您拥有自主选择的权利,我们很高兴地宣布 BigQuery ML 的文本嵌入功能将迎来重大扩展。除了现有的text-embedding-004/005和text-multilingual-embedding-OO2模型之外,您现在还可以直接在 BigQuery 中使用 Google 强大的 Gemini 嵌入模型以及超过13,000 个开源 (OSS) 模型。使用简单的 SQL 命令,即可使用适合您作业的模型,直接在您的数据所在位置生成嵌入。

选择适合您需求的嵌入模型
随着 Gemini 和众多 OSS 模型的加入,BigQuery 现已提供全面的文本嵌入选项列表。您可以根据模型质量、成本和可扩展性等需求,选择合适的选项。以下是一些细分信息,可帮助您做出选择。

BigQuery ML 中的 Gemini 嵌入模型
Gemini 嵌入模型是一款先进的文本嵌入模型,在业界领先的文本嵌入基准测试Massive Text Embedding Benchmark (MTEB) 排行榜上始终高居榜首。该模型在 MTEB 排行榜上的优异表现直接证明了其卓越的嵌入质量。
以下是在 BigQuery 中使用新 Gemini 嵌入模型的方法:
1. 在 BigQuery 中创建 Gemini 嵌入模型
使用以下 SQL 语句在 BigQuery 中创建 Gemini 嵌入模型:通过将端点指定为“gemini-embedding-001”:
CREATE OR REPLACE MODEL bqml_tutorial.gemini_embedding_model
REMOTE WITH CONNECTION DEFAULT
OPTIONS(endpoint='gemini-embedding-001');
2. 批量生成嵌入
现在,您可以直接从 BigQuery 使用 gemini-embedding 模型生成嵌入。以下示例将文本嵌入到bigquery-public-data.hacker_news.full数据集中。
SELECT
*
FROM
ML.GENERATE_EMBEDDING(
MODEL bqml_tutorial.gemini_embedding_model,
(
SELECT
text AS content
FROM
bigquery-public-data.hacker_news.full
WHERE
text IS NOT NULL
LIMIT 10000
)
);
Gemini 嵌入模型采用一种名为“每分钟代币数量(TPM)”的全新配额控制方法。对于信誉评分较高的项目,默认 TPM 值为 500 万。需要注意的是,客户无需人工批准即可设置的最大 TPM 值为 2000 万。
一个作业可以处理的总行数取决于每行的令牌数。例如,一个处理每行 300 个令牌的表的作业,单个作业最多可以处理 1200 万行数据。
BigQuery ML 中的 OSS 嵌入模型
Qwen3-EmbeddingOSS 社区正在快速发展文本嵌入模型领域,提供丰富的选择以满足各种需求。从最近的&等顶级模型,EmbeddingGemma到小型、高效且经济实惠的小型模型(例如 ),应有尽有multilingual-e5-small。
您现在可以使用部署到 BigQuery ML 中的 Vertex AI Model Garden 的任何 Hugging Face 文本嵌入模型(超过 13,000 个选项)。为了展示此功能,我们将在示例中使用multilingual-e5-small,它不仅性能出色,而且可扩展性强且经济高效,非常适合执行大规模分析任务。
要使用开源文本嵌入模型,请按照以下步骤操作。
1. 在 Vertex 端点上托管模型。首先,从
Hugging Face中选择一个文本嵌入模型,在本例中即为上述模型。然后,导航至 Vertex AI Model Garden > 从 Hugging Face 部署。输入模型 URL,并将端点访问权限设置为“公共(共享端点) ”。您还可以自定义端点名称、区域和机器规格,以满足您的需求。默认设置会预配以下指定机器类型的单个副本:multilingual-e5-small

或者,您可以使用 BigQuery Notebook(参见教程笔记本示例)或公共文档中提到的其他方法以编程方式执行此步骤。
2. 在 BigQuery 中创建远程模型
部署模型需要几分钟时间。完成后,使用以下 SQL 语句在 BigQuery 中创建相应的远程模型:
CREATE OR REPLACE MODEL bqml_tutorial.multilingual_e5_small
REMOTE WITH CONNECTION DEFAULT
OPTIONS
(endpoint='https://<region>-aiplatform.googleapis.com/v1/projects/<project_name>/locations/<region>/endpoints/<endpoint_id>'
);
将上述代码示例中的占位符端点替换为端点 URL。您可以通过“Vertex AI”>“在线预测”>“端点”>“示例请求”从控制台获取有关 endpoint_id 的信息。
3. 批量生成嵌入
现在,您可以直接从 BigQuery 使用 OSS 模型生成嵌入multilingual-e5-small。请参阅以下示例,该示例将文本嵌入 bigquery-public-data.hacker_news.full 数据集中。
SELECT
*
FROM
ML.GENERATE_EMBEDDING(
MODEL bqml_tutorial.multilingual_e5_small,
(
SELECT
text AS content
FROM
bigquery-public-data.hacker_news.full
WHERE
text IS NOT NULL
LIMIT 10000
)
);
通过为模型部署选择默认资源,查询可以hacker_news在大约 2 小时 10 分钟内处理数据集中的所有 3800 万行 - 这是仅使用单个模型副本即可实现的基准吞吐量。
您可以通过预置更多计算资源或启用终端节点自动扩展来扩展工作负载。例如,如果您选择 10 个副本,查询速度将提高 10 倍,并且每个六小时的查询作业 能够处理数十亿行数据。
4. 取消部署模型
Vertex AI 端点只要处于活动状态,即使机器处于空闲状态,也会产生费用。为了完成批量作业并避免产生意外费用,您必须在批量推理后“取消部署”模型。您可以通过 Google Cloud 控制台(Vertex AI > 端点 > 您的端点 > 从端点取消部署模型)或使用我们的 Colab 示例脚本来执行此操作。
对于批量工作负载,最经济高效的模式是将部署、推理和取消部署视为一个连续的工作流程,从而最大限度地减少闲置成本。实现此目标的一种方法是按顺序运行示例 Colab。结果非常显著:处理全部 3800 万行数据仅需花费约 2 到 3 美元。
立即开始
准备好构建您的下一个 AI 应用了吗?立即开始在 BigQuery 中直接使用 Gemini 或您喜爱的开源模型生成嵌入。搜索“Cloud Ace云一”获取解决方案吧。
更多推荐



所有评论(0)