Helicone
Helicone
Helicone은 고급 모니터링, 캐싱, 분석 기능을 제공하는 OpenAI 호환 엔드포인트를 갖춘 AI 게이트웨이이자 관측성 플랫폼이에요.
Helicone의 AI Gateway를 통해 사용할 수 있는 모든 모델을 지원해요. 요청 시
helicone/접두사를 사용하세요.
출처: 문서
본문
개요 (Overview)
| 속성 | 설명 |
|---|---|
| 설명 | 고급 모니터링, 캐싱, 분석 기능을 제공하는 OpenAI 호환 엔드포인트를 갖춘 AI 게이트웨이 및 관측성 플랫폼 |
| LiteLLM 라우트 | helicone/ |
| 공급자 문서 | Helicone Documentation |
| 기본 URL | https://ai-gateway.helicone.ai/ |
| 지원 작업 | /chat/completions, /completions, /embeddings |
Helicone이란?
Helicone은 LLM 애플리케이션용 오픈소스 관측성 플랫폼으로 다음을 제공해요:
- 요청 모니터링: 상세 지표로 모든 LLM 요청 추적
- 캐싱: 지능형 캐싱으로 비용과 지연 감소
- Rate Limiting: 사용자/키별 요청 속도 제어
- 비용 추적: 모델과 사용자별 지출 모니터링
- 사용자 지정 속성: 필터링·분석용 metadata로 요청 태그
- 프롬프트 관리: 프롬프트 버전 관리
필수 변수
os.environ["HELICONE_API_KEY"] = "" # your Helicone API key
Helicone 대시보드에서 Helicone API 키를 가져와요.
LiteLLM Python SDK 사용법
비스트리밍 (Non-streaming)
import os
import litellm
from litellm import completion
os.environ["HELICONE_API_KEY"] = "" # your Helicone API key
messages = [{"content": "What is the capital of France?", "role": "user"}]
# Helicone call - routes through Helicone gateway to OpenAI
response = completion(
model="helicone/gpt-5.6-terra",
messages=messages
)
print(response)
스트리밍 (Streaming)
import os
import litellm
from litellm import completion
os.environ["HELICONE_API_KEY"] = "" # your Helicone API key
messages = [{"content": "Write a short poem about AI", "role": "user"}]
# Helicone call with streaming
response = completion(
model="helicone/gpt-5.6-terra",
messages=messages,
stream=True
)
for chunk in response:
print(chunk)
Metadata 사용 (Helicone Custom Properties)
import os
import litellm
from litellm import completion
os.environ["HELICONE_API_KEY"] = "" # your Helicone API key
response = completion(
model="helicone/gpt-5.6-luna",
messages=[{"role": "user", "content": "What's the weather like?"}],
metadata={
"Helicone-Property-Environment": "production",
"Helicone-Property-User-Id": "user_123",
"Helicone-Property-Session-Id": "session_abc"
}
)
print(response)
Text Completion
import os
import litellm
os.environ["HELICONE_API_KEY"] = "" # your Helicone API key
response = litellm.completion(
model="helicone/gpt-5.6-luna", # text completion model
prompt="Once upon a time"
)
print(response)
재시도/폴백 메커니즘
import litellm
litellm.api_base = "https://ai-gateway.helicone.ai/"
litellm.metadata = {
"Helicone-Retry-Enabled": "true",
"helicone-retry-num": "3",
"helicone-retry-factor": "2",
}
response = litellm.completion(
model="helicone/gpt-5.6-luna/openai,claude-sonnet-5/anthropic", # Try OpenAI first, then fallback to Anthropic, then continue with other models
messages=[{"role": "user", "content": "Hello"}]
)
지원되는 OpenAI 파라미터
Helicone은 모든 표준 OpenAI 호환 파라미터를 지원해요:
| 파라미터 | 타입 | 설명 |
|---|---|---|
| messages | array | 필수. 'role'과 'content'가 있는 메시지 객체 배열 |
| model | string | 필수. Model ID (예: gpt-4, claude-3-opus 등) |
| stream | boolean | 선택. 스트리밍 응답 활성화 |
| temperature | float | 선택. 샘플링 온도 |
| top_p | float | 선택. Nucleus sampling 파라미터 |
| max_tokens | integer | 선택. 생성할 최대 토큰 수 |
| frequency_penalty | float | 선택. 빈번한 토큰에 패널티 |
| presence_penalty | float | 선택. 존재에 기반한 토큰 패널티 |
| stop | string/array | 선택. 중지 시퀀스 |
| n | integer | 선택. 생성할 완성 수 |
| tools | array | 선택. 사용 가능한 도구/함수 목록 |
| tool_choice | string/object | 선택. 도구/함수 호출 제어 |
| response_format | object | 선택. 응답 형식 사양 |
| user | string | 선택. 사용자 식별자 |
Helicone 전용 헤더
Helicone 기능을 사용하려면 이를 metadata로 전달해요:
| 헤더 | 설명 |
|---|---|
| Helicone-Property-* | 필터링용 사용자 지정 속성 (예: Helicone-Property-User-Id) |
| Helicone-Cache-Enabled | 이 요청에 캐싱 활성화 |
| Helicone-User-Id | 추적용 사용자 식별자 |
| Helicone-Session-Id | 요청 그룹핑용 세션 식별자 |
| Helicone-Prompt-Id | 버전 관리용 프롬프트 식별자 |
| Helicone-Rate-Limit-Policy | Rate limiting 정책 이름 |
import litellm
response = litellm.completion(
model="helicone/gpt-5.6-terra",
messages=[{"role": "user", "content": "Hello"}],
metadata={
"Helicone-Cache-Enabled": "true",
"Helicone-Property-Environment": "production",
"Helicone-Property-User-Id": "user_123",
"Helicone-Session-Id": "session_abc",
"Helicone-Prompt-Id": "prompt_v1"
}
)
고급 사용법 (Advanced Usage)
다른 공급자와 사용
Helicone은 게이트웨이 역할을 하며 여러 공급자를 지원해요.
import litellm
# Set both Helicone and Anthropic keys
os.environ["HELICONE_API_KEY"] = "your-helicone-key"
response = litellm.completion(
model="helicone/claude-sonnet-5/anthropic",
messages=[{"role": "user", "content": "Hello"}]
)
캐싱
비용과 지연을 줄이기 위해 캐싱을 활성화해요.
import litellm
response = litellm.completion(
model="helicone/gpt-5.6-terra",
messages=[{"role": "user", "content": "What is 2+2?"}],
metadata={
"Helicone-Cache-Enabled": "true"
}
)
# Subsequent identical requests will be served from cache
response2 = litellm.completion(
model="helicone/gpt-5.6-terra",
messages=[{"role": "user", "content": "What is 2+2?"}],
metadata={
"Helicone-Cache-Enabled": "true"
}
)
기능 (Features)
요청 모니터링
- 상세 지표로 모든 요청 추적
- 요청/응답 쌍 보기
- 지연과 에러 모니터링
- 사용자 지정 속성으로 필터링
비용 추적
- 모델별 비용 추적
- 사용자별 비용 추적
- 비용 알림 및 예산
- 과거 비용 분석
Rate Limiting
- 사용자별 rate limits
- API 키별 rate limits
- 사용자 지정 rate limit 정책
- 자동 강제
분석
- 요청 볼륨 추세
- 비용 추세
- 지연 백분위
- 에러율
자세한 내용은 Helicone Pricing을 참고하세요.