API-Gateway für ChatGPT-Plugins
April 19, 2023
OpenAI hat kürzlich eine neue Version von ChatGPT veröffentlicht, die nun Plugins innerhalb von ChatGPT ermöglicht. Diese Plugins können direkt dem Chatbot hinzugefügt werden und bieten ihm Zugriff auf eine breite Palette von Wissen und Informationen über APIs seiner Drittanbieter-Partner. ChatGPT-Plugins können seine Funktionalität erweitern und seine Fähigkeiten verbessern, um aktuelle Informationen wie Reisekostenrecherchen, Rabattinformationen oder die Buchung von Flügen und das Bestellen von Essen zu ermöglichen. Sie können auch Ihr eigenes Plugin erstellen, das es ChatGPT ermöglicht, Ihre API-Daten intelligent abzurufen.
Ja, das stimmt! Um Ihre Daten über ein ChatGPT-Custom-Plugin zugänglich zu machen, benötigt ChatGPT, dass Sie eine neue API erstellen oder eine bestehende verwenden, die abgefragt werden kann und deren Antworten empfängt. Dann generiert es eine benutzerfreundliche Antwort, indem es die API-Daten mit seinen natürlichen Sprachfähigkeiten kombiniert. In diesem Fall kann API Gateway helfen, die Sicherheit, Benutzerfreundlichkeit und Effizienz zu verbessern. Dieser Beitrag untersucht, wie API Gateway für ChatGPT-Plugin-Entwickler von Vorteil sein kann, um ihre API-Endpunkte verfügbar zu machen, zu sichern, zu verwalten und zu überwachen.
Laut OpenAI: Der Plugin-Entwickler schreibt eine Spezifikation für eine API unter Verwendung des OpenAPI-Standards, die es ChatGPT ermöglicht, mit APIs zu interagieren, die von Entwicklern definiert wurden.
Lernziele
Im Laufe des Artikels werden Sie Folgendes lernen:
- Die Rolle von API Gateway beim Aufbau von ChatGPT-Plugin-APIs verstehen.
- Wie man Plugin-APIs veröffentlicht, sichert, überwacht und andere übergreifende Anwendungen anwendet.
- Wie man Apache APISIX (ein Open-Source-API-Gateway) mit ChatGPT-Plugins verwendet.
Die Rolle von API Gateway
Ein API Gateway fungiert als Brücke zwischen dem ChatGPT-Plugin und Ihrer API, indem es eine standardisierte Schnittstelle für die Kommunikation bereitstellt. Es verwaltet den Zugriff, die Sicherheit und die Leistung der API und bietet andere übergreifende Funktionen. Angenommen, Sie möchten ein ChatGPT-Plugin für Rabattinformationen von Märkten in Ihrer Stadt erstellen, könnten Sie verschiedene APIs haben, um neue Produkte, die nächsten Märkte und die neuesten Angebote anzuzeigen. In diesem Kontext wird das API Gateway eine zusätzliche Schicht zwischen Ihrer API und dem Plugin sein.
Zum Beispiel könnte das API Gateway ChatGPT mit anderen APIs wie einer natürlichen Sprachverarbeitungs-API außerhalb von OpenAI oder einer Übersetzungs-API anderer Anbieter kombinieren, sodass Clients über ein einziges Plugin auf mehrere Dienste zugreifen können, indem sie benutzerdefinierte URI-Pfade und Upstream-Dienste (mehrere Backend-API-Server) verwenden, Anfragen an die entsprechende API weiterleiten und die Antwort an ChatGPT zurückgeben.
Verbesserte Sicherheit
Eine der Hauptrollen eines API Gateways in ChatGPT besteht darin, Authentifizierung und Autorisierung zu handhaben. Dies beinhaltet die Überprüfung der Identität des Benutzers eines Plugins und die Feststellung, ob er die notwendigen Berechtigungen hat, um auf die API des Plugins zuzugreifen. OpenAI kann eine Vielzahl von Authentifizierungsmechanismen verwenden, wie OAuth, API-Schlüssel oder benutzerdefinierte Authentifizierungsprotokolle, und es gibt die Benutzeranmeldeinformationen an das API Gateway weiter. Dann kann das API Gateway die Authentifizierungsüberprüfung out-of-box durchführen, um zu überprüfen, ob der Benutzer authentifiziert ist oder nicht. Sie müssen keinen Implementierungscode für diesen Validierungsprozess für jede API schreiben.
Im Wesentlichen dienen API-Gateways als Sicherheitsmaßnahme, um potenzielle Hacking-Versuche abzuwehren. Das API Gateway schränkt bestimmte Arten von Anfragen ein, wie z. B. das Blockieren von nicht autorisierten POST-Anfragen an eine bestimmte Route, es sei denn, der Absender hat entsprechende Berechtigungen oder enthält einen bestimmten Header in der Anfrage.
Angenommen, ein Unternehmen hat eine E-Commerce-API, die es Kunden ermöglicht, Bestellungen über ein ChatGPT-Plugin aufzugeben. Das API Gateway ist so konfiguriert, dass POST-Anfragen an die "Bestellung aufgeben"-Route blockiert werden, es sei denn, die Anfrage enthält einen gültigen API-Schlüssel im Anfrage-Header, der als privilegiertes Zugriffstoken fungiert. Dies bedeutet, dass nur authentifizierte und autorisierte Anfragen mit dem richtigen API-Schlüssel neue Bestellungen erstellen dürfen, während nicht autorisierte Anfragen blockiert werden, wodurch effektiv vor potenziellen bösartigen Versuchen geschützt wird, gefälschte Bestellungen aufzugeben oder das System zu manipulieren. Siehe die Zusammenfassung anderer Sicherheitsfunktionen unten.
Effiziente Ratenbegrenzung
Eine weitere wichtige Rolle des API Gateways besteht darin, Ratenbegrenzung zu handhaben. Dies stellt sicher, dass das ChatGPT-Plugin die API nicht mit zu vielen Anfragen auf einmal überlastet, was ihre Leistung beeinträchtigen oder zum Absturz führen könnte. Das API Gateway kann die Anzahl der Anfragen begrenzen, die ein Client innerhalb eines bestimmten Zeitraums stellen kann, und Anfragen blockieren, die das Limit überschreiten.
Hohe Leistung
Die Leistung ist ein weiterer Bereich, in dem ein API Gateway die Leistung des ChatGPT-Plugins verbessern kann. Zum Beispiel kann das API Gateway Caching implementieren, um häufig angeforderte Antworten zu speichern und sie schnell zurückzugeben, ohne die eigentliche API abfragen zu müssen. Das API Gateway kann auch Anfrage-/Antwort-Transformationen handhaben, um eingehende Anfragen in ein Format zu konvertieren (wie die Konvertierung von REST-Anfragen in GraphQL), das Ihre API verstehen kann, und die Antworten in ein Format zu transformieren, das das Plugin verarbeiten kann.
Kontinuierliche Überwachung
Auch wenn OpenAI angibt, dass ChatGPT keine Daten verwendet, die von Kunden über unsere API übermittelt werden, um ihre Modelle zu trainieren oder zu verbessern, ist es aus vielen anderen Gründen wichtig, Beobachtbarkeitsfunktionen zu aktivieren. Das API Gateway kann Einblicke bieten, wie das ChatGPT-Plugin verwendet wird, welche Art von Daten geteilt wird, und Probleme identifizieren, die durch kontinuierliche Überwachung der Anfragen Ihres Plugins behoben werden müssen.
Wie man Apache APISIX mit ChatGPT-Plugins verwendet
Nachdem wir verstanden haben, warum API Gateway eine entscheidende Rolle beim Aufbau von ChatGPT-Plugins spielt, werfen wir einen Blick auf einfache Schritte, wie man Apache APISIX API Gateway verwendet, bevor Sie ein neues Plugin auf ChatGPT teilen. Es gibt viele andere API-Gateways auf dem Markt, dieser Beitrag kann Ihnen helfen, zu entscheiden, welches Ihren Anforderungen entspricht.
Zum Zeitpunkt der Erstellung dieses Blogbeitrags hat ChatGPT den Zugriff eingeschränkt, und um Alpha-Zugriff auf OpenAI zu erhalten, müssen Sie sich für eine ChatGPT-Plugin-Warteliste anmelden. Sie werden jedoch zunächst Entwickler und ChatGPT Plus-Benutzer priorisieren, bevor sie es der breiten Öffentlichkeit zugänglich machen.
- Installieren und ausführen von Apache APISIX entweder lokal in einer Entwicklungsumgebung oder auf einem Remote-Server (in der Cloud). Wenn Sie es lokal ausführen, kann APISIX über http://localhost:9080 aufgerufen werden.
- Konfigurieren Sie eine Route und ein Upstream für jeden Ihrer API-Endpunkte, unabhängig davon, ob Sie die Admin API (die auf http://localhost:9180 läuft) oder ein benutzerfreundliches UI-Dashboard verwenden. Sie können auch bestehende OpenAPI-Spezifikationen importieren, um automatisch Routen und Upstreams zu registrieren.
- Sie aktivieren einige API-Gateway-Funktionen, Authentifizierung, Ratenbegrenzung und Beobachtbarkeit mit APISIX-Plugins.
- Sie exportieren die aktualisierte OpenAPI-Spezifikation, um sie in ChatGPT zu verwenden. Nehmen Sie die notwendigen Änderungen im resultierenden Dokument
YAML/JSON
vor. Platzieren Sie diese Datei an einer Stelle auf dem APISIX-Server über eine andere Route, sodass ChatGPT sie unter diesem Pfad/openapi.yaml
wie[http://localhost:9080/openapi.yaml](http://localhost:9080/openapi.yaml)
finden kann. Diese Spezifikation wird in eine Eingabeaufforderung kompiliert, die ChatGPT erklärt, wie es die API verwenden kann, um seine Antworten zu verbessern. Denken Sie an eine detaillierte Eingabeaufforderung, einschließlich einer Beschreibung jedes verfügbaren Endpunkts. - Andere Schritte, wie das Definieren einer Manifestdatei, das Ausführen eines Plugins und das Schreiben von Beschreibungen, sind weitgehend identisch mit dem, was bereits in der offiziellen OpenAI-Dokumentation gut dokumentiert ist. Wenn Sie das Plugin über die ChatGPT-UI verbinden und das Plugin ausführen, stellen Sie sicher, dass die Domain-Adresse auf das APISIX-API-Gateway verweist.
- Schließlich stellt der Benutzer neue Fragen, indem er das Plugin in der ChatGPT-UI aktiviert. Wenn ChatGPT entscheidet, dass es Informationen von der API abrufen sollte, wird es die Anfrage an das API Gateway stellen und sie dem Kontext hinzufügen, bevor es versucht, zu antworten.
API-Sicherheit für ChatGPT-Plugins Zusammenfassung
Sehen Sie sich diese Zusammenfassung der API-Gateway-Angebote an, um die API für das ChatGPT-Plugin zu sichern:
- Authentifizierungsprotokolle: Mit API Gateway können Sie ein robustes und sicheres Authentifizierungsprotokoll wie OAuth 2.0 oder JSON Web Tokens (JWT) wählen, um API-Anfragen zu authentifizieren.
- Zwei-Faktor-Authentifizierung (2FA): Sie können 2FA durch die Integration mit verschiedenen Identitätsanbietern implementieren, was eine zusätzliche Sicherheitsebene für die API-Authentifizierung hinzufügen kann.
- Sichere Token-Verwaltung: Sie können Token sicher speichern, indem Sie vermeiden, sie in clientseitigen Anwendungen oder an unsicheren Orten wie clientseitigen Cookies oder lokalem Speicher zu speichern.
- Rollenbasierte Zugriffskontrolle (RBAC): Sie können RBAC aktivieren, um die Berechtigungen und Aktionen zu steuern, die verschiedene Benutzer oder Anwendungen innerhalb der ChatGPT-Plugin-API ausführen können.
- Transport Layer Security (TLS): Die API hat eine TLS-Option, um die Kommunikation zwischen Clients und Servern über das Netzwerk zu verschlüsseln.
- API-Ratenbegrenzung: API Gateway bietet Ratenbegrenzungsmechanismen, um Missbrauch oder Fehlgebrauch der ChatGPT-Plugin-API zu verhindern.
- Protokollierung und Überwachung: Sie können API Gateway mit anderen Beobachtbarkeitsplattformen für umfassende Protokollierungs- und Überwachungsmechanismen verwenden, um API-Anfragen und -Antworten zu verfolgen und zu überwachen.
Fazit
Die Einführung der Plugin-Integration in ChatGPT ist ein Upgrade für OpenAI. Es ist auch eine wichtige Veränderung im Bereich der benutzerorientierten KI für das GPT-Modell. API Gateway bietet eine leistungsstarke Schnittstelle für die Kommunikation, um Ihre API sicher verfügbar zu machen, zusammen mit Sicherheit, Ratenbegrenzungsrichtlinien, Authentifizierungsmethoden und Überwachung. Ohne ein API Gateway wäre es viel schwieriger, ChatGPT in andere Systeme zu integrieren, und Clients müssten Authentifizierung, Ratenbegrenzung und andere Funktionen selbst verwalten.