JevCode / SDKs e integração

SDK JavaScript / TypeScript

Instale o @typesafe-ai/sdk e chame a API do System One usando um cliente com inferência automática de tipos.

Traduzido automaticamente do zh-CN, sem revisão. Apenas como referência rápida.

Fonte: docs.typesafe.ai/sdk/javascriptjavascripttypescriptsdk

Instalação

É necessário ter o Node.js 20 ou uma versão mais recente:

npm install @typesafe-ai/sdk

Crie o cliente após definir as variáveis de ambiente:

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: "Fui cobrado duas vezes. Por favor, resolva isso o mais rápido possível." },
  questions: {
    category: choice("Sobre o que é este chamado?", {
      billing: null,
      technical: null,
      other: null,
    }),
  },
});

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

Inferência de tipos

Esta é a parte mais valiosa do SDK em TS: os tipos das respostas são inferidos automaticamente com base nas perguntas que você fornece.

questions: {
  category: choice("Sobre o que é este chamado?", {
    billing: null,
    technical: null,
    other: null,
  }),
}

Como as chaves de criteria são billing / technical / other, o tipo de response.answers.category.choice é a união desses três tipos literais. Escrever “bililng” resultará em um erro em tempo de compilação, em vez de retornar undefined em tempo de execução.

Da mesma forma, perguntas construídas com score(...) terão score, legend, probabilities e confidence nas respostas; enquanto perguntas construídas com noul(...) terão apenas noul.

Isso significa que você não precisa definir manualmente os tipos das respostas nem tratar o retorno da API como any.

Estrutura da resposta

response.answers.category.choice;        // Opção selecionada
response.answers.category.probabilities; // Probabilidades de cada opção
response.answers.category.confidence;    // Confiança

Todos os tipos de perguntas são indexados pelo nome da pergunta dentro de response.answers, e os campos específicos dependem do tipo da pergunta.

Estrutura do pacote

O SDK fornece produtos para ESM, CommonJS e arquivos de declaração TypeScript, permitindo seu uso direto em diversos ambientes de construção.

Para conhecer todas as opções e valores padrão, consulte o client e os types do SDK.

Relacionados