全部集成

AI 开发
在 Jev 中使用 AdsCrawl
使用 AdsCrawl 获取网页,再由 TypeSafe 的 Jev 模型做结构化判断。AdsCrawl 返回渲染后的 Markdown;Jev 将内容作为 state 接收,并返回具有明确类型的答案,例如是非问题的概率。
能做什么
01
实时网页证据
先读取指定页面,再判断内容,并在请求状态中保留 URL。
02
结构化决策
使用 noul 获取是非问题的概率;TypeSafe 也提供 choice 和 score 类型的问题。
03
应用分流
将返回分数用于自己的业务规则,并通过有代表性的样本确定阈值。
准备工作
- 具有 API Key 和可用积分的 AdsCrawl 账号。
- Node.js 22.22 或更高版本,在服务端或本地开发环境中运行。
- 独立的 TypeSafe 账号和 TYPESAFE_API_KEY,用于调用 Jev 模型。
接入方式 01
读取网页后交给 Jev 判断
组合 AdsCrawl 与 TypeSafe SDK。此示例会将读取的页面文本发送给 TypeSafe 进行模型推理。
安装依赖
在应用目录中运行以下命令。
npm install adscrawl @typesafe-ai/sdk配置 API Key
在服务端环境或本地终端设置变量,用自己的密钥替换占位符,不要将其放入前端构建产物或提交到代码仓库。
export ADSCRAWL_API_KEY="your_adscrawl_api_key" export TYPESAFE_API_KEY="your_typesafe_api_key"保存为 jev-web.mjs
询问页面是否描述了一个用于文档示例的域名。noul 字段是 0 到 1 的概率,不是布尔值。
import AdsCrawl from "adscrawl"; import { noul, TypeSafeClient } from "@typesafe-ai/sdk"; const browser = new AdsCrawl({ apiKey: process.env.ADSCRAWL_API_KEY }); const typesafe = new TypeSafeClient({ apiKey: process.env.TYPESAFE_API_KEY }); const url = "https://example.com"; const markdown = await browser.markdown({ url, waitUntil: "domcontentloaded", }); if (!markdown.trim()) throw new Error("The page returned no text"); const { answers } = await typesafe.systemOne({ model: "jev-latest", state: { source: url, page: markdown }, questions: { exampleDomain: noul("Does this page describe a domain intended for use in documentation examples?"), }, }); console.log({ source: url, probability: answers.exampleDomain.noul });运行并接入下一步
预期输出包含 source 和数字概率的对象。概率由模型返回,并非固定值。将问题换成业务判断标准,使用已标注的网页评估效果,再选择接受、复核或拒绝策略。
node jev-web.mjs
用量与限制
- Jev 是决策模型,不是网页爬虫或通用聊天框架。AdsCrawl 网页读取和 TypeSafe 模型推理使用独立账号并分别计费,概率也不代表页面中的声明一定真实。
- 每次页面请求消耗 AdsCrawl 积分。示例读取单个公开 URL;动态页面可能需要调整 waitUntil,或增加浏览器交互步骤。
- 保留内容的来源 URL。处理长页面时,在传入模型前选择合适的分块方式或上下文长度策略。