batch_chat
=True) batch_chat(chat, prompts, path, wait
Submit multiple chat requests in a batch.
This function allows you to submit multiple chat requests simultaneously using provider batch APIs (currently OpenAI and Anthropic). Batch processing can take up to 24 hours but offers significant cost savings.
Parameters
Name | Type | Description | Default |
---|---|---|---|
chat | ChatT |
Chat instance to use for the batch | required |
prompts | list[ContentT ] | list[list[ContentT ]] |
List of prompts to process. Each can be a string or list of strings. | required |
path | Union[str, Path] | Path to file (with .json extension) to store batch state | required |
wait | bool | If True, wait for batch to complete. If False, return None if incomplete. | True |
Returns
Name | Type | Description |
---|---|---|
List of Chat objects (one per prompt) if complete, None if wait=False and incomplete. | ||
Individual Chat objects may be None if their request failed. |
Example
from chatlas import ChatOpenAI
= ChatOpenAI()
chat = [
prompts "What's the capital of France?",
"What's the capital of Germany?",
"What's the capital of Italy?",
]
= batch_chat(chat, prompts, "capitals.json")
chats for i, result_chat in enumerate(chats):
if result_chat:
print(f"Prompt {i + 1}: {result_chat.get_last_turn().text}")