AI Personal Learning
und praktische Anleitung
CyberKnife-Zeichenspiegel

Cloudflare AI Gateway-Konfigurationshandbuch: Zentralisierung von AI-API-Aufrufdiensten

Mit der Popularität von Large Language Models (LLMs) und verschiedenen KI-Diensten wird es für Entwickler immer üblicher, diese Fähigkeiten in ihre Anwendungen zu integrieren. Allerdings sind direkte Aufrufe wie OpenAIundHugging Face und die API-Endpunkte anderer Dienstanbieter, was oft eine Reihe von Herausforderungen für die Verwaltung und den Betrieb mit sich bringt:

  • Intransparente KostenMit dem wachsenden Volumen der API-Anfragen steigen auch die damit verbundenen Kosten. Für Entwickler ist es jedoch oft schwierig, genau zu verfolgen, welche spezifischen Aufrufe die meisten Ressourcen verbrauchen und welche ungültige oder überflüssige Anfragen sind, was eine Kostenoptimierung erschwert.
  • LeistungsschwankungIn Zeiten hoher Parallelität kann sich die API-Antwortzeit des KI-Dienstes verlängern oder es kann sogar zu gelegentlichen Timeouts kommen, was sich direkt auf die Benutzerfreundlichkeit und die Stabilität der Anwendung auswirkt.
  • Mangelnde ÜberwachungDas Fehlen einer einheitlichen Plattform zur Überwachung wichtiger Kennzahlen, wie z. B. der von den Benutzern am häufigsten genutzten Funktionen, der am besten funktionierenden Eingabeaufforderungen (Prompts), der Art und Häufigkeit fehlerhafter Anfragen usw., führt dazu, dass die Serviceoptimierung nicht durch Daten gestützt wird.
  • IP-Adressbeschränkungen und ReputationsproblemeEinige KI-Dienste haben strenge Beschränkungen oder Richtlinien in Bezug auf die IP-Adresse, von der die Anfragen ausgehen. Die Einleitung eines Anrufs über eine gemeinsam genutzte oder schlecht bewertete IP-Adresse kann dazu führen, dass die Anfrage fehlschlägt oder sogar die Qualität der Modellausgabe beeinträchtigt wird.

Um diese Herausforderungen zu bewältigen.Cloudflare gestartet AI Gateway Dienst. Dabei handelt es sich um eine frei verfügbare intelligente Proxy-Schicht, die zwischen der Anwendung und dem Back-End-KI-Dienst angesiedelt ist und sich auf die Verwaltung, Überwachung und Optimierung von KI-Anfragen konzentriert, anstatt die KI-Berechnungen selbst durchzuführen.

ff9ce272-36d9-4657-819a-c45b868ced0e.png


Cloudflare AI Gateway Der Kernwert liegt in der Bereitstellung einheitlicher Analysen und Protokollierung, intelligentem Caching, Ratenbegrenzung und automatischen Wiederholungsversuchen. Durch die Weiterleitung von KI-Anfrageverkehr an AI GatewayDarüber hinaus können Entwickler einen zentralen Kontrollpunkt erhalten, der die oben genannten Probleme wirksam angeht. Insbesondere seine globalen Netzwerkknoten helfen dabei, als vertrauenswürdige Relais zu fungieren und Probleme, die durch IP-Adressbeschränkungen oder den geografischen Standort verursacht werden, zu lindern.

Im Folgenden wird gezeigt, wie Sie die folgenden Funktionen konfigurieren und verwenden Cloudflare AI Gateway.

 

Schritt 1: Erstellen einer AI Gateway-Instanz

Der Konfigurationsprozess ist einfach, vorausgesetzt, man hat eine Cloudflare Konto (kostenlos zu erstellen, falls noch nicht registriert).

  1. Anmeldung bei der Cloudflare-Konsole: Zugang dashboard.cloudflare.com.
  2. Zu AI navigierenSuchen Sie die Option "AI" im linken Menü und klicken Sie darauf.eb528534-72b2-442e-98e1-4ff62d70593c.png
  3. AI-Gateway auswählenUnter dem Untermenü AI klicken Sie auf "AI Gateway".e18bbc28-5ec5-49cc-ad39-ec004c17661d.png
  4. Ein Gateway erstellenKlicken Sie auf die hervorgehobene Schaltfläche "Gateway erstellen" auf der Seite.5c769cd5-2a71-457e-8202-f2cb4c2c01c7.png
  5. Benannte Gateways: Weisen Sie dem Gateway einen eindeutigen Namen zu, z. B. my-app-gatewayDieser Name wird Teil der URL der nachfolgenden API-Endpunkte. Dieser Name wird Teil der URL nachfolgender API-Endpunkte.f57e25d9-c1f1-40a0-ab26-57bd537970d9.png
  6. (Optional) Beschreibung hinzufügenBeschreibende Informationen können hinzugefügt werden, um die spätere Verwaltung zu erleichtern.
  7. Bestätigung der SchöpfungNachdem Sie den Namen und die Beschreibung eingegeben haben, klicken Sie auf "Erstellung bestätigen".

Nach erfolgreicher Erstellung zeigt das System die Gateway-Detailseite an. Die wichtigsten Informationen sind Gateway-Endpunkt-URL(Gateway-Endpunkt-URL), dokumentieren Sie diese unbedingt. Das grundlegende Format ist wie folgt:

https://gateway.ai.cloudflare.com/v1/<ACCOUNT_TAG>/<GATEWAY_NAME>/<PROVIDER>
  • <ACCOUNT_TAG>::Cloudflare Der eindeutige Bezeichner des Kontos, der automatisch ausgefüllt wird.
  • <GATEWAY_NAME>Name: Der Name, der im vorherigen Schritt für das Gateway festgelegt wurde, z. B. my-app-gateway.
  • <PROVIDER>: die Kennung des Ziel-KI-Dienstanbieters, z. B. die openaiworkers-aihuggingface usw. Dies zeigt AI Gateway An welchen Backend-Dienst die Anfrage weitergeleitet werden soll.

 

Schritt 2: Integration von AI Gateway in die Anwendung

Dies ist der wichtigste Schritt: Der Anwendungscode muss geändert werden, um die Basis-URL, die direkt auf die KI-Service-API zugreift, durch die im vorherigen Schritt erhaltene zu ersetzen. Cloudflare AI Gateway URL.

Wichtige HinweiseNur der Basis-URL-Teil muss ersetzt werden. Der Abfragepfad, die Abfrageparameter, die Abfrage-Header (einschließlich des API-Schlüssels) usw. sollten unverändert bleiben.AI Gateway Der Header der Anfrage, der den API-Schlüssel enthält, wird sicher an den endgültigen KI-Dienstanbieter weitergeleitet.

Beispiel 1: Verwendung des OpenAI SDK in einer Python-Anwendung

Unter der Annahme, dass der ursprüngliche direkte Aufruf von OpenAI Der Code für die API lautet wie folgt:

# --- 原始代码 (直接调用 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}")

Geändert von AI Gateway Anfrage senden:

# --- 修改后代码 (通过 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}")

Die wichtigste Änderung liegt in der Initialisierung OpenAI Wenn der Client die base_url Parameter spezifiziert die AI Gateway URL.

Beispiel 2: Verwendung der Fetch-API in JavaScript (Node.js oder Browser)

Angenommen, der ursprüngliche Code verwendet fetch Direktruf 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));

Geändert zur Annahme AI Gateway Anfrage senden:

// --- 修改后代码 (通过 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));

Unabhängig von der verwendeten Programmiersprache oder dem verwendeten Framework (z. B. LangChainLlamaIndex usw.), ist der Grundgedanke der Integration derselbe: Finden Sie die Stelle, an der der API-Endpunkt oder die Basis-URL des KI-Dienstes konfiguriert ist, und ersetzen Sie sie durch die entsprechende Cloudflare AI Gateway URL.

Nach Abschluss der Codeänderungen und der Bereitstellung der Anwendung fließen alle Anfragen an den Ziel-KI-Dienst über die AI Gateway.

 

Schritt 3: Nutzen Sie die eingebauten Funktionen des AI Gateway

zurückkommen (oder gehen) Cloudflare in der Konsole AI Gateway Administrationsseite, die es Ihnen ermöglicht, die angebotenen Funktionen zu beobachten und zu nutzen:

  • AnalytikVisuelle Diagramme zu wichtigen Metriken wie Anfragevolumen, Erfolgsrate, Fehlerverteilung, Token-Nutzung, geschätzte Kosten, Latenz (P95/P99) und mehr. Dies hilft bei der schnellen Identifizierung von Leistungsengpässen und Kostenausreißern.1dfa5619-ce66-4b3c-aed6-d509d3e8862a.png
  • ProtokolleBietet detaillierte Anforderungsprotokolle, in denen Informationen wie Zeitstempel, Statuscodes, Zielmodelle, partielle Anfrage/Antwort-Metadaten, verstrichene Zeit, Cache-Status usw. für jede Anfrage aufgezeichnet werden. Es ist ein wichtiges Werkzeug für die Fehlersuche und die Analyse des Benutzerverhaltens.
  • CachingCaching: Das Caching kann auf der Seite "Einstellungen" des Gateways aktiviert werden. Die Zwischenspeicherung kann durch Einstellung der entsprechenden TTL (Time-To-Live)Zum Beispiel: 1 Stunde (3600 Sekunden).AI Gateway Antworten auf identische Anfragen (mit identischen Aufforderungsworten, Modellen usw.) können zwischengespeichert werden. Während der TTL-Gültigkeitsdauer werden nachfolgende identische Anfragen direkt von der Gateway liefert zwischengespeicherte Ergebnisse, ist extrem reaktionsschnell undVerbraucht keine Token- oder Rechenressourcen von Back-End-KI-Dienstleistern. Dies ist besonders effektiv für Szenarien mit wiederholten Anfragen, wie z. B. KI-generierte Inhalte (z. B. Produktbeschreibungen), und kann Kosten und Latenzzeiten erheblich reduzieren.
  • Ratenbegrenzung: Regeln zur Ratenbegrenzung können auch auf der Seite Einstellungen konfiguriert werden. Sie können die Häufigkeit von Anfragen auf der Grundlage von IP-Adressen oder benutzerdefinierten Anfrage-Headern (z. B. Übergabe einer Benutzer-ID oder eines bestimmten API-Schlüssels) begrenzen. Sie können zum Beispiel "Bis zu 20 Anfragen pro Minute für eine einzelne IP-Adresse zulassen" einstellen. Dies hilft, böswillige Angriffe oder den Missbrauch von Ressourcen aufgrund von Programmierfehlern zu verhindern.

 

strategischer Wert

Für Entwickler und Teams, die einen oder mehrere KI-Dienste integrieren und verwalten müssen, ist dieCloudflare AI Gateway bietet eine zentralisierte, einfach zu verwaltende Lösung. Sie löst nicht nur die Kosten-, Leistungs- und Überwachungsprobleme, die mit direkten API-Aufrufen verbunden sind, sondern bietet auch eine zusätzliche Optimierungs- und Schutzschicht durch Funktionen wie Caching und Ratenbegrenzung. Anstatt dass Entwickler ähnliche Proxys, Caching- und Überwachungssysteme selbst aufbauen und pflegen müssen, bietet dieAI Gateway Erhebliche Reduzierung der Komplexität und des Arbeitsaufwands. Da KI-Anwendungen immer umfangreicher werden, ist eine einheitliche Verwaltung mit solchen Gateway-Diensten entscheidend für die Aufrechterhaltung der Systemstabilität, die Kontrolle der Betriebskosten und die zukünftige Flexibilität für Erweiterungen.

Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " Cloudflare AI Gateway-Konfigurationshandbuch: Zentralisierung von AI-API-Aufrufdiensten
de_DEDeutsch