文件導航

類: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);