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)