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.
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
- Schnellstart in 5 Minuten
- Fragetypen (Primitives) — Wie man die drei Arten von Fragen erstellt
- Fan-Out Parallelisierung — Stellen Sie mehrere Fragen auf einmal