用途:把非结构化文档(PDF、DOC/DOCX、PPT/PPTX、JPG/JPEG、PNG)解析为结构化文本,是文档处理和自定义 RAG 管道的基础。适用于需要解析文档、从非结构化文档提取数据、构建 RAG 管道(解析→分块→索引→查询),或从 Unity Catalog Volumes 摄取文档做搜索分析的场景。
主要能力:ai_parse_document 是 SQL AI 函数,运行在 Serverless SQL Warehouse 上,可写为 ai_parse_document(content) 或 ai_parse_document(content, options)。输入为二进制文档内容(用 read_files 配 format => 'binaryFile' 读取),输出为 VARIANT,含 document.pages[]、document.elements[] 与 metadata。支持版本、图像输出路径、AI 描述元素类型等选项。可结合 ai_query 提取结构化字段,或用 transform() 与 try_cast() 拼接元素文本。
使用方式:快速解析示例如 SELECT path, ai_parse_document(content) AS parsed FROM read_files('/Volumes/catalog/schema/volume/docs/', format => 'binaryFile');。构建 RAG 时先解析并分块写入 Delta 表,需用 variant_get 显式转换为 ARRAY<VARIANT> 再 explode;随后启用 Change Data Feed(ALTER TABLE ... SET TBLPROPERTIES (delta.enableChangeDataFeed = true)),再用向量搜索技能创建 Delta Sync 索引并查询。生产环境可用 Structured Streaming 加检查点做增量解析。
限制:需 Databricks Runtime 17.1+ 与 Serverless SQL Warehouse;仅 US/EU 区域或启用跨地域路由;大文档建议用 LIMIT 控成本;explode() 不接受原始 VARIANT,须先转换;短碎块用 length(trim(...)) > 10 过滤;ai_query 可用 returnType => 'STRING' 获得干净输出。其余细节暂未提供。