Cloudflare AI 게이트웨이 구성 가이드: AI API 호출 서비스 중앙 집중화

AI 실습 튜토리얼5개월 전 업데이트 AI 공유 서클
11.1K 00

LLM(대규모 언어 모델)과 다양한 AI 서비스의 인기로 인해 개발자가 애플리케이션에 이러한 기능을 통합하는 것이 점점 더 보편화되고 있습니다. 그러나 다음과 같은 직접 호출은 OpenAIHugging Face 및 기타 서비스 제공업체의 API 엔드포인트는 종종 다양한 관리 및 O&M 문제를 야기합니다:

  • 투명하지 않은 비용API 요청의 양이 증가함에 따라 관련 비용도 증가합니다. 그러나 개발자가 어떤 특정 호출이 가장 많은 리소스를 소비하는지, 어떤 호출이 유효하지 않거나 중복된 요청인지 정확하게 추적하기 어려워 비용 최적화가 어려운 경우가 많습니다.
  • 성능 변동동시 접속자가 많은 기간에는 AI 서비스의 API 응답 시간이 길어질 수 있으며, 간혹 타임아웃이 발생하여 사용자 경험과 애플리케이션의 안정성에 직접적인 영향을 미칠 수 있습니다.
  • 모니터링 부족사용자가 가장 자주 사용하는 기능, 가장 효과적인 프롬프트(프롬프트), 오류 요청의 유형과 빈도 등 주요 지표를 모니터링하는 통합 플랫폼이 없기 때문에 서비스 최적화가 데이터에 의해 지원되지 않습니다.
  • IP 주소 제한 및 평판 문제일부 AI 서비스에는 요청이 시작되는 IP 주소에 대한 엄격한 제한이나 정책이 있습니다. 공유되거나 평판이 좋지 않은 IP 주소를 사용하여 통화를 시작하면 요청이 실패하거나 모델 출력의 품질에 영향을 미칠 수 있습니다.

이러한 문제를 해결하기 위해Cloudflare 출시 AI Gateway 서비스. 이는 애플리케이션과 백엔드 AI 서비스 사이에 있는 무료로 제공되는 지능형 프록시 계층으로, AI 연산 자체를 수행하기보다는 AI 요청의 관리, 모니터링 및 최적화에 중점을 둡니다.

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

Cloudflare AI Gateway 핵심 가치는 통합 분석 및 로깅, 지능형 캐싱, 속도 제한, 자동 재시도 기능을 제공하는 데 있습니다. AI 요청 트래픽을 다음 위치로 라우팅하여 AI Gateway또한 개발자는 위의 문제점을 효과적으로 해결할 수 있는 중앙 집중식 제어 지점을 확보할 수 있습니다. 특히 글로벌 네트워크 노드는 신뢰할 수 있는 중계자 역할을 하여 IP 주소 제한이나 지리적 위치로 인한 문제를 완화하는 데 도움이 됩니다.

다음은 구성 및 사용 방법을 설명합니다. Cloudflare AI Gateway.

 

1단계: AI 게이트웨이 인스턴스 만들기

구성 프로세스는 간단합니다. Cloudflare 계정(아직 등록하지 않은 경우 무료로 생성할 수 있음).

  1. Cloudflare 콘솔에 로그인하기액세스 dashboard.cloudflare.com.
  2. AI로 이동왼쪽 메뉴에서 'AI' 옵션을 찾아 클릭합니다.Cloudflare AI Gateway 配置指南:集中管理 AI API 调用服务
  3. AI 게이트웨이 선택AI 하위 메뉴에서 'AI 게이트웨이'를 클릭합니다.Cloudflare AI Gateway 配置指南:集中管理 AI API 调用服务
  4. 게이트웨이 만들기페이지에서 눈에 잘 띄는 '게이트웨이 만들기' 버튼을 클릭합니다.Cloudflare AI Gateway 配置指南:集中管理 AI API 调用服务
  5. 명명된 게이트웨이게이트웨이에 명확한 이름을 지정합니다. my-app-gateway이 이름은 후속 API 엔드포인트의 URL의 일부가 됩니다. 이 이름은 후속 API 엔드포인트의 URL의 일부가 됩니다.Cloudflare AI Gateway 配置指南:集中管理 AI API 调用服务
  6. (선택 사항) 설명 추가설명 정보를 추가하여 추후 관리를 용이하게 할 수 있습니다.
  7. 생성 확인이름 지정 및 설명을 완료한 후 생성 확인을 클릭합니다.

성공적으로 생성되면 시스템에 게이트웨이 세부 정보 페이지가 표시됩니다. 주요 정보는 다음과 같습니다. 게이트웨이 엔드포인트 URL(게이트웨이 엔드포인트 URL)을 문서화해야 합니다. 기본 형식은 다음과 같습니다:

https://gateway.ai.cloudflare.com/v1/<ACCOUNT_TAG>/<GATEWAY_NAME>/<PROVIDER>
  • <ACCOUNT_TAG>::Cloudflare 자동으로 채워지는 계정의 고유 식별자입니다.
  • <GATEWAY_NAME>이전 단계에서 게이트웨이에 설정한 이름입니다(예 my-app-gateway.
  • <PROVIDER>대상 AI 서비스 제공업체의 식별자, 예를 들어 openaiworkers-aihuggingface 등 이는 다음을 나타냅니다. AI Gateway 요청을 전달할 백엔드 서비스.

 

2단계: 애플리케이션에 AI 게이트웨이 통합하기

이 단계가 핵심 단계입니다. 애플리케이션 코드를 수정하여 AI 서비스 API에 직접 액세스하는 기본 URL을 이전 단계에서 얻은 URL로 대체해야 합니다. Cloudflare AI Gateway URL.

중요 참고 사항기본 URL 부분만 교체하면 됩니다. 요청 경로, 쿼리 매개변수, 요청 헤더(API 키 포함) 등은 변경하지 않아야 합니다.AI Gateway API 키가 포함된 요청 헤더는 최종 AI 서비스 제공업체에 안전하게 전달됩니다.

예제 1: Python 애플리케이션에서 OpenAI SDK 사용

원래 직접 호출이 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: JavaScript(Node.js 또는 브라우저)에서 가져오기 API 사용

원본 코드가 다음을 사용한다고 가정합니다. 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));

사용되는 프로그래밍 언어 또는 프레임워크(예 LangChainLlamaIndex 등), 통합의 기본 아이디어는 동일합니다. AI 서비스 API 엔드포인트 또는 기본 URL이 설정된 위치를 찾아 해당 Cloudflare AI Gateway URL.

코드 변경을 완료하고 애플리케이션을 배포한 후에는 대상 AI 서비스에 대한 모든 요청이 AI Gateway.

 

3단계: AI 게이트웨이의 내장 기능 활용하기

돌아오다(또는 가다) Cloudflare 콘솔에서 AI Gateway 관리 페이지에서 제공하는 기능을 관찰하고 활용할 수 있습니다:

  • 분석요청량, 성공률, 오류 분포, 토큰 사용량, 예상 비용, 지연 시간(P95/P99) 등과 같은 주요 지표에 대한 시각적 차트를 제공합니다. 이를 통해 성능 병목 현상과 비용 이상값을 빠르게 파악할 수 있습니다.Cloudflare AI Gateway 配置指南:集中管理 AI API 调用服务
  • 로그요청 로그 : 각 요청에 대한 타임스탬프, 상태 코드, 대상 모델, 부분 요청/응답 메타데이터, 경과 시간, 캐시 상태 등의 정보를 기록하여 상세한 요청 로그를 제공합니다. 문제 해결 및 사용자 행동 분석을 위한 중요한 도구입니다.
  • 캐싱캐싱은 게이트웨이의 '설정' 페이지에서 활성화할 수 있습니다. 캐싱은 적절한 설정으로 활성화할 수 있습니다. TTL(타임 투 라이브)예를 들어 1시간(3600초)입니다.AI Gateway 동일한 요청(동일한 프롬프트 단어, 모델 등)에 대한 응답은 캐시될 수 있습니다. TTL 유효 기간 동안 후속 동일한 요청은 다음과 같이 직접 처리됩니다. Gateway 캐시된 결과를 반환하고 응답 속도가 매우 빠르며백엔드 AI 서비스 제공업체의 토큰 또는 컴퓨팅 리소스를 소비하지 않습니다.. 이는 특히 AI 생성 콘텐츠(예: 제품 설명)와 같이 반복적인 요청이 있는 시나리오에 효과적이며 비용과 지연 시간을 크게 줄일 수 있습니다.
  • 요금 제한설정 페이지에서 속도 제한 규칙을 구성할 수도 있습니다. IP 주소 또는 사용자 지정 요청 헤더(예: 사용자 ID 또는 특정 API 키 전달)를 기반으로 요청 빈도를 제한할 수 있습니다. 예를 들어 '단일 IP 주소에 대해 분당 최대 20건의 요청 허용'을 설정할 수 있습니다. 이렇게 하면 프로그래밍 오류로 인한 악의적인 공격이나 리소스 오용을 방지할 수 있습니다.

 

전략적 가치

하나 이상의 AI 서비스를 통합하고 관리해야 하는 개발자와 팀을 위해Cloudflare AI Gateway 는 관리하기 쉬운 중앙 집중식 솔루션을 제공합니다. 일반적으로 API 직접 호출과 관련된 비용, 성능 및 모니터링 문제를 해결할 뿐만 아니라 캐싱 및 속도 제한과 같은 기능을 통해 추가적인 최적화 및 보호 계층을 제공합니다. 개발자가 자체적으로 유사한 프록시, 캐싱 및 모니터링 시스템을 구축하고 유지 관리하는 대신AI Gateway 복잡성과 워크로드 대폭 감소. AI 애플리케이션이 심화됨에 따라 이러한 게이트웨이 서비스를 통한 통합 관리는 시스템의 견고성을 유지하고 운영 비용을 제어하며 향후 확장을 위한 유연성을 확보하는 데 매우 중요합니다.

© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...