You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在BigQuery中实现类ChatGPT文本提示与响应生成?

在BigQuery中基于行内数据生成类ChatGPT响应的实现方法

BigQuery可以通过内置的ML功能结合大语言模型,实现基于行内数据生成类ChatGPT的响应,具体方案如下:

核心实现方式

使用BigQuery ML的GENERATE_TEXT函数,结合行内字段动态构建prompt,直接调用Google Cloud Vertex AI中的大语言模型(如Gemini、PaLM 2等)生成响应。

示例代码

WITH tbl AS (
  SELECT "Mike" AS first_name, "Davis" AS last_name, "Dinner" AS event, TIMESTAMP "2024-07-04 19:00:00 America/Los_Angeles" AS time UNION ALL
  SELECT "Thomas" AS first_name, "Keller" AS last_name, "Dinner" AS event, TIMESTAMP "2024-07-04 19:00:00 America/Los_Angeles" AS time
)
SELECT *,
  -- 动态拼接生成prompt
  CONCAT('Send a message to "', first_name, ' ', last_name, '" about a "', event, '" event at time "', FORMAT_TIMESTAMP('%Y-%m-%d %H:%M:%S %Z', time), '"') AS prompt,
  -- 调用大语言模型生成响应
  ML.GENERATE_TEXT(
    MODEL `你的项目ID.你的数据集ID.关联的模型名称`, -- 替换为实际的模型路径
    STRUCT(
      prompt AS prompt,
      0.7 AS temperature, -- 控制输出的随机性,值越高内容越多样
      1024 AS max_output_tokens -- 限制响应的最大token数
    )
  ).generated_text AS gpt_response
FROM tbl;

前置准备

  • 先在BigQuery中创建关联Vertex AI模型的资源,示例语句:
    CREATE OR REPLACE MODEL `你的项目ID.你的数据集ID.关联的模型名称`
    REMOTE WITH CONNECTION `你的项目ID.us-central1.你的连接名称`
    OPTIONS(endpoint = 'gemini-pro'); -- 可替换为其他支持的模型端点
    
  • 确保账号拥有bigquery.models.generateText权限,以及Vertex AI模型的调用权限。
  • 可通过FORMAT_TIMESTAMP函数优化时间字段的展示格式,避免原始时间戳的冗余信息。

内容的提问来源于stack exchange,提问作者David542

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 10:20:07