跳转到主要内容

jev

通过 TypeSafe 实现自然语言行过滤、排序和分类

概览

扩展包名版本分类许可证语言
jev0.2.0RAGPostgreSQLPython
ID扩展名BinLibLoadCreateTrustReloc模式
1900jev否否否是否否public
相关扩展plpython3u

Requires plpython3u and API credentials; sends row contents to an external model service. PG14-17.

版本

类型仓库版本PG 大版本包名依赖
EXTPIGSTY0.2.01817161514jevplpython3u
RPMPIGSTY0.2.01817161514jev_$vpostgresql$v-plpython3
DEBPIGSTY0.2.01817161514postgresql-$v-jevpostgresql-plpython3-$v
OS / PGPG18PG17PG16PG15PG14
el8.x86_64N/A
el8.aarch64N/A
el9.x86_64N/A
el9.aarch64N/A
el10.x86_64N/A
el10.aarch64N/A
d12.x86_64N/A
d12.aarch64N/A
d13.x86_64N/A
PIGSTY 0.2.0
PIGSTY 0.2.0
PIGSTY 0.2.0
PIGSTY 0.2.0
d13.aarch64N/A
PIGSTY 0.2.0
PIGSTY 0.2.0
PIGSTY 0.2.0
PIGSTY 0.2.0
u22.x86_64N/A
PIGSTY 0.2.0
PIGSTY 0.2.0
PIGSTY 0.2.0
PIGSTY 0.2.0
u22.aarch64N/A
PIGSTY 0.2.0
PIGSTY 0.2.0
PIGSTY 0.2.0
PIGSTY 0.2.0
u24.x86_64N/A
PIGSTY 0.2.0
PIGSTY 0.2.0
PIGSTY 0.2.0
PIGSTY 0.2.0
u24.aarch64N/A
PIGSTY 0.2.0
PIGSTY 0.2.0
PIGSTY 0.2.0
PIGSTY 0.2.0
u26.x86_64N/A
u26.aarch64N/A

构建

您可以使用 pig build 命令构建 jev 扩展的 RPM / DEB 包:

pig build pkg jev         # 构建 RPM / DEB 包

安装

您可以直接安装 jev 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:

pig repo add pgsql -u          # 添加仓库并更新缓存

使用 pig 或者是 apt/yum/dnf 安装扩展:

安装
pig install jev;          # 当前活跃 PG 版本安装
pig
pig ext install -y jev -v 17  # PG 17
pig ext install -y jev -v 16  # PG 16
pig ext install -y jev -v 15  # PG 15
pig ext install -y jev -v 14  # PG 14
dnf
dnf install -y jev_17       # PG 17
dnf install -y jev_16       # PG 16
dnf install -y jev_15       # PG 15
dnf install -y jev_14       # PG 14
apt
apt install -y postgresql-17-jev   # PG 17
apt install -y postgresql-16-jev   # PG 16
apt install -y postgresql-15-jev   # PG 15
apt install -y postgresql-14-jev   # PG 14

创建扩展:

CREATE EXTENSION jev CASCADE;  -- 依赖: plpython3u

用法

来源:

jev 使用 TypeSafe API 对自然语言条件求值,实现行过滤、排序和分类。它依赖 plpython3u,需要超级用户安装和 API 密钥。上游文档支持 PostgreSQL 14–17,无需预加载。

查询数据行

CREATE EXTENSION jev CASCADE;
SET jev.api_key = 'your-key';
CREATE TABLE jev_demo (id integer, body text);
INSERT INTO jev_demo VALUES (1, 'The customer requests a refund');
SELECT id, jev_prob(jev_demo, 'the customer requests a refund')
FROM jev_demo;
SELECT jev_stats();

jev() 返回布尔谓词,jev_prob() 返回概率;jev_choice() 从选项中分类,jev_score() 对有序等级评分。缓存和连接池属于会话,jev_cache_clear() 清理会话状态。

服务与数据边界

扩展会将行内容发送至配置的 API。通过 jev.api_url 指定服务,使用 jev.max_rows_per_statement 和 jev.max_chars_per_statement 限制工作量。API 延迟和费用取决于服务与数据量,API 密钥须按凭据管理。

PL/Python 以数据库服务进程的操作系统权限运行;不提供超级用户或 PL/Python 的托管服务无法运行此扩展。本地包测试使用上游模拟 API,不验证远程模型判断的质量。

这个页面对您有帮助吗?