Azure Passthrough

Azure Passthrough

Azure의 패스스루 엔드포인트를 소개할게요. /azure 경로로 Azure OpenAI의 각종 엔드포인트를 네이티브 Azure 형식 그대로(변환 없이) 호출할 수 있는 기능이에요.

출처: 문서

본문

개요 (Overview)

Azure 패스스루를 통해 호출할 수 있는 엔드포인트는 다양해요.

/v1/chat/completions
/v1/embeddings
/v1/images/generations
/v1/images/edits
/v1/responses
/openai/deployments/...

언제 사용하나요? (When to use this)

이 기능은 Azure의 비 OpenAI 호환 엔드포인트(즉 /chat/completions, /embeddings, /completions, /images 같은 네이티브 Azure 형태)에 접근할 필요가 있을 때 유용해요. OpenAI 호환 /v1/... 엔드포인트를 쓴다면 Azure 프로바이더 가이드를 참고하는 게 좋아요.

네이티브 Azure 형식으로 호출 가능한 엔드포인트는 다음과 같아요.

/assistants
/threads
/vector_stores

연결 대상 호스트는 다음과 같아요.

https://<your-resource-name>.openai.azure.com

프록시를 통한 주소는 이렇게 구성돼요.

LITELLM_PROXY_BASE_URL/azure

사용 예시 (Usage Examples)

Assistants API

Azure OpenAI 클라이언트 생성

azure_endpoint에 LiteLLM 프록시 URL(LITELLM_PROXY_BASE_URL/azure)을 넣고, api_key에는 LiteLLM API 키(LITELLM_API_KEY)를 넣어요.

import openai
client = openai.AzureOpenAI(
    azure_endpoint="http://0.0.0.0:4000/azure",  # <your-proxy-url>/azure
    api_key="sk-anything",  # <your-proxy-api-key>
    api_version="2024-05-01-preview"  # required Azure API version
)
어시스턴트(Assistant) 생성
assistant = client.beta.assistants.create(
    name="Math Tutor",
    instructions="You are a math tutor. Help solve equations.",
    model="gpt-5.6-terra",
)
스레드(Thread) 생성
thread = client.beta.threads.create()
스레드에 메시지 추가
message = client.beta.threads.messages.create(
    thread_id=thread.id,
    role="user",
    content="Solve 3x + 11 = 14",
)
어시스턴트 실행(Run)
run = client.beta.threads.runs.create(
    thread_id=thread.id,
    assistant_id=assistant.id,
)
# Check run status
run_status = client.beta.threads.runs.retrieve(
    thread_id=thread.id,
    run_id=run.id)
메시지 조회
messages = client.beta.threads.messages.list(
    thread_id=thread.id)
어시스턴트 삭제
client.beta.assistants.delete(assistant.id)

더 알아보기 (Learn more)