企业多模态Agent

将混杂的多模态业务数据转化为可信、可审计的洞察

一个SQL流水线统筹文档、图片、视频、表格、日志处理和模型推理,Agent决策可信可追溯

复杂材料可信决策
document rows · media refs · 表格 · 日志 · 模型输出

杂乱材料

contract.pdfPDF
巡检照片图像
视频帧视频
通话音频音频
电子表格表格
系统日志日志
Vane

输出

Agent可用输出上下文已附加
上下文已附加
洞察结构化信号与问题
证据文档 · 规则 · 来源 URI
建议带规则上下文的下一步行动
问题

为Agent构建从多模态文件到可信决策和可追溯的证据链

如今这条链通常被拼接在 OCR 脚本、临时文件、模型调用、SQL 任务和审查工具之间。

之前 — 碎片化链路

杂乱材料
OCR 脚本
临时文件
LLM 调用
更多脚本
SQL 规则
人工审查

⚠ 系统分散 · 到处是 glue code · 来源引用丢失 · 难以调试 · 可复现性差

之后 — 一条流水线

杂乱材料VANE可信决策洞察 · 证据 · 建议
复杂材料可信决策
Vane 如何工作

从源记录到可审计洞察,统一在一条数据流水线中完成

STEP 01

把 SQL、UDF 和模型推理组合成一条关系流水线

SQL 规则UDF 计算模型推理
关系流水线

从原始多模态数据开始,把 SQL 规则、UDF 计算和模型推理接到同一条流水线里,不再拆成多个任务。

STEP 02

把来源引用保留到最终结果里

模型输出
证据追溯文档 ID · 规则命中 · 模型响应 · 来源 URI

SQL ai_prompt 返回标量结果;在 projection 中为它设置别名,并在同一审查行保留文档 ID、规则命中、模型响应和来源 URI。

STEP 03

从本地执行,快速切换到 Ray 扩展

本地运行Ray runner
同一关系形态

从本地运行,简单快速的切换到 Ray 分布式运行

真实示例

保险文档审计工作流

Python 规则注册一次后即可在 SQL 中与 ai_prompt 并排调用;业务 ID 和来源引用始终保留在每条审核结果中。

原始材料
document_idtextsource_uri
DOC-1029no signatureclaim.pdf
DOC-1030policy expiredpolicy.pdf
DOC-1031coverage limitmemo.pdf
Vane · 一条流水线
1Python 规则
2SQL AI 审查
3审核结果
输出
规则命中
AI 发现
来源 URI
insurance_document_audit.py
import vane


@vane.func(return_dtype="VARCHAR")
def policy_check(text):
    return "missing_signature" if "missing signature" in text.lower() else None


con = vane.connect()
vane.attach_function(
    policy_check,
    parameters=["VARCHAR"],
    connection=con,
)


findings = con.sql("""
    SELECT claim_id, document_id,
           policy_check(text) AS rule_hit,
           ai_prompt(
               text,
               system_message := 'Find missing claim evidence.',
               provider := 'openai',
               model := 'gpt-4o-mini'
           ) AS ai_finding,
           source_uri
    FROM read_parquet('claims/*.parquet')
""")


findings.write_parquet("audit_findings.parquet")

有文档、视频、图片、日志等多模数据需要转变为Agent可信决策吗?