j.jev4pg使用文档
查询工作区
开始使用

查询工作区

启动服务后,打开简体中文工作区,使用数据库访问令牌连接,再选择需要查询的数据集。服务端的 JEV 和语言模型密钥属于另一类凭据,请勿填入工作区的令牌输入框。

服务端可以使用默认的 TypeSafe 服务、兼容的第三方接口,或本地 Python 模型适配器。配置方式见模型服务接入说明。更换服务后,原服务的模型判断不会作为新服务的缓存复用。

选择查询方式#

方式 适用情况 工作过程
JEV 自然语言查询 类型化规划器支持的问题 通过并行语义判断组合并检查 SQL,不调用语言模型生成 SQL。
混合查询 更自由的表达和复杂查询 JEV 筛选上下文,语言模型提出 SQL,JEV 并行核验。
SQL 查询 直接编写或修改查询 同样受到数据访问和执行规则约束。

混合查询需要先配置语言模型。默认调用一次生成;满足条件时,修复可能再调用一次。

描述希望得到的结果,并在必要时说明业务定义、单位和时间范围。例如:“列出每位客户最近一次付款,以及相对上一次付款的变化。”选择相关数据集有助于缩小规划范围,不会修改已存储的数据。

点击预览计划,先检查系统如何理解问题。快捷键为 Alt+Enter。编辑查询时,Ctrl+Enter 执行读取,或预览数据修改。

检查和修正方案#

混合查询的方案生成过程显示相关数据、SQL 方案和并行核验三个阶段。展开调用详情,可查看语言模型调用次数、JEV 规划请求数、保留字段数和核验轮次。抽样值只用于辅助规划,实际查询不会因此仅限于样本记录。

在候选解释中比较假设和 SQL。点击采用此理解方式会根据该选择重新生成预览,不会立即执行。局部修订会保留来源提示,原有候选也可继续查看。数据约束描述的是当前 SQL 的实现,不能证明它符合您的本意。

如果方案需要确认,请检查核验项。您可以修正判断、选择其他解释、编辑 SQL,或明确确认已有方案。无效 SQL 必须先修复才能执行。通过核验也不保证答案正确。

结果状态 含义
VALUE 已有结果,包括有效的“否”或零。
UNKNOWN 无法确定所请求的结果。
NOT_EVALUATED 尚未评估,不能当成“否”。

执行状态独立记录。FAILED、BLOCKED_BY_BUDGET 和 TRUNCATED 分别说明执行失败、额度阻塞和结果截断。因此,SQL 方案、语义核验和查询执行可以处于不同状态。不完整结果不能代表全部记录。

修改数据库还需要单独预览,再点击提交修改。检查方案或选择候选解释都不会提交写入。

修改历史查询#

在最近查询中打开一条记录,恢复问题或 SQL,或选择修正原规划判断来修正其解释。恢复记录不会自动执行。编辑后再次运行,会创建与原查询关联的新版本,并保留原记录。

未变动的混合查询决策可以复用已保存的方案和核验结果。问题或上下文发生变化时,仍可能需要新调用;并非每次编辑都不产生费用。

从文本创建记录#

在管理数据中打开从文本提取记录:

  1. 选择目标数据集,说明每一行代表什么。
  2. 定义各列名称、类型和含义,并说明单位及数字格式。
  3. 粘贴文档或载入 UTF-8 文本文件,然后提取。
  4. 检查拟导入记录及其来源片段,再导入。

提取器将原文中的准确片段转换为对应类型的值。必填值缺失或含义不明时,会保留待确认结果,不会编造记录。可选的自动导入仅在全部记录确定后执行。重复提取可能产生重复记录;此操作不负责更新或去重。文本导入参考包含接口调用、数字格式和限制。

现有数据和原生执行#

管理员可以挂接现有 PostgreSQL 表或视图,无需复制数据。挂接后,数据集会出现在选择器中,在工作区中仅供读取。可访问的记录由源表权限和行级安全策略决定。

开发预览版提供 Rust 原生扩展。管理员可使用原生容器部署构建扩展、配置证据存储并启用原生执行,也可在现有服务器上单独安装。启用后,受支持的语义 SQL 可以处理派生关系和条件分支;规划、历史查询和人工确认的操作方式不变。默认部署仍使用 Python 语义运行时。这些部署参考目前使用英文。

已发布的应用版本为 0.6.0,当前开发版为 0.7.0.dev0,原生扩展版本为 0.2.0。在开发版中,运行 jevsd-pg --version 或查看 /health 可确认应用版本。原生预览功能尚未包含在 0.6.0 发布包中。

原生嵌入目前通过 SQL 使用。系统针对同一组问题生成完整的答案概率矩阵和向量,保留问题含义与模型版本;兼容向量的距离计算在本地完成,无需再次调用模型。未执行的判断保留为空,不会转换为零概率。具体接口见嵌入指南,该开发者参考使用英文。

直接调用算子#

使用 GET /jev/operators 查看目录,使用 GET /jev/operators/examples 查看示例,通过 POST /jev/call 执行。可依次查阅算子指南、函数参考及可运行示例。这些开发者参考目前使用英文。

工作区的指南提供上述操作的简要说明。已测能力及局限见性能与成本说明。

SQL 示例#

以下请求已在 0.5.0 版本的教学数据上验证。查询生成后仍需用户确认。

列出成绩至少为80分的学生姓名和分数,按姓名排序。

sql
SELECT
  "r0"."student" AS "result_1",
  "r0"."score" AS "result_2"
FROM "exams" AS "r0"
WHERE
  "r0"."score" >= 80
ORDER BY
  "r0"."student" ASC

结果为 Ada:92、Chen:88、Emil:92。未记录的成绩不会入选。数据与运行方法见教学示例。