文档导航

类:TypeSafeClient

类:TypeSafeClient

TypeSafe AI API 的客户端。

构造函数

构造函数

new TypeSafeClient(config?): TypeSafeClient;

创建一个 TypeSafe AI API 客户端。

显式传入的选项优先于环境变量,环境变量又优先于 SDK 默认值。空值或只含空白的环境变量会被忽略。

参数

config?

TypeSafeClientConfig = {}

返回值

TypeSafeClient

抛出

API key 缺失、配置无效,或运行环境不受支持。

属性

baseURL

readonly baseURL: string;

去除末尾斜杠后的 API 根地址。


defaultHeaders

readonly defaultHeaders: Readonly<Record<string, string>>;

每次请求都会附带的额外请求头。


defaultModel

readonly defaultModel: string;

请求未提供 model 时使用的模型。


fetch

readonly fetch: Fetch;

HTTP fetch 实现。


logger

readonly logger: Logger;

已配置的日志器,已按 logLevel 过滤。


logLevel

readonly logLevel: LogLevel;

已配置的日志详细程度。


models

readonly models: Models;

该账户可用的模型。


retry

readonly retry: RetryPolicy;

已应用构造函数覆盖值的重试设置。


timeout

readonly timeout: number;

每次尝试的超时时间,单位为毫秒。

方法

systemOne()

systemOne<Q>(request, options?): APIPromise<SystemOneResult<Q>>;

针对文本或结构化状态,回答具名问题。

类型参数

Q

Q 继承 Questions

参数

request

SystemOneRequest<Q>

状态、问题,以及可选的模型覆盖值。

options?

RequestOptions = {}

单次调用的超时、重试、请求头和取消设置。

返回值

APIPromise<SystemOneResult<Q>>

按问题名和 criteria 定型后的答案,附带模型与 token 用量。

抛出

问题为空,或 score 的 criteria 不是至少包含两项的列表。

抛出

重试后服务器仍返回非 2xx 响应。

抛出

重试后仍无法连接,或请求超时。

抛出

调用方中止了请求。

示例

const { answers } = await client.systemOne({
  state: "I was charged twice. Please help.",
  questions: { billing: noul("Is this about billing?") },
});
console.log(answers.billing.noul);