[Beta] 프롬프트 관리
[Beta] 프롬프트 관리 (Prompt Management) — Arize Phoenix
Arize Phoenix의 프롬프트 버전을 LiteLLM SDK와 프록시에서 사용하는 방법을 알려드려요.
출처: 문서
본문
빠른 시작 (Quick Start)
SDK
import litellm
response = litellm.completion(
model="gpt-5.6-terra",
prompt_id="UHJvbXB0VmVyc2lvbjox",
prompt_integration="arize_phoenix",
api_key="your-arize-phoenix-token",
api_base="https://app.phoenix.arize.com/s/your-workspace",
prompt_variables={"question": "What is AI?"},
)
프록시 (Proxy)
1. 콘피그에 프롬프트 추가하기
prompts:
- prompt_id: "simple_prompt"
litellm_params:
prompt_id: "UHJvbXB0VmVyc2lvbjox"
prompt_integration: "arize_phoenix"
api_base: https://app.phoenix.arize.com/s/your-workspace
api_key: os.environ/PHOENIX_API_KEY
ignore_prompt_manager_model: true # optional: use model from config instead
ignore_prompt_manager_optional_params: true # optional: ignore temp, max_tokens from prompt
2. 요청 보내기
curl -X POST 'http://0.0.0.0:4000/chat/completions' \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer ***" \
-d '{
"model": "gpt-5.6-luna",
"prompt_id": "simple_prompt",
"prompt_variables": {
"question": "Explain quantum computing"
}
}'
구성 (Configuration)
Arize Phoenix 자격 증명 얻기
- API Token: Arize Phoenix Settings에서 얻기
- Workspace URL:
https://app.phoenix.arize.com/s/{your-workspace} - Prompt ID: 프롬프트 버전 URL에서 찾기
환경 변수 설정:
export PHOENIX_API_KEY="your-token"
SDK + 프록시 옵션 (SDK + PROXY Options)
| 파라미터 | 필수 | 설명 |
|---|---|---|
| prompt_id | 예 | Arize Phoenix 프롬프트 버전 ID |
| prompt_integration | 예 | "arize_phoenix"로 설정 |
| api_base | 예 | Workspace URL |
| api_key | 예 | 접근 토큰 |
| prompt_variables | 아니오 | 템플릿용 변수 |
프록시 전용 옵션 (Proxy-only Options)
| 파라미터 | 설명 |
|---|---|
| ignore_prompt_manager_model | 프롬프트의 모델 대신 콘피그 모델 사용 |
| ignore_prompt_manager_optional_params | 프롬프트의 temperature, max_tokens 무시 |
변수 템플릿 (Variable Templates)
Arize Phoenix는 Mustache/Handlebars 문법을 사용해요:
# Template: "Hello {{name}}, question: {{question}}"
prompt_variables = {
"name": "Alice",
"question": "What is ML?"
}
# Result: "Hello Alice, question: What is ML?"
추가 메시지와 결합하기 (Combine with Additional Messages)
response = litellm.completion(
model="gpt-5.6-terra",
prompt_id="UHJvbXB0VmVyc2lvbjox",
prompt_integration="arize_phoenix",
api_base="https://app.phoenix.arize.com/s/your-workspace",
prompt_variables={"question": "Explain AI"},
messages=[
{"role": "user", "content": "Keep it under 50 words"}
])
오류 처리 (Error Handling)
try:
response = litellm.completion(
model="gpt-5.6-terra",
prompt_id="invalid-id",
prompt_integration="arize_phoenix",
api_base="https://app.phoenix.arize.com/s/workspace"
)
except Exception as e:
print(f"Error: {e}")
# 404: Prompt not found
# 401: Invalid credentials
# 403: Access denied
지원 (Support)
- LiteLLM GitHub Issues
- Arize Phoenix Docs