Руководство по настройке шлюза ИИ Cloudflare: централизация служб вызовов API ИИ
С ростом популярности больших языковых моделей (LLM) и различных сервисов искусственного интеллекта разработчики все чаще интегрируют эти возможности в свои приложения. Однако прямые вызовы, такие как OpenAI
, иHugging Face
и конечных точек API других поставщиков услуг, что часто создает ряд проблем с управлением и эксплуатацией:
- Непрозрачные затраты: С ростом объема API-запросов растут и связанные с ними расходы. Однако разработчикам зачастую сложно точно отследить, какие именно вызовы потребляют больше всего ресурсов, а какие являются недействительными или избыточными, что затрудняет оптимизацию расходов.
- колебания производительности: В периоды высокой интенсивности использования время отклика API-сервиса ИИ может увеличиваться, и даже иногда могут возникать тайм-ауты, что напрямую влияет на удобство использования и стабильность работы приложения.
- Отсутствие мониторинга: Отсутствие единой платформы для мониторинга ключевых показателей, таких как наиболее часто используемые пользователями функции, подсказки (Prompts), которые работают лучше всего, тип и частота ошибочных запросов и т. д., оставляет оптимизацию сервиса без поддержки данных.
- Ограничения IP-адресов и проблемы репутации: Некоторые службы искусственного интеллекта имеют строгие ограничения или политику в отношении IP-адресов, с которых поступают запросы. Инициирование вызова с использованием общего или плохо проверенного IP-адреса может привести к отказу запроса или даже повлиять на качество вывода модели.
Чтобы решить эти проблемы.Cloudflare
запущен AI Gateway
Сервис. Это свободно распространяемый интеллектуальный прокси-слой, который находится между приложением и внутренним сервисом искусственного интеллекта, фокусируясь на управлении, мониторинге и оптимизации запросов искусственного интеллекта, а не на выполнении самих вычислений искусственного интеллекта.

Cloudflare AI Gateway
Основная ценность заключается в обеспечении унифицированной аналитики и протоколирования, интеллектуального кэширования, ограничения скорости и автоматических повторных попыток. Маршрутизируя трафик запросов ИИ на AI Gateway
Кроме того, разработчики могут получить централизованный пункт управления, который эффективно решает вышеперечисленные проблемы. В частности, узлы глобальной сети выступают в роли доверенных ретрансляторов, снимая проблемы, связанные с ограничениями IP-адресов или географическим положением.
Ниже показано, как настроить и использовать Cloudflare AI Gateway
.
Шаг 1: Создайте экземпляр шлюза AI Gateway
Процесс настройки прост, при условии, что у вас есть Cloudflare
Учетная запись (бесплатная, если вы еще не зарегистрированы).
- Вход в консоль Cloudflare: Доступ
dashboard.cloudflare.com
. - Перейдите к искусственному интеллекту: Найдите и нажмите на пункт "AI" в левом меню.
- Выберите шлюз искусственного интеллекта: В подменю AI нажмите "Шлюз AI".
- Создание шлюза: Нажмите на видную кнопку "Создать шлюз" на странице.
- Именованные шлюзы: Назначьте шлюзу понятное имя, например
my-app-gateway
Это имя станет частью URL последующих конечных точек API. Это имя станет частью URL последующих конечных точек API. - (Необязательно) Добавить описание: Можно добавить описательную информацию, чтобы облегчить последующее управление.
- Подтверждение создания: После ввода названия и описания нажмите Подтвердить создание.
После успешного создания система отображает страницу сведений о шлюзе. Ключевой информацией является URL конечной точки шлюза(URL конечной точки шлюза), обязательно задокументируйте его. Основной формат следующий:
https://gateway.ai.cloudflare.com/v1/<ACCOUNT_TAG>/<GATEWAY_NAME>/<PROVIDER>
<ACCOUNT_TAG>
::Cloudflare
Уникальный идентификатор учетной записи, который заполняется автоматически.<GATEWAY_NAME>
: Имя, заданное для шлюза на предыдущем шаге, например.my-app-gateway
.<PROVIDER>
: идентификатор целевого поставщика услуг ИИ, напр.openai
,workers-ai
,huggingface
и т.д. Это предписываетAI Gateway
На какую внутреннюю службу направить запрос.
Шаг 2: Интеграция AI Gateway в приложение
Это основной этап: необходимо изменить код приложения, заменив базовый URL, который напрямую обращается к API AI Service, на тот, который был получен на предыдущем этапе. Cloudflare AI Gateway
URL.
Важные замечания: Необходимо заменить только базовую часть URL. Путь запроса, параметры запроса, заголовки запроса (включая ключ API) и т. д. должны оставаться неизменными.AI Gateway
Заголовок запроса, содержащий ключ API, безопасно передается конечному поставщику услуг искусственного интеллекта.
Пример 1: Использование OpenAI SDK в приложении на Python
Если предположить, что первоначальный прямой вызов OpenAI
Код для API выглядит следующим образом:
# --- 原始代码 (直接调用 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}")
Изменено AI Gateway
Отправить запрос:
# --- 修改后代码 (通过 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}")
Ключевое изменение заключается в инициализации OpenAI
Когда клиенту передается base_url
параметр задает AI Gateway
URL.
Пример 2: Использование API fetch в JavaScript (Node.js или браузер)
Если предположить, что в исходном коде используется fetch
прямой вызов 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));
Изменено для принятия AI Gateway
Отправить запрос:
// --- 修改后代码 (通过 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));
Независимо от используемого языка программирования или фреймворка (например. LangChain
, LlamaIndex
и т. д.), основная идея интеграции та же: найдите место, где настроена конечная точка API сервиса AI или базовый URL, и замените его на соответствующий Cloudflare AI Gateway
URL.
После внесения изменений в код и развертывания приложения все запросы к целевой службе искусственного интеллекта будут проходить через AI Gateway
.
Шаг 3: Используйте встроенную функциональность AI Gateway
возвращаться (или уходить) Cloudflare
в консоли AI Gateway
Страница администрирования, которая позволяет наблюдать и использовать все возможности, которые она предлагает:
- Аналитика: Предоставляет наглядные графики ключевых показателей, таких как объем запросов, коэффициент успешности, распределение ошибок, использование токенов, расчетная стоимость, задержка (P95/P99) и другие. Это помогает быстро выявить узкие места в производительности и отклонения в стоимости.
- Журналы: Предоставляет подробные журналы запросов, записывая такую информацию, как временные метки, коды состояния, целевые модели, частичные метаданные запроса/ответа, прошедшее время, состояние кэша и так далее для каждого запроса. Это важный инструмент для устранения неполадок и анализа поведения пользователей.
- Кэширование: Кэширование можно включить на странице "Настройки" шлюза. Кэширование можно включить, установив соответствующий параметр TTL (Time-To-Live)Например, 1 час (3600 секунд).
AI Gateway
Ответы на идентичные запросы (с одинаковыми словами подсказки, моделями и т. д.) могут кэшироваться. В течение периода действия TTL последующие идентичные запросы будут обрабатываться непосредственно устройствомGateway
Возвращает кэшированные результаты, очень быстро реагирует иНе потребляет токены и вычислительные ресурсы от внутренних поставщиков услуг ИИ. Это особенно эффективно для сценариев с повторяющимися запросами, таких как контент, генерируемый искусственным интеллектом (например, описания товаров), и позволяет значительно снизить стоимость и время ожидания. - Ограничение скорости: Правила ограничения частоты запросов также можно настроить на странице "Настройки". Вы можете ограничить частоту запросов на основе IP-адресов или пользовательских заголовков запроса (например, передавая идентификатор пользователя или определенный ключ API). Например, вы можете установить значение "Разрешить до 20 запросов в минуту для одного IP-адреса". Это поможет предотвратить вредоносные атаки или нецелевое использование ресурсов из-за ошибок программирования.
стратегическая ценность
Для разработчиков и команд, которым необходимо интегрировать и управлять одной или несколькими службами искусственного интеллекта, предназначенCloudflare AI Gateway
обеспечивает централизованное и простое в управлении решение. Оно не только решает проблемы стоимости, производительности и мониторинга, обычно связанные с прямыми вызовами API, но и обеспечивает дополнительный уровень оптимизации и защиты благодаря таким функциям, как кэширование и ограничение скорости. Вместо того чтобы разработчики самостоятельно создавали и поддерживали аналогичные прокси, системы кэширования и мониторинга, вAI Gateway
Значительное снижение сложности и рабочей нагрузки. По мере развития приложений искусственного интеллекта унифицированное управление с помощью таких шлюзовых сервисов имеет решающее значение для обеспечения надежности системы, контроля эксплуатационных расходов и будущей гибкости при расширении.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...