Maison web3.0 Inférence d'IA en temps réel à grande échelle avec WebSockets et objets durables

Inférence d'IA en temps réel à grande échelle avec WebSockets et objets durables

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

En octobre 2024, nous avons parlé du stockage de milliards de journaux de votre application d'IA à l'aide d'AI Gateway, et de la manière dont nous avons utilisé la plateforme de développement de Cloudflare pour ce faire.

Inférence d'IA en temps réel à grande échelle avec WebSockets et objets durables

En octobre 2024, nous avons expliqué comment stocker des milliards de journaux de votre application d'IA à l'aide d'AI Gateway, et comment nous avons utilisé la plateforme de développement de Cloudflare pour ce faire.

Alors qu'AI Gateway traite déjà plus de 3 milliards de logs et connaît une croissance rapide, le nombre de connexions à la plateforme continue d'augmenter régulièrement. Pour aider les développeurs à gérer cette échelle plus efficacement, nous souhaitions proposer une alternative à la mise en œuvre de HTTP/2 keep-alive pour maintenir des connexions HTTP(S) persistantes, évitant ainsi la surcharge des poignées de main répétées et des négociations TLS à chaque nouvelle connexion HTTP à AI Gateway. . Nous comprenons que la mise en œuvre de HTTP/2 peut présenter des défis, en particulier lorsque de nombreuses bibliothèques et outils ne le prennent pas en charge par défaut et que la plupart des langages de programmation modernes disposent de bibliothèques WebSocket bien établies.

Dans cet esprit, nous avons utilisé la plateforme de développement et les objets durables de Cloudflare (oui, encore une fois !) pour créer une API WebSockets qui établit une connexion unique et persistante, permettant une communication continue.

Grâce à cette API, tous les fournisseurs d'IA pris en charge par AI Gateway sont accessibles via WebSocket, vous permettant de maintenir une connexion TCP unique entre votre application client ou serveur et AI Gateway. La meilleure partie ? Même si le fournisseur que vous avez choisi ne prend pas en charge les WebSockets, nous nous en occupons pour vous, en gérant les demandes adressées à votre fournisseur d'IA préféré.

En vous connectant via WebSocket à AI Gateway, nous effectuons les requêtes au service d'inférence pour vous en utilisant les protocoles pris en charge par le fournisseur (HTTPS, WebSocket, etc.), et vous pouvez garder la connexion ouverte pour exécuter autant de requêtes d'inférence que vous le souhaitez. voudrais.

Pour rendre votre connexion à AI Gateway plus sécurisée, nous introduisons également l'authentification pour AI Gateway. La nouvelle API WebSockets nécessitera une authentification. Tout ce que vous avez à faire est de créer un jeton API Cloudflare avec l'autorisation « AI Gateway : Run » et de l'envoyer dans l'en-tête cf-aig-authorization.

Dans l'organigramme ci-dessus :

1. Lorsque la passerelle authentifiée est activée et qu'un jeton valide est inclus, les demandes seront transmises avec succès.

2. Si la passerelle authentifiée est activée, mais qu'une demande ne contient pas l'en-tête cf-aig-authorization requis avec un jeton valide, la demande échouera. Cela garantit que seules les demandes vérifiées transitent par la passerelle.

3. Lorsque la passerelle authentifiée est désactivée, l'en-tête cf-aig-authorization est entièrement contourné et tout jeton, qu'il soit valide ou invalide, est ignoré.

Comment nous l'avons construit

Nous avons récemment utilisé des objets durables (DO) pour faire évoluer notre solution de journalisation pour AI Gateway, donc utiliser des WebSockets au sein des mêmes DO était une solution naturelle.

Lorsqu'une nouvelle connexion WebSocket est reçue par nos Cloudflare Workers, nous mettons en œuvre l'authentification de deux manières pour prendre en charge les diverses capacités des clients WebSocket. La méthode principale consiste à valider un jeton API Cloudflare via l'en-tête cf-aig-authorization, garantissant que le jeton est valide pour le compte et la passerelle de connexion.

Cependant, en raison des limitations des implémentations WebSocket du navigateur, nous prenons également en charge l'authentification via l'en-tête « sec-websocket-protocol ». Les clients WebSocket du navigateur n'autorisent pas les en-têtes personnalisés dans leur API standard, ce qui complique l'ajout de jetons d'authentification dans les requêtes. Bien que nous ne vous recommandons pas de stocker les clés API dans un navigateur, nous avons décidé d'ajouter cette méthode pour ajouter plus de flexibilité à tous les clients WebSocket.

Après cette étape de vérification initiale, nous mettons à niveau la connexion vers l'Objet Durable, ce qui signifie qu'il gérera désormais tous les messages de la connexion. Avant que la nouvelle connexion ne soit pleinement acceptée, nous générons un UUID aléatoire, afin que cette connexion soit identifiable parmi tous les messages reçus par l'Objet Durable. Lors d'une connexion ouverte, tous les paramètres AI Gateway transmis via les en-têtes, tels que cf-aig-skip-cache (qui contourne la mise en cache lorsqu'il est défini sur true), sont stockés et appliqués à toutes les requêtes de la session. Cependant, ces en-têtes peuvent toujours être remplacés pour chaque requête, tout comme avec Universal Endpoint aujourd'hui.

Comment ça marche

Une fois la connexion établie, l'objet Durable commence à écouter les messages entrants. À partir de ce moment, les utilisateurs peuvent envoyer des messages au format universel AI Gateway via WebSocket, simplifiant ainsi la transition de votre application d'une configuration HTTP existante vers une communication basée sur WebSockets.

Lorsqu'un nouveau message atteint l'objet Durable, il est traité à l'aide du même code qui alimente le point de terminaison universel HTTP, permettant une réutilisation transparente du code entre les Workers et les objets durables — l'un des principaux avantages de la construction sur Cloudflare.

Pour les demandes sans streaming, la réponse est enveloppée dans une enveloppe JSON, ce qui nous permet d'inclure des informations supplémentaires au-delà de l'inférence AI elle-même, telles que l'ID du journal AI Gateway pour cette demande.

Voici un exemple de réponse à la demande ci-dessus :

Pour les demandes de streaming, AI Gateway envoie un message initial avec les métadonnées de la demande indiquant au développeur que le flux démarre.

Après ce message initial, tous les morceaux de streaming sont relayés en temps réel vers la connexion WebSocket dès qu'ils arrivent du fournisseur d'inférence. Notez que seul le champ eventId est inclus dans les métadonnées de ces morceaux de streaming (plus d'informations sur ce qu'est ce nouveau champ ci-dessous).

Cette approche répond à deux objectifs :

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

<🎜>: Bubble Gum Simulator Infinity - Comment obtenir et utiliser les clés royales
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
<🎜>: Grow A Garden - Guide de mutation complet
3 Il y a quelques semaines By DDD
Nordhold: Système de fusion, expliqué
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Comment déverrouiller le grappin
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel Java
1675
14
Tutoriel PHP
1278
29
Tutoriel C#
1257
24
Metaplanet étend ses titres de trésor bitcoin par 319 BTC supplémentaires Metaplanet étend ses titres de trésor bitcoin par 319 BTC supplémentaires Apr 15, 2025 am 11:20 AM

Dans une annonce faite plus tôt dans la journée, la firme japonaise Metaplanet a révélé qu'elle avait acquis 319 autres Bitcoin (BTC), poussant son total de sociétés au-delà de 4 500 BTC.

Bitwise annonce la liste de quatre de ses ETP crypto à la Bourse de Londres (LSE) Bitwise annonce la liste de quatre de ses ETP crypto à la Bourse de Londres (LSE) Apr 18, 2025 am 11:24 AM

Bitwise, un principal gestionnaire d'actifs numériques, a annoncé l'inscription de quatre de ses produits négociés en échange de crypto (ETP) à la Bourse de Londres (LSE).

Alors que Binance Coin (BNB) prend de l'ampleur vers une évasion de 1 000 $, le nouveau Altcoin RCO Finance (RCOF) remuait des conversations Alors que Binance Coin (BNB) prend de l'ampleur vers une évasion de 1 000 $, le nouveau Altcoin RCO Finance (RCOF) remuait des conversations Apr 15, 2025 am 09:50 AM

Alors que Binance Coin (BNB) prend de l'ampleur vers une évasion de 1 000 $

Les banques centrales du monde entier augmentent leurs achats d'or Les banques centrales du monde entier augmentent leurs achats d'or Apr 15, 2025 am 11:00 AM

Selon un rapport de la lettre Kobeissi sur X, mentionnant les données de l'IMS IFS et du Global Gold Council, les nations ont accumulé 24 tonnes d'or en février

Movement Labs et la Mouvement Network Foundation ont lancé une enquête indépendante sur les récentes irrégularités de marché liées à la déménagement. Movement Labs et la Mouvement Network Foundation ont lancé une enquête indépendante sur les récentes irrégularités de marché liées à la déménagement. Apr 16, 2025 am 11:16 AM

NT Labs et la Mouvement Network Foundation lancent une enquête indépendante sur Move Token Market Market Irrégularités

Bitcoin (BTC) dérive vers le haut alors que le marché plus large s'adapte favorablement aux nouvelles liées au commerce Bitcoin (BTC) dérive vers le haut alors que le marché plus large s'adapte favorablement aux nouvelles liées au commerce Apr 15, 2025 am 11:14 AM

La plus grande crypto-monnaie a augmenté de 1,6% au cours des dernières 24 heures et se négocie maintenant à un peu moins de 85 000 $. Ether (eth), quant à lui, a augmenté de 2,7%

Une vague de capitaux découle de Ethereum [eth] et dans tron ​​[trx] Une vague de capitaux découle de Ethereum [eth] et dans tron ​​[trx] Apr 16, 2025 am 11:14 AM

Avec 1,52 milliard de dollars de stablescoins migrant vers TRON, les investisseurs semblent favoriser les chaînes à moindre coût et se diversifier au-delà des actifs traditionnels soutenus par l'USD.

Le prix du jeton PI Network a augmenté de plus de 14% au cours de la semaine dernière. Le prix du jeton PI Network a augmenté de plus de 14% au cours de la semaine dernière. Apr 16, 2025 am 11:22 AM

Au moment de la presse, PI se négocie à 0,6711 $ après son intégration avec ChainLink le 12 avril. L'annonce a provoqué une augmentation du prix de Pi