/audio/transcriptions
/audio/transcriptions
개요
| 기능 | 지원 | 비고 |
|---|---|---|
| 비용 추적 (Cost Tracking) | ✅ | 모든 지원 모델에서 동작 |
| 로깅 (Logging) | ✅ | 모든 통합에서 동작 |
| 최종 사용자 추적 (End-user Tracking) | ✅ | |
| 폴백 (Fallbacks) | ✅ | 지원 모델 간 동작 |
| 로드 밸런싱 (Loadbalancing) | ✅ | 지원 모델 간 동작 |
| 가드레일 (Guardrails) | ✅ | 출력된 전사(transcribed) 텍스트에 적용 (비스트리밍 전용) |
| 지원 프로바이더 | openai, azure, vertex_ai, gemini, deepgram, groq, fireworks_ai, ovhcloud, mistral |
빠른 시작
LiteLLM Python SDK
from litellm import transcription
import os
# set api keys
os.environ["OPENAI_API_KEY"] = ""
audio_file = open("/path/to/audio.mp3", "rb")
response = transcription(model="whisper", file=audio_file)
print(f"response: {response}")
LiteLLM Proxy
config에 모델 추가
- OpenAI
- OpenAI + Azure
model_list:
- model_name: whisper
litellm_params:
model: whisper-1
api_key: os.environ/OPENAI_API_KEY
model_info:
mode: audio_transcription
general_settings:
master_key: os.environ/LITELLM_MASTER_KEY
model_list:
- model_name: whisper
litellm_params:
model: whisper-1
api_key: os.environ/OPENAI_API_KEY
model_info:
mode: audio_transcription
- model_name: whisper
litellm_params:
model: azure/azure-whisper
api_version: 2024-02-15-preview
api_base: os.environ/AZURE_EUROPE_API_BASE
api_key: os.environ/AZURE_EUROPE_API_KEY
model_info:
mode: audio_transcription
general_settings:
master_key: os.environ/LITELLM_MASTER_KEY
프록시 시작
litellm --config /path/to/config.yaml
# RUNNING on http://0.0.0.0:4000
테스트
- Curl
- OpenAI Python SDK
curl --location 'http://0.0.0.0:4000/v1/audio/transcriptions' \
--header "Authorization: Bearer ***" \
--form 'file=@"/Users/krrishdholakia/Downloads/gettysburg.wav"' \
--form 'model="whisper"'
from openai import OpenAI
client = openai.OpenAI(
api_key="sk-<your-litellm-api-key>",
base_url="http://0.0.0.0:4000"
)
audio_file = open("speech.mp3", "rb")
transcript = client.audio.transcriptions.create(
model="whisper",
file=audio_file
)
출처: 문서
본문
지원 프로바이더
- OpenAI
- Azure
- Fireworks AI
- Groq
- Deepgram
- Google AI Studio (Gemini)
- Mistral (Voxtral)
- OVHcloud AI Endpoints
폴백 (Fallbacks)
오디오 전사에 대한 폴백을 구성해, 기본 모델이 실패하면 다른 모델로 자동 재시도할 수 있어요.
- Curl
- OpenAI Python SDK
curl --location 'http://0.0.0.0:4000/v1/audio/transcriptions' \
--header "Authorization: Bearer ***" \
--form 'file=@"gettysburg.wav"' \
--form 'model="groq/whisper-large-v3"' \
--form 'fallbacks[]="openai/whisper-1"'
from openai import OpenAI
client = OpenAI(
api_key="sk-<your-litellm-api-key>",
base_url="http://0.0.0.0:4000"
)
audio_file = open("gettysburg.wav", "rb")
transcript = client.audio.transcriptions.create(
model="groq/whisper-large-v3",
file=audio_file,
extra_body={
"fallbacks": ["openai/whisper-1"]
}
)
폴백 테스트
LiteLLM Proxy v1.85.0부터 mock_testing_fallbacks는 인바운드 Proxy 요청에서 제거되며 효과가 없어요. 테스트에서 직접 litellm.Router 호출에 대해서만 지원됩니다.
프록시를 통해 오디오 전사 폴백을 검증하려면, 프로덕션이 아닌 환경에서 실제 프로바이더 오류를 발생시키고 폴백 구성과 함께 일반 요청을 보내세요.