JevCode / SDKs & Integration

JavaScript / TypeScript SDK

Installieren Sie @typesafe-ai/sdk, um die System-One-API über einen Client mit automatischer Typableitung aufzurufen.

Maschinell aus zh-CN übersetzt, nicht lektoriert. Nur als Kurzreferenz geeignet.

Quelle: docs.typesafe.ai/sdk/javascriptjavascripttypescriptsdk

Installation

Node.js 20 oder höher ist erforderlich:

npm install @typesafe-ai/sdk

Erstellen Sie nach dem Festlegen der Umgebungsvariablen den Client:

export TYPESAFE_API_KEY="sk-..."

Grundlegende Verwendung

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

const client = new TypeSafeClient();
const response = await client.systemOne({
  state: { document: "I was charged twice. Please fix this ASAP." },
  questions: {
    category: choice("What is this ticket about?", {
      billing: null,
      technical: null,
      other: null,
    }),
  },
});

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

Typableitung

Dies ist der wertvollste Teil der TS SDK: Die Antworttypen werden automatisch aus den übergebenen Fragen abgeleitet.

questions: {
  category: choice("What is this ticket about?", {
    billing: null,
    technical: null,
    other: null,
  }),
}

Da die Schlüssel von criteria billing / technical / other sind, ist der Typ von response.answers.category.choice die Vereinigung dieser drei Literal-Typen. Das Schreiben von "bililng" führt zu einem Fehler zur Kompilierzeit, anstatt zur Laufzeit undefined zurückzugeben.

Ebenso haben Antworten auf Fragen, die mit score(...) erstellt wurden, die Felder score, legend, probabilities und confidence; Antworten auf Fragen, die mit noul(...) erstellt wurden, enthalten nur noul.

Dies bedeutet, dass Sie keine manuellen Typdefinitionen für Antworten schreiben müssen und die API-Antworten nicht als any behandeln müssen.

Antwortstruktur

response.answers.category.choice;        // Ausgewählte Option
response.answers.category.probabilities; // Wahrscheinlichkeiten für jede Option
response.answers.category.confidence;    // Konfidenzwert

Alle Fragetypen sind einheitlich unter response.answers nach Fragename indiziert; die spezifischen Felder hängen vom Typ der Frage ab.

Paketstruktur

Die SDK stellt gleichzeitig Produkte im ESM-, CommonJS-Format sowie TypeScript-Deklarationsdateien bereit, sodass sie in verschiedenen Build-Umgebungen direkt verwendet werden können.

Wenn Sie alle Optionen und Standardwerte kennenlernen möchten, können Sie die client und types der SDK einsehen.

Verwandte Themen