Clase: TypeSafeClient
Cliente para la API de TypeSafe AI.
Constructores
Constructor
new TypeSafeClient(config?): TypeSafeClient;
Crea un cliente para la API de TypeSafe AI.
Las opciones explícitas tienen prioridad sobre las variables de entorno y, después, sobre los valores predeterminados del SDK. Los valores de entorno vacíos o con solo espacios se ignoran.
Parámetros
config?
TypeSafeClientConfig = {}
Devuelve
TypeSafeClient
Lanza
Falta la clave de API, la configuración no es válida o el runtime no es compatible.
Propiedades
baseURL
readonly baseURL: string;
Raíz de la API sin las barras finales.
defaultHeaders
readonly defaultHeaders: Readonly<Record<string, string>>;
Cabeceras adicionales que se envían con cada solicitud.
defaultModel
readonly defaultModel: string;
Modelo que se usa cuando una solicitud omite model.
fetch
readonly fetch: Fetch;
Implementación de fetch HTTP.
logger
readonly logger: Logger;
El logger configurado, filtrado por logLevel.
logLevel
readonly logLevel: LogLevel;
Nivel de detalle del registro configurado.
models
readonly models: Models;
Los modelos disponibles para la cuenta.
retry
readonly retry: RetryPolicy;
Ajustes de reintento con las sobrescrituras del constructor aplicadas.
timeout
readonly timeout: number;
Tiempo de espera por intento en milisegundos.
Métodos
systemOne()
systemOne<Q>(request, options?): APIPromise<SystemOneResult<Q>>;
Responde preguntas con nombre sobre texto o estado estructurado.
Parámetros de tipo
Q
Q extends Questions
Parámetros
request
Estado, preguntas y una sobrescritura de modelo opcional.
options?
RequestOptions = {}
Tiempo de espera, reintentos, cabeceras y cancelación por llamada.
Devuelve
APIPromise<SystemOneResult<Q>>
Respuestas tipadas por nombre de pregunta y criterios, con el modelo y el uso de tokens.
Lanza
Las preguntas están vacías, o los criterios de score no son una lista de al menos dos entradas.
Lanza
El servidor devuelve una respuesta que no es 2xx después de los reintentos.
Lanza
La solicitud no puede conectarse o agota el tiempo de espera después de los reintentos.
Lanza
Quien llama cancela la solicitud.
Ejemplo
const { answers } = await client.systemOne({
state: "I was charged twice. Please help.",
questions: { billing: noul("Is this about billing?") },
});
console.log(answers.billing.noul);