Künstliche Intelligenz: TypeChat strukturiert Ausgaben von Sprachmodellen

Die experimentelle Library von Microsoft soll für strukturierte Antworten großer Sprachmodelle wie ChatGPT durch JSON und TypeScript-Typen sorgen.

In Pocket speichern vorlesen Druckansicht 4 Kommentare lesen
Ai(artificial,Intelligence),Concept. Bard, ChatGPT, KI, Chatbot

(Bild: metamorworks/Shutterstock.com)

Lesezeit: 3 Min.
Von
  • Maika Möbus

Ein Team bei Microsoft – inklusive TypeScript-Erfinder Anders Hejlsberg – hat die experimentelle Library TypeChat zum Erstellen von Natural Language Interfaces entwickelt. Die Besonderheit ist, dass durch TypeChat strukturierte und typsichere Antworten großer Sprachmodelle (LLM) entstehen sollen. Dazu greift die Library auf TypeScript-Typdefinitionen und die JavaScript Object Notation (JSON) zurück.

TypeChat soll sich dann eignen, wenn man seiner Anwendung ein Natural Language Interface hinzufügen möchte. Als Beispiel nennt das Entwicklungsteam eine App zum Bestellen eines Kaffees per Spracheingabe, wobei die App die Eingabe in konkrete Informationen zum Bestellen und Verrechnen übersetzen muss. Die drei grundlegenden Vorteile von TypeChat sollen in einer erhöhten Präzision, einer leichteren Zugänglichkeit ohne Prompt Engineering und einer erhöhten Sicherheit liegen.

Der Entstehung von TypeChat liegt zugrunde, dass laut dem Entwicklungsteam Antworten großer Sprachmodelle in natürlicher Sprache eine Schwierigkeit für traditionelle Programme darstellen. Diese erwarteten stattdessen eine gewohnte Struktur. Dort setzt die experimentelle Library an, um eine Struktur einzuführen: Sie bedient sich dazu sowohl dem JSON-Schema als auch TypeScript-Typen und verwendet TypeScript als "Spezifikationssprache" für die Antworten von Sprachmodellen. Unter der Haube kommt TypeScripts Compiler-API zum Einsatz, um die Korrektheit der Typisierung zu validieren.

Entwicklerinnen und Entwickler können ein zu ihrer Anwendung passendes Schema aus mehreren Typen definieren, beispielsweise für einen Einkaufswagen oder eine Musik-App. Dann kümmert sich TypeChat darum, einen Prompt für das große Sprachmodell zu erstellen, das Schema zu validieren und bei fehlgeschlagener Validation die Schwierigkeit durch weitere Sprachmodellinteraktion zu beheben. Anschließend erstellt TypeChat eine Zusammenfassung der Interaktion, damit User überprüfen können, ob diese mit ihren Absichten übereinstimmt.

Der Blogeintrag zur Ankündigung veranschaulicht das Prinzip von TypeChat unter Verwendung von OpenAIs ChatGPT. Die User-Eingabe fragt nach spezifischen Orten in Seattle, die man an einem regnerischen Tag aufsuchen kann. Sie weist das Sprachmodell an, eine JSON-Antwort auszugeben, die mit dem TypeScript-Typ Response wie im vorgegebenen "Template" kompatibel ist.

"User: Provide 3 suggestions for specific places to go to in Seattle on a rainy day. Respond strictly with JSON. The JSON should be compatible with the TypeScript type Response from the following:"

interface Response {
     data: Array<{ venue: string, description: string }>;
}

Die ChatGPT-Ausgabe sieht aus wie folgt:

{
  "data": [
    {
      "venue": "Museum of Pop Culture",
      "description": "Explore the fascinating world of popular culture through interactive exhibits, music memorabilia, and multimedia displays at the Museum of Pop Culture."
    },
    {
      "venue": "Seattle Art Museum",
      "description": "Indulge in the diverse collection of artworks from around the world at the Seattle Art Museum, featuring both contemporary and classical pieces."
    },
    {
      "venue": "Pike Place Market",
      "description": "Enjoy the vibrant atmosphere of Pike Place Market, where you can wander through covered stalls offering fresh produce, crafts, and delicious food from local vendors."
    }
  ]
}

Derzeit entwickelt das Team TypeChat ausschließlich für TypeScript und JavaScript. Wer sich für weitere Sprachen einsetzen möchte, kann das im GitHub-Repository diskutieren.

Ein Blogeintrag sowie die Dokumentation bieten weitere Informationen zum experimentellen Projekt.

(mai)