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
状态、问题,以及可选的模型覆盖。
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);