j.jev4pg使用文档
简介
开始使用

简介

用自然语言提问,让语义参与 SQL 查询。

jev4pg 将 JEV 的语义判断接入 PostgreSQL。你可以用日常语言描述问题,也可以直接调用语义算子,把经过审核的业务定义保存下来,供不同查询重复使用。关联、计算和事务仍由 PostgreSQL 处理。

把业务含义变成可查询的特征#

例如,先定义并启用一个名为 needs_action 的语义特征,表示“这条记录需要后续处理”,再通过应用的 SQL 接口查询:

sql
SELECT id
FROM documents
WHERE SEMANTIC_FEATURE(body, 'needs_action');

同一份定义可以用于待办列表、统计报表和自然语言查询。每次判断都关联到具体的定义版本,便于检查和修正。这里的 SEMANTIC_FEATURE 由应用 SQL 接口处理;使用前需要创建并审核对应特征。

了解如何定义和使用语义特征。

从一个问题开始#

“每家供应商一共交了多少货?按总量从高到低排列。”

项目教程记录了这条问题生成的 SQL:

sql
SELECT
  SUM("r0"."quantity") AS "result_1",
  "r0"."supplier" AS "result_2"
FROM "deliveries" AS "r0"
GROUP BY "r0"."supplier"
ORDER BY SUM("r0"."quantity") DESC NULLS LAST;

在教程数据中,结果是 Birch:36、Aster:30、Cedar:8。SQL 负责求和;执行前,你需要检查生成的方案是否符合原意。跟着快速上手教程试一遍。

选择适合你的接口#

接口 适合做什么 当前状态
网页工作区和 HTTP API 自然语言查询、语义特征和算子调用 稳定版 v0.6.0
异步 jev.* SQL 接口 从 PostgreSQL 提交任务并读取结果 稳定版 v0.6.0
原生 jev_native.* 函数 直接执行语义查询、并行计划和概率嵌入 开发预览

默认 Docker Compose 部署使用 Python 执行引擎。原生扩展当前支持 Linux 上的 PostgreSQL 17,需要单独构建。安装稳定版或了解原生扩展。

保留证据,也保留不确定性#

彼此独立的语义问题可以并行评估,条件兼容时可以复用已有证据。VALUE 表示已有结果,UNKNOWN 表示无法确定,NOT_EVALUATED 表示尚未评估。没有执行的判断不会被当成“否”或零。

使用托管模型时,选中的上下文会发送给模型服务。如果数据必须在本地完成推理,需要配置合适的本地服务。查看模型配置。