Skip to content

Files & Batches

Upload, retrieve, list, and delete files. Files are used with batch processing, fine-tuning, and assistants.

import asyncio
import base64
import json
import os
from pathlib import Path
from liter_llm import create_client
from liter_llm._internal_bindings import CreateFileRequest
async def main() -> None:
client = create_client(api_key=os.environ["OPENAI_API_KEY"])
encoded = base64.b64encode(Path("data.jsonl").read_bytes()).decode("ascii")
payload = {"file": encoded, "filename": "data.jsonl", "purpose": "batch"}
request = CreateFileRequest.from_json(json.dumps(payload))
response = await client.create_file(request)
print(f"File ID: {response.id}")
print(f"Size: {response.bytes} bytes")
asyncio.run(main())
Method Description
create_file Upload a file with a purpose ("batch", "fine-tune", "assistants")
retrieve_file Get metadata for an uploaded file by ID
delete_file Delete an uploaded file by ID
list_files List all uploaded files, optionally filtered by purpose
file_content Download the raw content of an uploaded file

Create batch jobs to process multiple requests asynchronously at reduced cost:

import asyncio
import os
from liter_llm import create_client
from liter_llm._internal_bindings import CreateBatchRequest
async def main() -> None:
client = create_client(api_key=os.environ["OPENAI_API_KEY"])
request = CreateBatchRequest.from_json(
'{"input_file_id":"file-abc123","endpoint":"/v1/chat/completions","completion_window":"24h"}'
)
response = await client.create_batch(request)
print(f"Batch ID: {response.id}")
print(f"Status: {response.status}")
asyncio.run(main())
Method Description
create_batch Create a batch from an uploaded JSONL file
retrieve_batch Get batch status and results by ID
list_batches List all batches
cancel_batch Cancel a running batch
Parameter Type Description
input_file_id string ID of the uploaded JSONL file
endpoint string API endpoint ("/v1/chat/completions", "/v1/embeddings")
completion_window string Processing window ("24h")
metadata object Optional key-value metadata

Create, retrieve, and cancel responses via the Responses API:

import asyncio
import os
from liter_llm import create_client
from liter_llm._internal_bindings import CreateResponseRequest
async def main() -> None:
client = create_client(api_key=os.environ["OPENAI_API_KEY"])
request = CreateResponseRequest.from_json(
'{"model":"openai/gpt-4o","input":"Explain quantum computing in one sentence."}'
)
response = await client.create_response(request)
print(f"Status: {response.status}")
for item in response.output:
print(item.content)
asyncio.run(main())
Method Description
create_response Create a new response
retrieve_response Get a response by ID
cancel_response Cancel a response
Parameter Type Description
model string Model to use
input string Input text or conversation
instructions string System-level instructions
max_output_tokens int Maximum tokens to generate
temperature float Sampling temperature