You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Major Features:
- Full Google Gemini provider support with native batch API
- 50% cost savings through Google's batch processing
- Support for 5 Gemini models (gemini-2.5-flash, gemini-2.5-pro, etc.)
- Structured output and file processing support
- Token counting using Google's official API
Improvements:
- Better exception handling with specific error types
- File path sanitization for batch IDs with slashes
- Cost estimation follows Anthropic pattern (returns 0 when tokencost unavailable)
- Added google-genai dependency for proper CI/CD support
- Updated documentation and README
Bug Fixes:
- Fixed JSON serialization issues with GenerateContentResponse
- Fixed DOCX file type incorrectly listed for Gemini
- Fixed CI failures due to missing google-genai dependency
- Fixed batch ID sanitization for file saving
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
*This library is currently in alpha - so there will be breaking changes*
9
+
*This library is currently in beta - so there will be breaking changes*
10
10
11
11
## Why AI-batching?
12
12
13
-
AI providers offer batch APIs that process requests asynchronously at 50% reduced cost compared to real-time APIs. This is ideal for workloads like document processing, data analysis, and content generation where immediate responses aren't required. However, managing batch jobs across providers, tracking costs, handling failures, and mapping citations back to source documents quickly becomes complex - that's where Batchata comes in.
13
+
AI providers offer batch APIs that process requests asynchronously at 50% reduced cost compared to real-time APIs. This is ideal for offline or batch processing tasks. However, managing batch jobs across providers, tracking costs, handling failures, and mapping citations back to source documents quickly becomes complex - that's where Batchata comes in.
</span><span id="Job-14"><a href="#Job-14"><span class="linenos">14</span></a><span class="w"> </span><span class="sd">"""Configuration for a single AI job.</span>
</span><span id="Job-16"><a href="#Job-16"><span class="linenos">16</span></a><span class="sd"> Either provide messages OR file+prompt, not both.</span>
3146
+
</span><span id="Job-16"><a href="#Job-16"><span class="linenos">16</span></a><span class="sd"> Either provide messages OR prompt (with optional file), not both.</span>
</span><span id="Job-22"><a href="#Job-22"><span class="linenos">22</span></a><span class="sd"> prompt: Prompt text (can be used alone or with file)</span>
3153
3153
</span><span id="Job-23"><a href="#Job-23"><span class="linenos">23</span></a><span class="sd"> model: Model name (e.g., "claude-3-sonnet")</span>
3154
3154
</span><span id="Job-24"><a href="#Job-24"><span class="linenos">24</span></a><span class="sd"> temperature: Sampling temperature (0.0-1.0)</span>
3155
3155
</span><span id="Job-25"><a href="#Job-25"><span class="linenos">25</span></a><span class="sd"> max_tokens: Maximum tokens to generate</span>
</span><span id="Job-52"><a href="#Job-52"><span class="linenos">52</span></a><span class="w"> </span><span class="sd">"""Serialize for state persistence."""</span>
0 commit comments