Heim web3.0 KI-Inferenz in Echtzeit im großen Maßstab mit WebSockets und langlebigen Objekten

KI-Inferenz in Echtzeit im großen Maßstab mit WebSockets und langlebigen Objekten

Nov 20, 2024 am 09:08 AM
authentication Durable Objects WebSockets AI Gateway

Im Oktober 2024 sprachen wir über die Speicherung von Milliarden von Protokollen Ihrer KI-Anwendung mit AI Gateway und darüber, wie wir dazu die Entwicklerplattform von Cloudflare nutzten.

KI-Inferenz in Echtzeit im großen Maßstab mit WebSockets und langlebigen Objekten

Im Oktober 2024 haben wir darüber berichtet, wie Sie mit AI Gateway Milliarden von Protokollen Ihrer KI-Anwendung speichern und wie wir dazu die Entwicklerplattform von Cloudflare nutzen.

Da AI Gateway bereits über 3 Milliarden Protokolle verarbeitet und ein schnelles Wachstum verzeichnet, nimmt die Anzahl der Verbindungen zur Plattform weiterhin stetig zu. Um Entwicklern dabei zu helfen, diese Größenordnung effektiver zu verwalten, wollten wir eine Alternative zur Implementierung von HTTP/2 Keep-Alive anbieten, um dauerhafte HTTP(S)-Verbindungen aufrechtzuerhalten und so den Overhead wiederholter Handshakes und TLS-Verhandlungen bei jeder neuen HTTP-Verbindung zu AI Gateway zu vermeiden . Wir verstehen, dass die Implementierung von HTTP/2 eine Herausforderung darstellen kann, insbesondere wenn viele Bibliotheken und Tools es möglicherweise nicht standardmäßig unterstützen und die meisten modernen Programmiersprachen über gut etablierte WebSocket-Bibliotheken verfügen.

Vor diesem Hintergrund haben wir die Entwicklerplattform von Cloudflare und Durable Objects (ja, wieder!) verwendet, um eine WebSockets-API zu erstellen, die eine einzige, dauerhafte Verbindung herstellt und so eine kontinuierliche Kommunikation ermöglicht.

Über diese API kann über WebSocket auf alle von AI Gateway unterstützten KI-Anbieter zugegriffen werden, sodass Sie eine einzige TCP-Verbindung zwischen Ihrer Client- oder Serveranwendung und dem AI Gateway aufrechterhalten können. Das Beste daran? Auch wenn Ihr ausgewählter Anbieter WebSockets nicht unterstützt, kümmern wir uns für Sie um die Verwaltung der Anfragen an Ihren bevorzugten KI-Anbieter.

Durch die Verbindung über WebSocket mit AI Gateway stellen wir die Anfragen an den Inferenzdienst für Sie unter Verwendung der vom Anbieter unterstützten Protokolle (HTTPS, WebSocket usw.), und Sie können die Verbindung offen halten, um so viele Inferenzanfragen wie Sie auszuführen möchte.

Um Ihre Verbindung zum AI Gateway sicherer zu machen, führen wir auch die Authentifizierung für AI Gateway ein. Die neue WebSockets-API erfordert eine Authentifizierung. Sie müssen lediglich ein Cloudflare-API-Token mit der Berechtigung „AI Gateway: Run“ erstellen und dieses im Header cf-aig-authorization senden.

Im Flussdiagramm oben:

1. Wenn das authentifizierte Gateway aktiviert ist und ein gültiges Token enthalten ist, werden Anfragen erfolgreich weitergeleitet.

2. Wenn Authenticated Gateway aktiviert ist, eine Anfrage jedoch nicht den erforderlichen cf-aig-authorization-Header mit einem gültigen Token enthält, schlägt die Anfrage fehl. Dadurch wird sichergestellt, dass nur verifizierte Anfragen das Gateway passieren.

3. Wenn das authentifizierte Gateway deaktiviert ist, wird der Header „cf-aig-authorization“ vollständig umgangen und alle Token – ob gültig oder ungültig – werden ignoriert.

Wie wir es gebaut haben

Wir haben kürzlich langlebige Objekte (DOs) verwendet, um unsere Protokollierungslösung für AI Gateway zu skalieren, daher war die Verwendung von WebSockets innerhalb derselben DOs eine natürliche Ergänzung.

Wenn unsere Cloudflare-Worker eine neue WebSocket-Verbindung empfangen, implementieren wir die Authentifizierung auf zwei Arten, um die vielfältigen Funktionen von WebSocket-Clients zu unterstützen. Die primäre Methode besteht darin, ein Cloudflare-API-Token über den cf-aig-authorization-Header zu validieren und sicherzustellen, dass das Token für das verbindende Konto und Gateway gültig ist.

Aufgrund von Einschränkungen bei Browser-WebSocket-Implementierungen unterstützen wir jedoch auch die Authentifizierung über den „sec-websocket-protocol“-Header. Browser-WebSocket-Clients erlauben keine benutzerdefinierten Header in ihrer Standard-API, was das Hinzufügen von Authentifizierungstokens in Anfragen erschwert. Obwohl wir nicht empfehlen, API-Schlüssel in einem Browser zu speichern, haben wir uns entschieden, diese Methode hinzuzufügen, um allen WebSocket-Clients mehr Flexibilität zu bieten.

Nach diesem ersten Überprüfungsschritt aktualisieren wir die Verbindung zum dauerhaften Objekt, was bedeutet, dass es nun alle Nachrichten für die Verbindung verarbeitet. Bevor die neue Verbindung vollständig akzeptiert wird, generieren wir eine zufällige UUID, sodass diese Verbindung unter allen vom dauerhaften Objekt empfangenen Nachrichten identifizierbar ist. Während einer offenen Verbindung werden alle über Header übergebenen AI Gateway-Einstellungen – wie z. B. cf-aig-skip-cache (das das Caching umgeht, wenn es auf „true“ gesetzt ist) – gespeichert und auf alle Anfragen in der Sitzung angewendet. Diese Header können jedoch weiterhin auf Anfragebasis überschrieben werden, genau wie heute beim Universal Endpoint.

Wie es funktioniert

Sobald die Verbindung hergestellt ist, beginnt das dauerhafte Objekt, auf eingehende Nachrichten zu warten. Ab diesem Zeitpunkt können Benutzer Nachrichten im AI Gateway-Universalformat über WebSocket senden und so den Übergang Ihrer Anwendung von einem bestehenden HTTP-Setup zu WebSockets-basierter Kommunikation vereinfachen.

Wenn eine neue Nachricht das dauerhafte Objekt erreicht, wird sie mit demselben Code verarbeitet, der den HTTP Universal Endpoint antreibt, wodurch eine nahtlose Wiederverwendung von Code zwischen Workern und dauerhaften Objekten ermöglicht wird – einer der Hauptvorteile des Aufbaus auf Cloudflare.

Bei Nicht-Streaming-Anfragen wird die Antwort in einen JSON-Umschlag verpackt, sodass wir über die KI-Inferenz selbst hinaus zusätzliche Informationen einschließen können, beispielsweise die AI Gateway-Protokoll-ID für diese Anfrage.

Hier ist eine Beispielantwort für die obige Anfrage:

Bei Streaming-Anfragen sendet AI Gateway eine erste Nachricht mit Anforderungsmetadaten, die dem Entwickler mitteilen, dass der Stream startet.

Nach dieser ersten Nachricht werden alle Streaming-Blöcke in Echtzeit an die WebSocket-Verbindung weitergeleitet, sobald sie vom Inferenzanbieter eintreffen. Beachten Sie, dass nur das Feld „eventId“ in den Metadaten für diese Streaming-Blöcke enthalten ist (weitere Informationen zu diesem neuen Feld finden Sie weiter unten).

Dieser Ansatz dient zwei Zwecken:

Das obige ist der detaillierte Inhalt vonKI-Inferenz in Echtzeit im großen Maßstab mit WebSockets und langlebigen Objekten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1675
14
PHP-Tutorial
1278
29
C#-Tutorial
1257
24
Metaplanet erweitert seine Bitcoin Treasury Holdings um weitere 319 BTC Metaplanet erweitert seine Bitcoin Treasury Holdings um weitere 319 BTC Apr 15, 2025 am 11:20 AM

In einer heute früheren Ankündigung gab die japanische Firma Metaplanet bekannt, dass es ein weiteres 319 Bitcoin (BTC) erworben hat und seine gesamten Unternehmensbestände über 4.500 BTC überschritten hat.

Bitwise kündigt die Auflistung von vier seiner Krypto -ETPs an der London Stock Exchange (LSE) an. Bitwise kündigt die Auflistung von vier seiner Krypto -ETPs an der London Stock Exchange (LSE) an. Apr 18, 2025 am 11:24 AM

Bitwise, ein führender digitaler Vermögensverwalter, hat die Auflistung von vier seiner Crypto Exchange-Produkte (ETPs) an der London Stock Exchange (LSE) angekündigt.

Wenn Binance Coin (BNB) zu einem Breakout von 1.000 US Wenn Binance Coin (BNB) zu einem Breakout von 1.000 US Apr 15, 2025 am 09:50 AM

Als Binance Coin (BNB) gewinnt eine Dynamik zu einem Ausbruch von 1.000 US -Dollar

Zentralbanken auf der ganzen Welt erhöhen ihre Goldkäufe Zentralbanken auf der ganzen Welt erhöhen ihre Goldkäufe Apr 15, 2025 am 11:00 AM

Laut einem Bericht des Koobeissi -Briefes über X, in dem Daten von IMS IFS und des Global Gold Council erwähnt wurden, haben die Nationen im Februar 24 Tonnen Gold angesammelt

Movement Labs und die Movement Network Foundation haben eine unabhängige Untersuchung zu jüngsten marktempfindlichen Unregelmäßigkeiten im Zusammenhang mit dem Move-Token eingeleitet. Movement Labs und die Movement Network Foundation haben eine unabhängige Untersuchung zu jüngsten marktempfindlichen Unregelmäßigkeiten im Zusammenhang mit dem Move-Token eingeleitet. Apr 16, 2025 am 11:16 AM

NT Labs und die Movement Network Foundation starten unabhängige Untersuchungen in Move Token Market-Making-Unregelmäßigkeiten

Bitcoin (BTC) driftet nach oben, während sich der breitere Markt positiv an handelsbezogene Nachrichten anpasst Bitcoin (BTC) driftet nach oben, während sich der breitere Markt positiv an handelsbezogene Nachrichten anpasst Apr 15, 2025 am 11:14 AM

Die größte Kryptowährung stieg in den letzten 24 Stunden um 1,6% und handelt nun nur knapp von 85.000 USD. Ether (ETH) stieg inzwischen um 2,7% an

Eine Kapitalwelle fließt aus Ethereum [ETH] in Tron [TRX] Eine Kapitalwelle fließt aus Ethereum [ETH] in Tron [TRX] Apr 16, 2025 am 11:14 AM

Mit 1,52 Milliarden US-Dollar in Stablecoins, die zu Tron wandern, scheinen die Anleger tiefere Ketten zu bevorzugen und sich über die traditionellen USD-unterstützten Vermögenswerte hinaus zu diversifizieren.

Der PI -Netzwerk -Token -Preis hat in der vergangenen Woche um mehr als 14% gestiegen. Der PI -Netzwerk -Token -Preis hat in der vergangenen Woche um mehr als 14% gestiegen. Apr 16, 2025 am 11:22 AM

Zum Zeitpunkt des Drucks wird PI nach seiner Integration mit ChainLink am 12. April bei 0,6711 USD gehandelt. Die Ankündigung verursachte einen Anstieg des PI -Preispreises