@effect-uai/typesafe-ai

中文文档
0.19.1发布于 2026/11/15MITTypeScriptES Module零依赖构建来源已验证近 30 天下载 2.6万

用于@effect-uai/core(Jev System One决定模型)的TypeSafe AI提供商.

中文使用文档
文档目录8 节
  1. 安装
  2. 把它接起来
  3. 决定
  4. 模型
  5. 输入计划是为了什么
  6. 关于分数
  7. 错误
  8. 另见

@ effect- uai/ type safe- ai

类型安全 AI 供应商 @effect-uai/core。 。 。 . 服务于 DecisionModel 与Jev,一个系统一模型 回答关于输入概率而不是概率的问题 生成文本.

实验 这种型号是新的,形状可能会有变化.

安装

pnpm add @effect-uai/core @effect-uai/typesafe-ai effect

把它接起来

import { Config, Effect, Layer } from "effect"
import { FetchHttpClient } from "effect/http"
import { layer as jevLayer } from "@effect-uai/typesafe-ai/Jev"

const provider = Layer.unwrap(
  Effect.gen(function* () {
    const apiKey = yield* Config.Redacted("TYPESAFE_AI_API_KEY")
    return jevLayer({ apiKey })
  }),
)

const mainLayer = provider.pipe(Layer.provide(FetchHttpClient.layer))

一层,两个标签: Jev 报告 confidence, (中文(简体) ), DecisionModel 适用于便携式供应商的编码.

决定

import { Schema } from "effect"
import * as Decision from "@effect-uai/core/Decision"
import { decide } from "@effect-uai/core/DecisionModel"

const triage = Decision.make({
  inputSchema: Schema.Struct({ message: Schema.String }),
  decisions: {
    department: Decision.classify({
      instructions: "Which team should handle this?",
      criteria: {
        billing: "Payments, invoicing, refunds",
        technical: "Bugs, outages, integrations",
      },
    }),
    severity: Decision.rate({
      instructions: "How severe is the reported issue?",
      criteria: ["Cosmetic", "Degraded", "Blocking"],
    }),
    urgent: Decision.probability({ instructions: "Does this convey urgency?" }),
  },
})

const program = Effect.gen(function* () {
  const { answers } = yield* decide(triage, {
    model: "jev-latest",
    input: { message: "Payouts have been failing for 3 days." },
  })

  answers.department.labels.billing // number
  answers.urgent.probability // number
  answers.severity.legend[Decision.topLevel(answers.severity)] // "Degraded"

  const leader = Decision.ranked(answers.department)[0]
  return leader === undefined || leader.probability < 0.5 ? "escalate" : leader.label
})

定义中的每个决定都用一个调用回答,编码输入 开一次单,所以批次,而不是每个问题.

模型

jev-latest (违约), jev-preview, (中文(简体) ), jev-1.13.0每个请求64克令牌, 其中约32k用于编码输入外加最长的单项决定. 仅文.

输入计划是为了什么

inputSchema 编码出道时的输入。 省略字段的策略 让它远离模型,这是支持的 保持无关或 请求中的敏感上下文。 供应商的文件大都无关紧要 作为分心器的输入,所以故意投影是值得的.

关于分数

在浮动点误差中概率和1,在 一个答案。 捷夫自己来的 confidence 可在 Jev 标签; 它没有打开 共同的答案,因为它的公式是无证的,它没有在 probability 决定. Decision.confidence 财务报告和审定财务报表 Decision.margin 为: 从各种类型的分发、记录和定义中计算。 门 最高概率和 margin,没有打开 confidence: 常态 en 随着标签数的增加而收缩,所以在两个标签上悄悄地调出一个阈值 要求质量要大得多的四.

已知的薄弱点/销售商自己的挂号:数和 算术,日期顺序,多跳推理,和数字分数都很弱 如此校正 expectedLevel 不应将它视为一个规模。 输入是 因此输入中注入的指令可以引导 答话.

错误

状态AiError
401 (中文(简体) )AuthFailed{subtype:"auth"}
402 (韩语)AuthFailed{subtype:"billing"}
403 (韩语)AuthFailed{subtype:"permission"}
408/504 (中文(简体) )Timeout
413号ContextLengthExceeded
422个InvalidRequest
429个RateLimited
5 (简体中文)Unavailable

无法编码的输入 InvalidRequest 与 param: "input"。 。 。 . 其形状与要求它的决定不符的答案是 GenerationFailed。 。 。 .

另见

版本与发布记录

@effect-uai/typesafe-ai 共发布 8 个版本,首次发布于 2026/09/19;过去 12 个月发布了 8 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.19.1latest2026/11/15今天
0.20.0-dev-20261110202152dev2026/11/115 天前
0.19.02026/11/105 天前
0.19.0-dev-202611100659302026/11/105 天前
0.19.0-dev-202611091839592026/11/106 天前
0.18.02026/10/061 个月前

关于 @effect-uai/typesafe-ai 的常见问题

@effect-uai/typesafe-ai 是什么?

用于@effect-uai/core(Jev System One决定模型)的TypeSafe AI提供商.

如何安装 @effect-uai/typesafe-ai?

在项目目录运行 npm install @effect-uai/typesafe-ai,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:effect(>=4.0.1 <5.0.0)、@effect-uai/core(>=0.17.0 <1)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@effect-uai/typesafe-ai 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@effect-uai/typesafe-ai 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@effect-uai/typesafe-ai 可以商用吗?

@effect-uai/typesafe-ai 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@effect-uai/typesafe-ai 的下载量有多少?

根据 npm 官方下载统计,@effect-uai/typesafe-ai 在 2026/10/13 – 2026/11/11 这 30 天内被下载 25,756 次,日均约 859 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@effect-uai/typesafe-ai 还在维护吗?

最新版本 0.19.1 发布于 2026/11/15(今天);至今共发布 8 个版本,其中过去 12 个月发布了 8 个;首次发布于 2026/09/19。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。