Класс: TypeSafeClient
Клиент для API TypeSafe AI.
Конструкторы
Конструктор
new TypeSafeClient(config?): TypeSafeClient;
Создаёт клиент для API TypeSafe AI.
Явные параметры имеют приоритет над переменными окружения, затем над значениями по умолчанию SDK. Пустые значения окружения или состоящие только из пробелов игнорируются.
Параметры
config?
TypeSafeClientConfig = {}
Возвращает
TypeSafeClient
Исключения
Ключ API отсутствует, конфигурация некорректна или среда выполнения не поддерживается.
Свойства
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 extends Questions
Параметры
request
Состояние, вопросы и необязательное переопределение модели.
options?
RequestOptions = {}
Тайм-аут, повторы, заголовки и настройки отмены для отдельного вызова.
Возвращает
APIPromise<SystemOneResult<Q>>
Ответы, типизированные по имени вопроса и criteria, с моделью и использованием токенов.
Исключения
Вопросы пусты или criteria для score не являются списком как минимум из двух элементов.
Исключения
Сервер возвращает ответ с кодом не 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);