Prerequisites
Impala will provide these values to you ahead of time:IMPALA_BASE_URL— the hostname of your Impala endpointJOB_ID— an identifier reserved for your accountMODEL— the name of the model you are running with Impala (e.g. Qwen2.5-0.5B-Instruct)
- LiteLLM installed — either the SDK (
pip install litellm) or the LiteLLM Proxy Server running in your environment, with access to yourLITELLM_BASE_URLconfig.yamlfile
Add Impala to LiteLLM
Impala’s endpoint is OpenAI-compatible, so LiteLLM can route to it like any otheropenai/ provider. Update your config.yaml with an entry per model you’re running on Impala:
Keep
model_name clear as it will be used as an alias. Note: model must be prefixed with “openai/”.Run batch workloads
Batch runs through the same proxy using pass-through routes. Add these to yourconfig.yaml alongside the model_list entry, then restart the proxy. IMPALA_API_KEY must be set in the environment where the proxy runs.
Step A — Upload the input file
Step B — Create the batch
The
model field inside every line of the JSONL input file must exactly match the model that job_id is bound to.Step C — Poll for status
Step D — Download results
Notes
- Batch requests must use the pass-through routes above, not LiteLLM’s native
/v1/batches. api_keyin themodel_listentry is only used for chat completions. The pass-through routes authenticate with their ownAuthorizationheader.
Advanced batch configurations (optional)
Once you’ve validated the four curl steps above manually, you can wrap the whole lifecycle (validate, upload, create the batch, poll, download) behind a single CLI command or SDK call for production use. The snippets below are illustrative patterns, not runnable tools:tags object when creating a batch, which then surfaces in the Impala console for filtering runs by user, team or use case. Reach out to Impala to set this up.
Budget guardrails. If you want to stop a run early — for example because it’s burning through a budget you’re tracking via LiteLLM — poll GET /v1/batches/{batch_id} as usual and call the documented Cancel Batch endpoint once your own threshold is hit. Output produced

