類: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
狀態、問題,以及可選的模型覆蓋值。
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);