Guide de configuration de la passerelle Cloudflare AI : Centralisation des services d'appels API AI

Avec la popularité des grands modèles de langage (LLM) et de divers services d'intelligence artificielle, il est de plus en plus courant que les développeurs intègrent ces capacités dans leurs applications. Cependant, les appels directs tels que OpenAI,Hugging Face et les points d'extrémité des API d'autres fournisseurs de services, ce qui pose souvent toute une série de problèmes de gestion et d'exploitation :

  • Coûts non transparentsLe développement de l'API : Les coûts associés augmentent avec le volume des requêtes d'API. Cependant, il est souvent difficile pour les développeurs de savoir avec précision quels appels spécifiques consomment le plus de ressources et quels appels sont invalides ou redondants, ce qui rend l'optimisation des coûts difficile.
  • fluctuation des performancesLes services d'intelligence artificielle (IA) sont des services qui permettent à l'utilisateur d'avoir accès à l'information et à la connaissance de l'environnement dans lequel il évolue et de la façon dont il l'utilise.
  • Absence de contrôleL'optimisation des services n'est pas étayée par des données, faute d'une plate-forme unifiée permettant de contrôler des paramètres clés tels que les fonctions les plus fréquemment utilisées par les utilisateurs, les messages-guides (Prompts) qui fonctionnent le mieux, le type et la fréquence des demandes erronées, etc.
  • Restrictions d'adresses IP et problèmes de réputationCertains services d'IA ont des restrictions ou des politiques strictes en ce qui concerne l'adresse IP à partir de laquelle les demandes sont émises. Le fait de lancer un appel à partir d'une adresse IP partagée ou mal réputée peut faire échouer la demande, voire affecter la qualité des résultats du modèle.

Pour relever ces défis.Cloudflare lancé AI Gateway Service. Il s'agit d'une couche proxy intelligente disponible gratuitement, qui s'intercale entre l'application et le service d'IA en arrière-plan, et qui se concentre sur la gestion, la surveillance et l'optimisation des demandes d'IA plutôt que sur l'exécution des calculs d'IA proprement dits.

Cloudflare AI Gateway 配置指南:集中管理 AI API 调用服务

Cloudflare AI Gateway La valeur essentielle réside dans la fourniture d'analyses et de journaux unifiés, d'une mise en cache intelligente, d'une limitation du débit et de nouvelles tentatives automatiques. En acheminant le trafic des demandes d'IA vers AI GatewayEn outre, les développeurs peuvent disposer d'un point de contrôle centralisé qui résout efficacement les problèmes susmentionnés. En particulier, les nœuds de son réseau mondial servent de relais de confiance, ce qui permet d'atténuer les problèmes liés aux restrictions d'adresses IP ou à la situation géographique.

Les paragraphes suivants décrivent la configuration et l'utilisation de l'application Cloudflare AI Gateway.

 

Étape 1 : Créer une instance de passerelle AI

Le processus de configuration est simple, à condition que l'on dispose d'un Cloudflare Compte (création gratuite si vous n'êtes pas déjà enregistré).

  1. Se connecter à la console Cloudflare: Accès dashboard.cloudflare.com.
  2. Naviguer vers l'IAPour cela, il faut trouver et cliquer sur l'option "AI" dans le menu de gauche.Cloudflare AI Gateway 配置指南:集中管理 AI API 调用服务
  3. Sélectionner la passerelle AIDans le sous-menu AI, cliquez sur "AI Gateway".Cloudflare AI Gateway 配置指南:集中管理 AI API 调用服务
  4. Création d'une passerelleCliquez sur le bouton "Créer une passerelle" sur la page.Cloudflare AI Gateway 配置指南:集中管理 AI API 调用服务
  5. Passerelles nommées: Attribuer un nom clair à la passerelle, par ex. my-app-gatewayCe nom fera partie de l'URL des points d'extrémité de l'API suivants. Ce nom fera partie de l'URL des points de terminaison ultérieurs de l'API.Cloudflare AI Gateway 配置指南:集中管理 AI API 调用服务
  6. (Facultatif) Ajouter une descriptionLes informations descriptives peuvent être ajoutées pour faciliter la gestion ultérieure.
  7. Confirmation de la créationAprès avoir complété le nom et la description, cliquez sur Confirmer la création.

Une fois la création réussie, le système affiche la page des détails de la passerelle. Les principales informations sont les suivantes URL du point final de la passerelle(URL du point de terminaison de la passerelle), veillez à le documenter. Le format de base est le suivant :

https://gateway.ai.cloudflare.com/v1/<ACCOUNT_TAG>/<GATEWAY_NAME>/<PROVIDER>
  • <ACCOUNT_TAG>: :Cloudflare L'identifiant unique du compte, qui est rempli automatiquement.
  • <GATEWAY_NAME>Le nom défini pour la passerelle à l'étape précédente, par exemple my-app-gateway.
  • <PROVIDER>l'identificateur du prestataire de services d'IA cible, par exemple le openaiworkers-aihuggingface etc. Cela indique que AI Gateway Le service d'arrière-plan auquel la demande doit être transmise.

 

Étape 2 : Intégrer la passerelle AI dans l'application

Il s'agit de l'étape principale : le code de l'application doit être modifié pour remplacer l'URL de base qui accède directement à l'API du service d'IA par celle obtenue à l'étape précédente. Cloudflare AI Gateway URL.

Notes importantesLes éléments de l'URL de base ne doivent être remplacés que par les éléments de l'URL de base. Le chemin de la requête, les paramètres de la requête, les en-têtes de la requête (y compris la clé API), etc. doivent rester inchangés.AI Gateway L'en-tête de la demande contenant la clé API est transmise en toute sécurité au fournisseur final de services d'IA.

Exemple 1 : Utilisation du SDK OpenAI dans une application Python

En supposant que l'appel direct initial à OpenAI Le code de l'API est le suivant :

# --- 原始代码 (直接调用 OpenAI) ---
import openai
import os
# 从环境变量加载 OpenAI API Key
client = openai.OpenAI(api_key=os.environ.get("OPENAI_API_KEY"))
# 默认 base_url 指向 https://api.openai.com/v1
try:
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "你好,世界!"}]
)
print("OpenAI Direct Response:", response.choices[0].message.content)
except Exception as e:
print(f"Error: {e}")

Modifié par AI Gateway Envoyer une demande :

# --- 修改后代码 (通过 Cloudflare AI Gateway) ---
import openai
import os
# Cloudflare 账户 Tag 和 网关名称 (替换为实际值)
cf_account_tag = "YOUR_CLOUDFLARE_ACCOUNT_TAG"
cf_gateway_name = "my-app-gateway"
# 构造指向 OpenAI 的 AI Gateway URL
# 注意末尾的 /openai 是提供商标识
gateway_url = f"https://gateway.ai.cloudflare.com/v1/{cf_account_tag}/{cf_gateway_name}/openai"
# OpenAI API Key 保持不变,从环境变量加载
api_key = os.environ.get("OPENAI_API_KEY")
# 核心修改:在初始化 OpenAI 客户端时传入 base_url 参数
client = openai.OpenAI(
api_key=api_key,
base_url=gateway_url  # 指向 Cloudflare AI Gateway
)
try:
# 请求的模型、消息等其他参数保持不变
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "你好,世界!(通过 Gateway)"}]
)
print("Via AI Gateway Response:", response.choices[0].message.content)
except Exception as e:
print(f"Error hitting Gateway: {e}")

Le principal changement se situe au niveau de l'initialisation OpenAI Lorsque le client reçoit le base_url Le paramètre spécifie le AI Gateway URL.

Exemple 2 : Utilisation de l'API fetch en JavaScript (Node.js ou navigateur)

En supposant que le code original utilise fetch appel direct OpenAI: :

// --- 原始代码 (直接 fetch OpenAI) ---
const apiKey = process.env.OPENAI_API_KEY; // 或其他获取方式
const openAIBaseUrl = "https://api.openai.com/v1";
fetch(`${openAIBaseUrl}/chat/completions`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${apiKey}`
},
body: JSON.stringify({
model: "gpt-3.5-turbo",
messages: [{"role": "user", "content": "Hello from fetch!"}]
})
})
.then(res => res.json())
.then(data => console.log("OpenAI Direct Fetch:", data.choices[0].message.content))
.catch(err => console.error("Error:", err));

Modifié pour adopter AI Gateway Envoyer une demande :

// --- 修改后代码 (通过 AI Gateway fetch) ---
const apiKey = process.env.OPENAI_API_KEY;
const cfAccountTag = "YOUR_CLOUDFLARE_ACCOUNT_TAG"; // 替换为实际值
const cfGatewayName = "my-app-gateway"; // 替换为实际值
// 构造 AI Gateway URL
const gatewayBaseUrl = `https://gateway.ai.cloudflare.com/v1/${cfAccountTag}/${cfGatewayName}/openai`;
// 核心修改:替换请求 URL 的基础部分
fetch(`${gatewayBaseUrl}/chat/completions`, { // URL 指向 Gateway
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${apiKey}` // API Key 仍在 Header 中发送
},
body: JSON.stringify({ // 请求体不变
model: "gpt-3.5-turbo",
messages: [{"role": "user", "content": "Hello from fetch via Gateway!"}]
})
})
.then(res => res.json())
.then(data => console.log("Via AI Gateway Fetch:", data.choices[0].message.content))
.catch(err => console.error("Error hitting Gateway:", err));

Quel que soit le langage de programmation ou le cadre utilisé (par ex. LangChainLlamaIndex etc.), l'idée de base de l'intégration est la même : trouver l'endroit où le point de terminaison de l'API du service d'IA ou l'URL de base est configuré et le remplacer par le point de terminaison de l'API du service d'IA ou l'URL de base correspondant. Cloudflare AI Gateway URL.

Après avoir modifié le code et déployé l'application, toutes les demandes adressées au service d'IA cible transiteront par le service AI Gateway.

 

Étape 3 : Utiliser les fonctionnalités intégrées de AI Gateway

revenir (ou repartir) Cloudflare dans la console AI Gateway La page d'administration, qui vous permet d'observer et de profiter des fonctionnalités qu'elle offre :

  • AnalyseLe système de gestion de la performance : Il fournit des graphiques visuels sur les mesures clés telles que le volume des demandes, le taux de réussite, la distribution des erreurs, l'utilisation des jetons, le coût estimé, la latence (P95/P99) et bien plus encore. Cela permet d'identifier rapidement les goulets d'étranglement en matière de performance et les coûts aberrants.Cloudflare AI Gateway 配置指南:集中管理 AI API 调用服务
  • JournauxLe journal des requêtes : Il fournit des journaux détaillés des requêtes, enregistrant des informations telles que les horodatages, les codes d'état, les modèles cibles, les métadonnées partielles des requêtes/réponses, le temps écoulé, l'état du cache, etc. pour chaque requête. Il s'agit d'un outil important pour la résolution des problèmes et l'analyse du comportement des utilisateurs.
  • Mise en cacheLa mise en cache peut être activée sur la page "Paramètres" de la passerelle. La mise en cache peut être activée en réglant les paramètres TTL (Time-To-Live)Par exemple, 1 heure (3600 secondes).AI Gateway Les réponses à des demandes identiques (avec des mots-clés, des modèles, etc. identiques) peuvent être mises en cache. Pendant la période de validité du TTL, les demandes identiques suivantes seront traitées directement par l'application Gateway renvoie les résultats mis en cache, est extrêmement réactif etNe consomme pas de tokens ni de ressources informatiques provenant de fournisseurs de services d'IA en amont.. Cette méthode est particulièrement efficace pour les scénarios dans lesquels les demandes sont répétées, comme le contenu généré par l'IA (par exemple, les descriptions de produits), et permet de réduire considérablement les coûts et les temps de latence.
  • Limitation du tauxLes règles de limitation du débit peuvent également être configurées sur la page Paramètres. Vous pouvez limiter la fréquence des demandes en fonction des adresses IP ou des en-têtes de demande personnalisés (par exemple, en transmettant un identifiant d'utilisateur ou une clé API spécifique). Par exemple, vous pouvez définir "Autoriser jusqu'à 20 requêtes par minute pour une seule adresse IP". Cela permet d'éviter les attaques malveillantes ou l'utilisation abusive des ressources en raison d'erreurs de programmation.

 

valeur stratégique

Pour les développeurs et les équipes qui ont besoin d'intégrer et de gérer un ou plusieurs services d'IA, l'applicationCloudflare AI Gateway offre une solution centralisée et facile à gérer. Non seulement elle répond aux problèmes de coût, de performance et de surveillance généralement associés aux appels directs d'API, mais elle fournit également une couche supplémentaire d'optimisation et de protection grâce à des fonctions telles que la mise en cache et la limitation du débit. Plutôt que de laisser les développeurs construire et maintenir eux-mêmes des proxies, des systèmes de mise en cache et de surveillance similaires, la solutionAI Gateway Réduire considérablement la complexité et la charge de travail. À mesure que les applications d'IA s'approfondissent, la gestion unifiée avec de tels services de passerelle est essentielle pour maintenir la robustesse du système, contrôler les coûts opérationnels et la flexibilité future pour l'expansion.

© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...