工作原理
jev4pg 将查询拆成三个环节:理解请求、取得所需证据、执行获准的数据操作。每一步都保留可检查的信息,彼此独立的语义工作可以并行执行。
各部分负责什么#
| 部分 | 职责 |
|---|---|
| PostgreSQL | 存储、事务、索引、关联、分组和精确计算。 |
| 数据目录 | 记录字段含义、主键、关系和可访问的数据集。 |
| Python 应用 | 提供 HTTP 接口、查询规划、权限检查和工作区。 |
| JEV | 根据给定上下文回答有明确类型和选项的问题。 |
| Rust 原生扩展 | 在 PostgreSQL 内调度语义扫描、共享阶段与证据复用,目前为开发预览。 |
默认部署使用 Python 语义运行时。安装原生扩展后,受支持的读取查询可以选择原生执行;持续维护的语义特征和语义写入复核仍使用 Python。
从问题到结果#
系统先读取获准使用的数据目录,选择相关定义和字段,再生成查询方案。普通 SQL 负责能精确表达的条件和计算;只有需要理解文本含义的部分才提交给语义评估。
混合模式中,JEV 选择上下文,LLM 提出 SQL,随后由 SQL 检查和 JEV 复核共同判断方案是否可执行。生成的 SQL、假设和复核结果都会保留,方便检查与修正。
依赖关系决定执行顺序#
各阶段组成有向无环图(DAG)。依赖上游结果的工作需要等待,互不依赖的工作可以在并发和预算限制内同时运行。例如,先按账户合并消息,再判断合并后的内容;两个无关数据源的语义判断则可以并行。
可在同一上下文中回答的问题会共享请求。精确汇总必须等到所需成员判断全部确定,不能把未评估的行当作不匹配。
证据与状态#
| 输出状态 | 含义 |
|---|---|
VALUE |
已取得可使用的值。 |
UNKNOWN |
已评估,但证据不足以确定答案。 |
NOT_EVALUATED |
尚未完成评估。 |
这些输出状态与 FAILED、BLOCKED_BY_BUDGET 等运行状态分开保存。模型分数、用户确认和最终执行结果也分别记录,不将其中一项当作另一项的证明。
本页介绍用法与注意事项。完整参数及详细约定请参阅对应英文文档。