JevSift

文档

Base URL:https://app.jevsift.com/v1。鉴权:Authorization: Bearer jvs_…。OpenAPI:/openapi.yaml

Agent 接入优先用 MCP。下面是 HTTP 调用说明。

Skill

把仓库里的 skills/jevsift 拷到 Agent 的 skills 目录(Claude Code、Grok Build、Codex 等)。Agent 在生成投研结论后应调用检查,而不是只写 curl。

curl

curl -s https://app.jevsift.com/v1/inspect \
  -H "Authorization: Bearer $JEVSIFT_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "pack": "citation_v1",
    "claim": "公司二季度营收同比增长23%。",
    "sources": [{"id":"s1","text":"本季度营业收入同比上升23%。"}],
    "policy": "strict"
  }'

在 Agent 中调用

sources 使用检索或上下文中的原文片段,不要把模型自己的输出再当作源文。请使用标准 HTTPS 客户端(如 httpx、fetch)。

import os, httpx

URL = os.environ.get("JEVSIFT_URL", "https://app.jevsift.com/v1/inspect")
KEY = os.environ["JEVSIFT_KEY"]

def inspect_claim(claim: str, passages: list[str]) -> dict:
    sources = [{"id": f"s{i+1}", "text": p} for i, p in enumerate(passages[:5])]
    r = httpx.post(
        URL,
        headers={"Authorization": f"Bearer {KEY}"},
        json={"pack": "citation_v1", "claim": claim, "sources": sources, "policy": "strict"},
        timeout=30,
    )
    r.raise_for_status()
    return r.json()

result = inspect_claim(answer, retrieved)
if result["action"] == "block":
    hide_as_verified(answer, result)
elif result["action"] == "flag":
    queue_for_human(answer, result)

字段

请求
pack目前仅 citation_v1
claim1~2000 字
sources1~5 段,每段 1~4000 字
policystrict(默认)或 permissive

错误:400 参数/未知 pack;401 无效 Key;413 超长;429 额度用尽;502 上游失败。

辅助审核,不构成合规或投资结论。