JevCode / SDKs e integración

SDK de JavaScript / TypeScript

Instala @typesafe-ai/sdk para llamar a la API de System One con un cliente que utiliza inferencia de tipos automática.

Traducido automáticamente del zh-CN, sin revisión. Solo como referencia rápida.

Fuente: docs.typesafe.ai/sdk/javascriptjavascripttypescriptsdk

Instalación

Se requiere Node.js 20 o una versión posterior:

npm install @typesafe-ai/sdk

Crea el cliente después de configurar las variables de entorno:

export TYPESAFE_API_KEY="sk-..."

Uso básico

import { choice, TypeSafeClient } from "@typesafe-ai/sdk";

const client = new TypeSafeClient();
const response = await client.systemOne({
  state: { document: "Me han cobrado dos veces. Por favor, arreglen esto lo antes posible." },
  questions: {
    category: choice("¿De qué trata este ticket?", {
      billing: null,
      technical: null,
      other: null,
    }),
  },
});

console.log(response.answers.category.choice);

Inferencia de tipos

Esta es la parte más valiosa del SDK de TS: los tipos de las respuestas se infieren automáticamente a partir de las preguntas que proporcionas.

questions: {
  category: choice("¿De qué trata este ticket?", {
    billing: null,
    technical: null,
    other: null,
  }),
}

Dado que las claves de criteria son billing / technical / other, el tipo de response.answers.category.choice es la unión de estos tres tipos literales. Escribir "bililng" generará un error en tiempo de compilación, en lugar de devolver undefined en tiempo de ejecución.

De manera similar, las preguntas construidas con score(...) tendrán score, legend, probabilities y confidence en sus respuestas; mientras que las construidas con noul(...) solo tendrán noul.

Esto significa que no necesitas definir manualmente los tipos de las respuestas ni tratar lo que devuelve la API como any.

Estructura de la respuesta

response.answers.category.choice;        // Opción seleccionada
response.answers.category.probabilities; // Probabilidades de cada opción
response.answers.category.confidence;    // Nivel de confianza

Todos los tipos de preguntas se indexan de forma unificada bajo response.answers por el nombre de la pregunta, y los campos específicos dependen del tipo de pregunta.

Estructura del paquete

El SDK proporciona simultáneamente tres tipos de artefactos: ESM, CommonJS y archivos de declaración de TypeScript, por lo que puede usarse directamente en diversos entornos de compilación.

Si deseas conocer todas las opciones y sus valores predeterminados, consulta el client y los types del SDK.

Relacionado