Aidp Ai Sql

作者 oracle-samples90b42d6c24d4无许可证收录于 2026年10月8日更新于 2026年10月8日

Run LLM functions inside Spark SQL on AIDP via ai_generate(). Use when the user wants to summarize/classify/extract/enrich rows with an LLM directly in SQL, generate narratives over aggregated results, or do grounded RAG-style analysis in the lakehouse. Signature is model-first; available models must be confirmed live before relying on it.

仅含说明Data & Analytics
AI 生成的概览

通过 ai_generate() 在 AIDP 的 Spark SQL 中调用大模型,对湖仓数据进行摘要、分类、抽取或叙述。

功能
该技能指导如何在 AIDP 的 Spark SQL 中直接调用大模型,使用模型在前的 ai_generate(' ', ' ') 函数。它涵盖将提示词建立在聚合或筛选后的查询行之上、以列表达式方式进行逐行增强,以及针对聚合结果生成叙述。交互式单元格通过随附的辅助脚本 scripts/aidp_sql.py 执行,返回包含状态、输出和 Spark 作业 ID 的 JSON。它还规定了冒烟测试以及可靠性规则,例如限制行数、并展示 AI 叙述背后的原始数据。
适用场景
适用于用户希望在 SQL 中直接用大模型对行进行摘要、分类、抽取或增强,或针对聚合后的湖仓结果生成有依据的叙述。也适用于在不离开 SQL 的情况下于湖仓内进行有依据的 RAG 式分析。
运行要求
需要具备 Spark 集群的 AIDP 环境以及随附的辅助脚本 scripts/aidp_sql.py;该脚本会使用 api_key DEFAULT 配置文件获取 UPST,并自动创建临时笔记本。需要提供 region、datalake OCID、workspace 和 cluster key 参数,并能访问 AIDP 控制平面网络。不需要 aidp MCP 或 AIDP_SESSION。可用模型名称必须在目标集群上实时确认。

aidp-ai-sql — LLM-in-SQL with ai_generate()

Call an LLM directly inside Spark SQL on AIDP — summarize, classify, extract, or narrate over lakehouse data without leaving SQL. A signature differentiator: most competitor agents can't do this inline.

This is a SQL-helper skill. Interactive Spark SQL runs through the bundled helper scripts/aidp_sql.py (it mints a UPST from the api_key DEFAULT profile, auto-creates a scratch notebook, and returns JSON). No aidp MCP and no AIDP_SESSION required.

When to use

  • "Summarize / classify / extract / enrich these rows with AI in SQL."
  • Generate a grounded narrative over an aggregate (e.g. a finance summary over a spend rollup).

Signature (model FIRST)

sql
ai_generate('<model>', '<prompt>')

e.g. ai_generate('openai.gpt-5.4', 'Summarize this supplier spend: ...').

LIVE-VERIFIED model-first (model, prompt) signature with openai.gpt-5.4, openai.gpt-4o, and xai.grok-4.

Verify before relying on it (no-fabrication): confirm the exact signature and the available model names live on the target cluster before treating this as guaranteed — run a trivial SELECT ai_generate('<model>', 'hello') cell first (see smoke test below). Model availability varies by environment. If a model name fails, list/ask for the correct one rather than guessing.

Don't gate on the /models REST catalog. ai_generate resolves the model at the Spark engine level, so it can work even when aidp-models-catalog's GET /models?modelType=GENERATIVE_AI returns an empty list. The smoke test (not the catalog endpoint) is the source of truth for whether ai_generate works.

How to run a cell

bash
python "$PLUGIN_DIR/scripts/aidp_sql.py" \  --region <region> --datalake <DATALAKE_OCID> --workspace <ws> --cluster <cluster-key> \  --code "<python/spark code>"

Returns JSON: {"status":"ok|error","outputs":[...],"spark_job_ids":[...]}. Exit 0 on success, 1 on cell error. See scripts/aidp_sql.py for full flags (--profile, --session-profile, --notebook, --timeout).

Smoke test (do this first)

bash
python "$PLUGIN_DIR/scripts/aidp_sql.py" --region <region> --datalake <ocid> --workspace <ws> --cluster <key> \  --code "spark.sql(\"SELECT ai_generate('openai.gpt-5.4', 'hello')\").show(truncate=False)"

Workflow (grounded RAG pattern)

  1. Ensure cluster RUNNING (cluster-ops via oci raw-request; see references/no-mcp-rest-map.md).
  2. Ground first: aggregate/select the rows you want the LLM to reason over (small, relevant set).
  3. Embed that grounded context into the prompt and call ai_generate('<model>', '<grounded prompt>'). For per-row enrichment, call it as a column expression over a bounded set.
  4. Present the generated text alongside the underlying data so the user can verify it.

Pass the cell to --code:

python
ctx = spark.sql("SELECT ... FROM gold.supplier_spend ...").toPandas().to_string()res = spark.sql(f"SELECT ai_generate('openai.gpt-5.4', 'As a finance analyst, summarize: {ctx}') AS summary")res.show(truncate=False)

Reliability rules

  • Always ground the prompt in real query output — don't ask the model to recall data it can't see.
  • Bound row counts for per-row ai_generate (cost + latency).
  • Show the data behind any AI narrative; never present generated numbers as ground truth without the SQL.

References

  • scripts/aidp_sql.py — the SQL/notebook-cell executor (bundled helper)
  • references/oci-raw-request.md — REST control-plane (clusters, auth)
  • references/no-mcp-rest-map.md · pairs with aidp-analyzing-data

来源与署名

来源:oracle-samples/oracle-aidp-samples位于ai/claude-code-plugins/oracle-ai-data-platform-workbench-engineer-agent/skills/aidp-ai-sql提交90b42d6

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架

更多来自 oracle-samples/oracle-aidp-samples 的技能

Aidp Workspace Admin

oracle-samples

Provision and inspect AIDP DataLake instances and workspaces, including private-network workspaces attached to a customer VCN/subnet. Use when the user wants to create/list/get a workspace or DataLake instance, set up a new (e.g. private) AIDP environment, or replicate a customer setup. Create/delete are guarded — confirm before any provisioning.

待分类2026年10月8日

Aidp Volumes

oracle-samples

Work with AIDP volumes — list volumes, browse files inside a volume, upload/download via the PAR flow, and create directories. Use when the user mentions volumes, needs to stage large/binary files, or move data in/out of a volume (distinct from the workspace filesystem). Control-plane via the official `aidp` CLI.

待分类2026年10月8日

Aidp Verified Queries

oracle-samples

维护经过验证的问题到 Spark SQL 配对库,让智能体在生成新 SQL 前优先复用可信查询。

Data & Analytics2026年10月8日

Aidp User Settings

oracle-samples

通过 aidp CLI 或 oci raw-request 备用方式管理 AIDP DataLake 用户设置与偏好。

Productivity & Workflow2026年10月8日

Aidp Spark Optimization

oracle-samples

指导 Apache Spark 3.5.0 性能调优:分区、shuffle、连接、倾斜、内存、文件布局、AQE 与 Delta Lake。

Data & Analytics2026年10月8日

Aidp Semantic Model

oracle-samples

维护 .aidp/semantic.md 业务语义层,定义指标、连接、同义词和值字典,为自然语言转 SQL 提供依据。

Data & Analytics2026年10月8日