[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