类类:TypeSafeClient

TypeSafe AI API 的客户端。

构造函数

构造函数

ts
new TypeSafeClient(config?): TypeSafeClient;

创建 TypeSafe AI API 的客户端。

显式传入的选项优先于环境变量,其次为 SDK 默认值。 为空或仅包含空白字符的环境变量值会被忽略。

参数

config?

TypeSafeClientConfig = {}

返回值

TypeSafeClient

抛出

API 密钥缺失、配置无效,或运行时不支持。

属性

baseURL

ts
readonly baseURL: string;

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


defaultHeaders

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

随每个请求发送的附加请求头。


defaultModel

ts
readonly defaultModel: string;

请求省略 model 时使用的模型。


fetch

ts
readonly fetch: Fetch;

HTTP fetch 实现。


logger

ts
readonly logger: Logger;

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


logLevel

ts
readonly logLevel: LogLevel;

配置的日志详细程度。


models

ts
readonly models: Models;

当前账户可用的模型。


retry

ts
readonly retry: RetryPolicy;

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


timeout

ts
readonly timeout: number;

每次尝试的超时时间(毫秒)。

方法

systemOne()

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

回答关于文本或结构化状态的具名问题。

类型参数

Q

Q extends Questions

参数

request

SystemOneRequest<Q>

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

options?

RequestOptions = {}

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

返回值

APIPromise<SystemOneResult<Q>>

答案按问题名称和条件进行类型化,并附带模型和 token 用量。

抛出

问题列表为空,或评分条件不是包含至少两个条目的列表。

抛出

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

抛出

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

抛出

调用方中止了请求。

示例

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