devAIce Web API 4.0.0 Aktualisierung

,
Caro Bauer

Was ist neu in devAIce Web API 4.0.0 

Wir freuen uns, die Version 4.0.0 als wichtiges Update der devAIce Web API ankündigen zu können, die ab heute für Kunden verfügbar ist. Diese Version bietet vor allem eine modernisierte und vereinfachte Reihe neuer API-Endpunkte, völlig neue Client-Bibliotheken mit Unterstützung für mehr Programmiersprachen, OpenAPI-Kompatibilität sowie ein verbessertes Kommandozeilen-Interface-Tool. Darüber hinaus enthält sie aktuelle Modell-Updates und Leistungsverbesserungen aus dem letzten devAIce SDK-Release, z.B. Unterstützung für die Dimension Dominanz-Emotion und Genauigkeitsverbesserungen von bis zu 15 Prozentpunkten. 

Neue API (Version 2) 

Obwohl unsere bestehende API den Kunden über die Jahre hinweg insgesamt gute Dienste geleistet hat, erhielten wir dennoch deutliches Feedback zu einer Reihe von Aspekten, die die API-Integration weniger intuitiv und bequem machten, als wir es von einer modernen API erwarten. Da die Behebung einiger dieser Mängel unweigerlich zu rückwärtskompatiblen Änderungen führen würde, haben wir die Gelegenheit ergriffen, groß zu denken und eine umfassende neue Version unserer API zu definieren, die es uns ermöglichte, auch andere Teile der API zu verbessern, ohne uns auf die Aufrechterhaltung der Kompatibilität mit bestehenden Kunden beschränken zu müssen. 

Zu den Highlights der neuen v2 API gehören: 

  • Vereinfachte Authentifizierung 

Bei der alten API mussten die Clients einen benutzerdefinierten Authentifizierungsmechanismus durchlaufen, um ein temporäres Sitzungs-Token zu erhalten, das dann für nachfolgende Anfragen verwendet werden konnte. Dieser Schritt erschwerte den Aufruf der API mit Tools wie curl oder Postman, da zusätzlicher Code für die Authentifizierung geschrieben werden musste. In der neuen API wurde der zusätzliche Authentifizierungsschritt durch einen einfachen API-Schlüssel ersetzt, der bei jeder Anfrage als HTTP-Header übergeben wird, was von gängigen Web-Entwicklungstools gut unterstützt wird. 

  • Intuitive Anfrage- und Antwortformate 

In der bestehenden v1-API folgten die Anfragen und Antworten manchmal eher unintuitiven Designentscheidungen, wie Daten übergeben oder zurückgegeben werden mussten. Dies war auf die Anforderung der Abwärtskompatibilität von Clients zurückzuführen, die noch auf sensAI, den Vorgänger von devAIce, ausgerichtet waren. In der neuen API haben wir uns von allen Überbleibseln des alten Designs befreit, was zu einer deutlich einfacheren und leichteren Entwicklungserfahrung führt. 

  • Dedizierter Endpunkt zum Abrufen von Kontoinformationen 

Die alte API lieferte Informationen über Benutzerkontingente als Teil der Antwort auf die Sitzungserstellung, aber es gab keine Möglichkeit für Kunden, diese Informationen unabhängig abzurufen. Die neue API bietet einen speziellen Endpunkt, um diese und andere Kontoinformationen abzurufen, wenn Kunden sie benötigen. 

Neue Client-Bibliotheken und OpenAPI-Kompatibilität 

Seit den ersten Versionen von devAIce Web API und seinem Vorgänger sensAI haben wir offizielle Client-Bibliotheken für verschiedene Programmiersprachen bereitgestellt, um die Integration der API zu erleichtern. Da diese Bibliotheken jedoch von Hand geschrieben wurden und von uns gepflegt werden mussten, konnten wir nur stabile Bibliotheken für Python und C# anbieten und mussten die Bibliotheken für Java/Android und JavaScript in einem experimentellen Zustand belassen. Die Bibliotheken verfügten auch nicht über eine einheitliche öffentliche Schnittstelle, was den Aufwand für die Unterstützung dieser Bibliotheken erhöhte. 

Für die neue API v2 haben wir einen anderen Ansatz gewählt, indem wir die API mit der OpenAPI-Spezifikation 3 kompatibel gemacht haben und uns auf OpenAPI Generator verlassen, um automatisch Clients für verschiedene Programmiersprachen auf der Grundlage der API-Spezifikation zu generieren. Dies hat mehrere Vorteile: Die generierten Clients haben einheitlichere Schnittstellen, zusätzliche Sprachen können leichter unterstützt werden, und Kunden können die OpenAPI-Spezifikation unserer API nutzen, um selbst Clients zu generieren oder sie mit anderen OpenAPI-kompatiblen Tools zu verwenden. 

Wir bieten derzeit offizielle stabile Clients für die folgenden Sprachen an: Python, C#, Java und JavaScript. Ein PHP-Client steht als nächstes auf unserer Roadmap. Wenn Sie devAIce Web API in einer anderen Sprache nutzen möchten, freuen wir uns über Ihre Anfrage. 

Befehlszeilen-Upload-Tool (CLI) 

Als Teil des neuesten devAIce Web API Releases liefern wir eine verbesserte neue Version eines Kommandozeilen-Clients aus, der auf dem neuen Python-Client basiert. In der Vergangenheit boten wir ein Python-Skript an, das zum Hochladen einer einzelnen Audiodatei verwendet werden konnte, aber es war nicht sehr bequem zu bedienen und in seiner Funktionalität eingeschränkt. Das neue Tool wurde von Grund auf neu geschrieben, verfügt über einfache Befehlszeilenparameter und unterstützt auch den Stapel-Upload einer beliebigen Anzahl von Dateien. 

Um beispielsweise einen Ordner mit .wav-Dateien hochzuladen und sie mit den Modulen VAD und Emotion zu analysieren, führen Sie den folgenden Befehl aus: 

devaice-web-api-cli –api-key <api-key> –vad –emotion *.wav 

Die Ergebnisse können entweder direkt auf der Konsole oder in einer einzelnen Datei im JSON-Format ausgegeben werden. 

Aktualisierungen des Emotionsmodells 

Alle Erweiterungen und Aktualisierungen, die wir in devAIce SDK 3.6.1 an unseren Emotionsmodellen vorgenommen haben, sind auch in der Version 4.0.0 der Web API verfügbar. Weitere Informationen finden Sie in unserem separaten Blogbeitrag zum devAIce SDK 3.6.1 Release. 

Andere Verbesserungen 

Wie bei jeder Version finden Sie in der Web-API-Dokumentation ein vollständiges Änderungsprotokoll zu den Neuerungen der neuesten Version. 

Muss ich für diese Updates bezahlen? 

Kunden, die eine kommerzielle oder Testlizenz für unseren devAIce Web API Cloud Service besitzen, erhalten alle diese Updates kostenlos. 

Muss ich aktualisieren? 

Nein, Sie können weiterhin die aktuelle Version verwenden. devAIce Web API-Benutzer müssen sich explizit anmelden, um die neue Version zu erhalten. Nichtsdestotrotz empfehlen wir, wenn möglich auf die neueste Version zu aktualisieren, um von den neuesten Modellergänzungen, Verbesserungen und Korrekturen zu profitieren. 

Wo kann ich weitere Informationen erhalten? 

Wenn Sie an einem Update auf die neue Version von devAIce interessiert sind oder Fragen zu diesen Updates oder devAIce im Allgemeinen haben, wenden Sie sich bitte an audEERINGs Customer Experience Manager Sylvia Szylar (sszylar@audeering.com).