What's New in v1.0.4
Features
-
GenAI integration: document summarization via Google Gemini API
GenAIWorkerbackground service for summarization commandsGeminiServicewith configurable retries and timeout handling- GenAI event streaming via Server-Sent Events (SSE)
- New message types:
GenAICommand,GenAIEvent
Dependencies
- NEW:
Polly8.6.3(retry policies) RabbitMQ.Client7.1.2.NET10.0 Preview 7
Configuration
Configure the Gemini API by either method.
Option 1: Environment variables (.env)
GENAI__GEMINI__APIKEY=API key from https://aistudio.google.com/app/apikey
GENAI__GEMINI__MODEL=gemini-2.0-flash
GENAI__GEMINI__MAXRETRIES=3
GENAI__GEMINI__TIMEOUTSECONDS=30Option 2: appsettings.json
{
"Gemini": {
"ApiKey": "your-api-key",
"Model": "gemini-2.0-flash",
"MaxRetries": 3,
"TimeoutSeconds": 30
}
}Note
Environment variables use double underscores (__) as hierarchy separators in .NET configuration.
Usage
// Event streaming
services.AddPaperlessRabbitMq(config, includeOcrResultStream: true, includeGenAiResultStream: true);
// Gemini Worker
services.AddPaperlessRabbitMq(configuration);
services.AddHttpClient<ITextSummarizer, GeminiService>();
services.AddHostedService<GenAIWorker>();Breaking Changes
None.