# AI Document Writer Orchestrator Configuration Guide ## Overview The AI Document Writer Orchestrator is a powerful tool that coordinates AI content generation with document writing, manages complex writing workflows, and provides intelligent content enhancement and formatting. It handles review and approval processes, supports template-based document generation, and integrates with DocumentWriterTool for document writing operations and various AI providers for content generation. The tool supports multiple content generation modes (generate, enhance, rewrite, translate, convert_format, template_fill, format_content, edit_content), AI edit operations (smart_format, style_enhance, content_restructure, intelligent_highlight, auto_bold_keywords, smart_paragraph, ai_proofreading), and write strategies (immediate, review, draft, staged). The tool can be configured via environment variables using the `AI_DOC_WRITER_` prefix or through programmatic configuration when initializing the tool. ## Using .env Files in Your Project When using aiecs as a dependency in your project, you can store configuration in a `.env` file for convenience. The AI Document Writer Orchestrator reads from environment variables that are already loaded into the process, so you need to load the `.env` file in your application before importing aiecs tools. ### Setting Up .env Files **1. Install python-dotenv:** ```bash pip install python-dotenv ``` **2. Create a `.env` file in your project root:** ```bash # .env file in your project root AI_DOC_WRITER_DEFAULT_AI_PROVIDER=openai AI_DOC_WRITER_MAX_CONTENT_LENGTH=50000 AI_DOC_WRITER_MAX_CONCURRENT_WRITES=5 AI_DOC_WRITER_DEFAULT_TEMPERATURE=0.3 AI_DOC_WRITER_MAX_TOKENS=4000 AI_DOC_WRITER_TIMEOUT=60 AI_DOC_WRITER_ENABLE_DRAFT_MODE=true AI_DOC_WRITER_ENABLE_CONTENT_REVIEW=true AI_DOC_WRITER_AUTO_BACKUP_ON_AI_WRITE=true AI_DOC_WRITER_TEMP_DIR=/tmp ``` **3. Load the .env file in your application:** ```python # main.py or app.py - at the top of your entry point from dotenv import load_dotenv # Load environment variables from .env file # This must be done BEFORE importing aiecs tools load_dotenv() # Now import and use aiecs tools from aiecs.tools.docs.ai_document_writer_orchestrator import AIDocumentWriterOrchestrator # The tool will automatically use the environment variables orchestrator = AIDocumentWriterOrchestrator() ``` ### Multiple Environment Files You can use different `.env` files for different environments: ```python import os from dotenv import load_dotenv # Load environment-specific configuration env = os.getenv('APP_ENV', 'development') if env == 'production': load_dotenv('.env.production') elif env == 'staging': load_dotenv('.env.staging') else: load_dotenv('.env.development') from aiecs.tools.docs.ai_document_writer_orchestrator import AIDocumentWriterOrchestrator orchestrator = AIDocumentWriterOrchestrator() ``` **Example `.env.production`:** ```bash # Production settings - optimized for performance and reliability AI_DOC_WRITER_DEFAULT_AI_PROVIDER=openai AI_DOC_WRITER_MAX_CONTENT_LENGTH=100000 AI_DOC_WRITER_MAX_CONCURRENT_WRITES=10 AI_DOC_WRITER_DEFAULT_TEMPERATURE=0.1 AI_DOC_WRITER_MAX_TOKENS=8000 AI_DOC_WRITER_TIMEOUT=120 AI_DOC_WRITER_ENABLE_DRAFT_MODE=true AI_DOC_WRITER_ENABLE_CONTENT_REVIEW=true AI_DOC_WRITER_AUTO_BACKUP_ON_AI_WRITE=true AI_DOC_WRITER_TEMP_DIR=/app/temp/writer ``` **Example `.env.development`:** ```bash # Development settings - optimized for testing and debugging AI_DOC_WRITER_DEFAULT_AI_PROVIDER=local AI_DOC_WRITER_MAX_CONTENT_LENGTH=25000 AI_DOC_WRITER_MAX_CONCURRENT_WRITES=2 AI_DOC_WRITER_DEFAULT_TEMPERATURE=0.5 AI_DOC_WRITER_MAX_TOKENS=2000 AI_DOC_WRITER_TIMEOUT=30 AI_DOC_WRITER_ENABLE_DRAFT_MODE=false AI_DOC_WRITER_ENABLE_CONTENT_REVIEW=false AI_DOC_WRITER_AUTO_BACKUP_ON_AI_WRITE=false AI_DOC_WRITER_TEMP_DIR=./temp/writer ``` ### Best Practices for .env Files 1. **Never commit .env files to version control** - Add `.env` to your `.gitignore`: ```gitignore # .gitignore .env .env.local .env.*.local .env.production .env.staging ``` 2. **Provide a template** - Create `.env.example` with documented dummy values: ```bash # .env.example # AI Document Writer Orchestrator Configuration # Default AI provider to use AI_DOC_WRITER_DEFAULT_AI_PROVIDER=openai # Maximum content length for AI generation AI_DOC_WRITER_MAX_CONTENT_LENGTH=50000 # Maximum concurrent write operations AI_DOC_WRITER_MAX_CONCURRENT_WRITES=5 # Default temperature for AI model AI_DOC_WRITER_DEFAULT_TEMPERATURE=0.3 # Maximum tokens for AI response AI_DOC_WRITER_MAX_TOKENS=4000 # Timeout in seconds for AI operations AI_DOC_WRITER_TIMEOUT=60 # Whether to enable draft mode AI_DOC_WRITER_ENABLE_DRAFT_MODE=true # Whether to enable content review AI_DOC_WRITER_ENABLE_CONTENT_REVIEW=true # Whether to automatically backup before AI writes AI_DOC_WRITER_AUTO_BACKUP_ON_AI_WRITE=true # Temporary directory for processing AI_DOC_WRITER_TEMP_DIR=/tmp ``` 3. **Document your variables** - Add comments explaining each setting 4. **Use load_dotenv() early** - Call it at the very top of your entry point, before any aiecs imports 5. **Format values correctly**: - Strings: Plain text: `openai`, `/tmp` - Integers: Plain numbers: `50000`, `5`, `4000`, `60` - Floats: Decimal numbers: `0.3`, `0.1` - Booleans: `true` or `false` ## Configuration Options ### 1. Default AI Provider **Environment Variable:** `AI_DOC_WRITER_DEFAULT_AI_PROVIDER` **Type:** String **Default:** `"openai"` **Description:** Default AI provider to use for content generation and writing operations. This provider is used when no specific provider is specified in the request. **Supported Providers:** - `openai` - OpenAI API (default) - `vertex_ai` - Google Vertex AI - `xai` - XAI (xAI) - `local` - Local AI model **Example:** ```bash export AI_DOC_WRITER_DEFAULT_AI_PROVIDER=vertex_ai ``` **Provider Note:** Ensure the selected provider is properly configured with API keys and credentials. ### 2. Max Content Length **Environment Variable:** `AI_DOC_WRITER_MAX_CONTENT_LENGTH` **Type:** Integer **Default:** `50000` **Description:** Maximum content length for AI generation operations. Content longer than this will be truncated or chunked before being sent to AI providers. **Common Values:** - `25000` - Small content (faster processing) - `50000` - Default content (balanced) - `100000` - Large content (comprehensive generation) - `200000` - Very large content (maximum generation) **Example:** ```bash export AI_DOC_WRITER_MAX_CONTENT_LENGTH=100000 ``` **Content Note:** Larger values allow more comprehensive content generation but may increase processing time and costs. ### 3. Max Concurrent Writes **Environment Variable:** `AI_DOC_WRITER_MAX_CONCURRENT_WRITES` **Type:** Integer **Default:** `5` **Description:** Maximum number of concurrent write operations that can be processed simultaneously. This controls the parallelism of batch writing operations. **Common Values:** - `2` - Conservative (low resource usage) - `5` - Default (balanced) - `10` - Aggressive (high throughput) - `20` - Maximum (requires high resources) **Example:** ```bash export AI_DOC_WRITER_MAX_CONCURRENT_WRITES=10 ``` **Concurrency Note:** Higher values increase throughput but may hit file system or AI provider limits. ### 4. Default Temperature **Environment Variable:** `AI_DOC_WRITER_DEFAULT_TEMPERATURE` **Type:** Float **Default:** `0.3` **Description:** Default temperature setting for AI models. Controls the creativity and randomness of AI-generated content. **Temperature Ranges:** - `0.0` - Deterministic (most focused) - `0.1` - Low creativity (factual content) - `0.3` - Moderate creativity (default, good balance) - `0.5` - High creativity (creative content) - `1.0` - Maximum creativity **Example:** ```bash export AI_DOC_WRITER_DEFAULT_TEMPERATURE=0.5 ``` **Temperature Note:** Higher values are better for creative writing, lower values for factual content. ### 5. Max Tokens **Environment Variable:** `AI_DOC_WRITER_MAX_TOKENS` **Type:** Integer **Default:** `4000` **Description:** Maximum number of tokens for AI response generation. This limits the length of AI-generated content. **Common Values:** - `2000` - Short responses - `4000` - Default responses - `8000` - Long responses - `16000` - Very long responses **Example:** ```bash export AI_DOC_WRITER_MAX_TOKENS=8000 ``` **Token Note:** Higher values allow longer content generation but increase costs and processing time. ### 6. Timeout **Environment Variable:** `AI_DOC_WRITER_TIMEOUT` **Type:** Integer **Default:** `60` **Description:** Timeout in seconds for AI operations. Operations that exceed this timeout will be cancelled. **Common Values:** - `30` - Fast timeout (quick operations) - `60` - Default timeout (balanced) - `120` - Long timeout (complex operations) - `300` - Very long timeout (batch operations) **Example:** ```bash export AI_DOC_WRITER_TIMEOUT=120 ``` **Timeout Note:** Increase for complex content generation or slow AI providers. ### 7. Enable Draft Mode **Environment Variable:** `AI_DOC_WRITER_ENABLE_DRAFT_MODE` **Type:** Boolean **Default:** `True` **Description:** Whether to enable draft mode for document writing. When enabled, documents are saved as drafts before final writing. **Values:** - `true` - Enable draft mode (default) - `false` - Disable draft mode **Example:** ```bash export AI_DOC_WRITER_ENABLE_DRAFT_MODE=true ``` **Draft Note:** Draft mode provides safety and review capabilities for important documents. ### 8. Enable Content Review **Environment Variable:** `AI_DOC_WRITER_ENABLE_CONTENT_REVIEW` **Type:** Boolean **Default:** `True` **Description:** Whether to enable content review functionality. When enabled, AI-generated content is reviewed before writing. **Values:** - `true` - Enable content review (default) - `false` - Disable content review **Example:** ```bash export AI_DOC_WRITER_ENABLE_CONTENT_REVIEW=true ``` **Review Note:** Content review ensures quality and accuracy of AI-generated content. ### 9. Auto Backup on AI Write **Environment Variable:** `AI_DOC_WRITER_AUTO_BACKUP_ON_AI_WRITE` **Type:** Boolean **Default:** `True` **Description:** Whether to automatically backup documents before AI write operations. When enabled, backups are created before any AI modifications. **Values:** - `true` - Enable auto backup (default) - `false` - Disable auto backup **Example:** ```bash export AI_DOC_WRITER_AUTO_BACKUP_ON_AI_WRITE=true ``` **Backup Note:** Auto backup provides data protection and recovery capabilities. ### 10. Temp Directory **Environment Variable:** `AI_DOC_WRITER_TEMP_DIR` **Type:** String **Default:** `tempfile.gettempdir()` **Description:** Temporary directory for processing operations. This directory stores intermediate files, drafts, and processing artifacts. **Example:** ```bash export AI_DOC_WRITER_TEMP_DIR="/app/temp/writer" ``` **Directory Note:** Ensure the directory has appropriate permissions and is accessible. ## Usage Examples ### Example 1: Basic Environment Configuration ```bash # Set basic AI writing parameters export AI_DOC_WRITER_DEFAULT_AI_PROVIDER=openai export AI_DOC_WRITER_MAX_CONTENT_LENGTH=50000 export AI_DOC_WRITER_MAX_CONCURRENT_WRITES=5 export AI_DOC_WRITER_DEFAULT_TEMPERATURE=0.3 export AI_DOC_WRITER_MAX_TOKENS=4000 export AI_DOC_WRITER_TIMEOUT=60 # Run your application python app.py ``` ### Example 2: High-Performance Configuration ```bash # Optimized for high throughput export AI_DOC_WRITER_DEFAULT_AI_PROVIDER=openai export AI_DOC_WRITER_MAX_CONTENT_LENGTH=100000 export AI_DOC_WRITER_MAX_CONCURRENT_WRITES=10 export AI_DOC_WRITER_DEFAULT_TEMPERATURE=0.1 export AI_DOC_WRITER_MAX_TOKENS=8000 export AI_DOC_WRITER_TIMEOUT=120 export AI_DOC_WRITER_ENABLE_DRAFT_MODE=true export AI_DOC_WRITER_ENABLE_CONTENT_REVIEW=true export AI_DOC_WRITER_AUTO_BACKUP_ON_AI_WRITE=true ``` ### Example 3: Development Configuration ```bash # Development-friendly settings export AI_DOC_WRITER_DEFAULT_AI_PROVIDER=local export AI_DOC_WRITER_MAX_CONTENT_LENGTH=25000 export AI_DOC_WRITER_MAX_CONCURRENT_WRITES=2 export AI_DOC_WRITER_DEFAULT_TEMPERATURE=0.5 export AI_DOC_WRITER_MAX_TOKENS=2000 export AI_DOC_WRITER_TIMEOUT=30 export AI_DOC_WRITER_ENABLE_DRAFT_MODE=false export AI_DOC_WRITER_ENABLE_CONTENT_REVIEW=false export AI_DOC_WRITER_AUTO_BACKUP_ON_AI_WRITE=false ``` ### Example 4: Programmatic Configuration ```python from aiecs.tools.docs.ai_document_writer_orchestrator import AIDocumentWriterOrchestrator # Initialize with custom configuration orchestrator = AIDocumentWriterOrchestrator(config={ 'default_ai_provider': 'openai', 'max_content_length': 50000, 'max_concurrent_writes': 5, 'default_temperature': 0.3, 'max_tokens': 4000, 'timeout': 60, 'enable_draft_mode': True, 'enable_content_review': True, 'auto_backup_on_ai_write': True, 'temp_dir': '/app/temp/writer' }) ``` ### Example 5: Mixed Configuration Environment variables are used as defaults, but can be overridden programmatically: ```bash # Set environment defaults export AI_DOC_WRITER_MAX_CONTENT_LENGTH=50000 export AI_DOC_WRITER_DEFAULT_TEMPERATURE=0.3 ``` ```python # Override for specific instance orchestrator = AIDocumentWriterOrchestrator(config={ 'max_content_length': 100000, # This overrides the environment variable 'default_temperature': 0.5 # This overrides the environment variable }) ``` ## Configuration Priority When the AI Document Writer Orchestrator is initialized, configuration values are resolved in the following order (highest to lowest priority): 1. **Programmatic config** - Values passed to the constructor 2. **Environment variables** - Values set via `AI_DOC_WRITER_*` variables 3. **Default values** - Built-in defaults as specified above ## Data Type Parsing ### String Values Strings should be provided as plain text without quotes: ```bash export AI_DOC_WRITER_DEFAULT_AI_PROVIDER=openai export AI_DOC_WRITER_TEMP_DIR=/app/temp/writer ``` ### Integer Values Integers should be provided as numeric strings: ```bash export AI_DOC_WRITER_MAX_CONTENT_LENGTH=50000 export AI_DOC_WRITER_MAX_CONCURRENT_WRITES=5 export AI_DOC_WRITER_MAX_TOKENS=4000 export AI_DOC_WRITER_TIMEOUT=60 ``` ### Float Values Floats should be provided as decimal strings: ```bash export AI_DOC_WRITER_DEFAULT_TEMPERATURE=0.3 export AI_DOC_WRITER_DEFAULT_TEMPERATURE=0.5 ``` ### Boolean Values Booleans should be provided as lowercase strings: ```bash export AI_DOC_WRITER_ENABLE_DRAFT_MODE=true export AI_DOC_WRITER_ENABLE_CONTENT_REVIEW=false export AI_DOC_WRITER_AUTO_BACKUP_ON_AI_WRITE=true ``` ## Validation ### Automatic Type Validation Pydantic's BaseSettings automatically validates configuration values: - `default_ai_provider` must be a valid provider string - `max_content_length` must be a positive integer - `max_concurrent_writes` must be a positive integer - `default_temperature` must be a float between 0.0 and 2.0 - `max_tokens` must be a positive integer - `timeout` must be a positive integer - `enable_draft_mode` must be a boolean - `enable_content_review` must be a boolean - `auto_backup_on_ai_write` must be a boolean - `temp_dir` must be a non-empty string ### Runtime Validation When processing documents, the tool validates: 1. **AI Provider availability** - Selected provider must be configured 2. **Content length limits** - Content must fit within length limits 3. **Concurrency limits** - Write count must not exceed limits 4. **Token limits** - Responses must not exceed token limits 5. **Timeout limits** - Operations must complete within timeout 6. **Directory accessibility** - Temp directory must be accessible ## Content Generation Modes The AI Document Writer Orchestrator supports various content generation modes: ### Basic Modes - **Generate** - Generate new content from scratch - **Enhance** - Enhance existing content - **Rewrite** - Rewrite content with improvements - **Translate** - Translate content to different languages - **Convert Format** - Convert content between formats ### Advanced Modes - **Template Fill** - Fill templates with generated content - **Format Content** - Format and structure content - **Edit Content** - Edit and modify existing content ## AI Edit Operations ### Smart Operations - **Smart Format** - AI-powered intelligent formatting - **Style Enhance** - Enhance content style and tone - **Content Restructure** - Restructure content organization - **Intelligent Highlight** - Smart content highlighting - **Auto Bold Keywords** - Automatically bold important keywords - **Smart Paragraph** - Optimize paragraph structure - **AI Proofreading** - AI-powered proofreading and correction ## Write Strategies ### Writing Approaches - **Immediate** - Write immediately without review - **Review** - Write after content review - **Draft** - Save as draft for later review - **Staged** - Write in stages with checkpoints ## AI Providers ### Supported Providers - **OpenAI** - OpenAI API integration - **Vertex AI** - Google Cloud Vertex AI - **XAI** - xAI integration - **Local** - Local AI model integration ### Provider Configuration Each provider requires specific configuration: **OpenAI:** ```bash export OPENAI_API_KEY=your-api-key export OPENAI_ORG_ID=your-org-id # Optional ``` **Vertex AI:** ```bash export GOOGLE_APPLICATION_CREDENTIALS=path/to/service-account.json export GOOGLE_CLOUD_PROJECT=your-project-id ``` **XAI:** ```bash export XAI_API_KEY=your-api-key ``` **Local:** ```bash export LOCAL_MODEL_PATH=path/to/model export LOCAL_MODEL_TYPE=llama2 # or other model type ``` ## Operations Supported The AI Document Writer Orchestrator supports comprehensive document writing operations: ### Basic Writing - `generate_and_write` - Generate content and write to document - `enhance_and_write` - Enhance existing content and write - `rewrite_and_write` - Rewrite content and write - `translate_and_write` - Translate content and write ### Batch Operations - `batch_generate_documents` - Generate multiple documents - `batch_enhance_documents` - Enhance multiple documents - `batch_rewrite_documents` - Rewrite multiple documents ### AI Edit Operations - `ai_edit_document` - AI-powered document editing - `smart_format` - Smart content formatting - `style_enhance` - Style enhancement - `content_restructure` - Content restructuring - `intelligent_highlight` - Intelligent highlighting - `auto_bold_keywords` - Automatic keyword bolding - `smart_paragraph` - Smart paragraph optimization - `ai_proofreading` - AI proofreading ### Template Operations - `generate_from_template` - Generate content from templates - `fill_template` - Fill template with content - `create_template` - Create new templates ### Review Operations - `review_ai_content` - Review AI-generated content - `approve_content` - Approve content for writing - `reject_content` - Reject content and request changes ### Complex Operations - `orchestrate_complex_write` - Orchestrate complex writing workflows - `multi_stage_write` - Multi-stage writing process - `collaborative_write` - Collaborative writing with AI ### Utility Operations - `get_writing_stats` - Get writing statistics - `list_drafts` - List available drafts - `cleanup_temp_files` - Clean up temporary files ## Troubleshooting ### Issue: AI Provider not available **Error:** `ContentGenerationError` when calling AI providers **Solutions:** ```bash # Check provider configuration export AI_DOC_WRITER_DEFAULT_AI_PROVIDER=openai # Verify API keys export OPENAI_API_KEY=your-valid-api-key # Test with local provider export AI_DOC_WRITER_DEFAULT_AI_PROVIDER=local ``` ### Issue: Content generation fails **Error:** `ContentGenerationError` during content generation **Solutions:** 1. Check AI provider configuration 2. Verify content length limits 3. Check token limits 4. Validate temperature settings ### Issue: Write orchestration fails **Error:** `WriteOrchestrationError` during write operations **Solutions:** 1. Check DocumentWriterTool availability 2. Verify file permissions 3. Check temp directory accessibility 4. Validate write strategy settings ### Issue: Timeout errors **Error:** Operations timeout before completion **Solutions:** ```bash # Increase timeout export AI_DOC_WRITER_TIMEOUT=120 # Reduce content length export AI_DOC_WRITER_MAX_CONTENT_LENGTH=25000 # Reduce concurrent writes export AI_DOC_WRITER_MAX_CONCURRENT_WRITES=2 ``` ### Issue: Backup failures **Error:** Auto backup operations fail **Solutions:** 1. Check backup directory permissions 2. Ensure sufficient disk space 3. Verify backup configuration 4. Check file system access ### Issue: Review failures **Error:** Content review operations fail **Solutions:** ```bash # Disable review for testing export AI_DOC_WRITER_ENABLE_CONTENT_REVIEW=false # Check review configuration # Verify review process settings ``` ### Issue: Draft mode issues **Error:** Draft operations fail **Solutions:** ```bash # Disable draft mode for testing export AI_DOC_WRITER_ENABLE_DRAFT_MODE=false # Check draft directory permissions # Verify draft configuration ``` ### Issue: Memory issues **Error:** Out of memory during processing **Solutions:** ```bash # Reduce content length export AI_DOC_WRITER_MAX_CONTENT_LENGTH=25000 # Reduce concurrent writes export AI_DOC_WRITER_MAX_CONCURRENT_WRITES=2 # Reduce max tokens export AI_DOC_WRITER_MAX_TOKENS=2000 ``` ## Best Practices ### Performance Optimization 1. **Content Length Management** - Balance content length for optimal processing 2. **Concurrency Control** - Set appropriate concurrent write limits 3. **Provider Selection** - Choose providers based on task requirements 4. **Timeout Configuration** - Set reasonable timeouts for operations 5. **Token Management** - Optimize token usage for cost efficiency ### Error Handling 1. **Graceful Degradation** - Handle AI provider failures gracefully 2. **Retry Logic** - Implement retry for transient failures 3. **Fallback Strategies** - Provide fallback writing methods 4. **Error Logging** - Log errors for debugging and monitoring 5. **User Feedback** - Provide clear error messages ### Security 1. **API Key Management** - Secure storage of API keys 2. **Content Validation** - Validate content before writing 3. **Access Control** - Control access to AI providers 4. **Data Privacy** - Ensure data privacy in AI processing 5. **Audit Logging** - Log writing activities for compliance ### Resource Management 1. **Memory Usage** - Monitor memory consumption during processing 2. **API Rate Limits** - Respect provider rate limits 3. **Cost Management** - Monitor and control AI processing costs 4. **Processing Time** - Set reasonable timeouts 5. **Cleanup** - Clean up temporary files and resources ### Integration 1. **Tool Dependencies** - Ensure required tools are available 2. **API Compatibility** - Maintain API compatibility 3. **Error Propagation** - Properly propagate errors 4. **Logging Integration** - Integrate with logging systems 5. **Monitoring** - Monitor tool performance and usage ### Development vs Production **Development:** ```bash AI_DOC_WRITER_DEFAULT_AI_PROVIDER=local AI_DOC_WRITER_MAX_CONTENT_LENGTH=25000 AI_DOC_WRITER_MAX_CONCURRENT_WRITES=2 AI_DOC_WRITER_DEFAULT_TEMPERATURE=0.5 AI_DOC_WRITER_MAX_TOKENS=2000 AI_DOC_WRITER_TIMEOUT=30 AI_DOC_WRITER_ENABLE_DRAFT_MODE=false AI_DOC_WRITER_ENABLE_CONTENT_REVIEW=false AI_DOC_WRITER_AUTO_BACKUP_ON_AI_WRITE=false AI_DOC_WRITER_TEMP_DIR=./temp/writer ``` **Production:** ```bash AI_DOC_WRITER_DEFAULT_AI_PROVIDER=openai AI_DOC_WRITER_MAX_CONTENT_LENGTH=100000 AI_DOC_WRITER_MAX_CONCURRENT_WRITES=10 AI_DOC_WRITER_DEFAULT_TEMPERATURE=0.1 AI_DOC_WRITER_MAX_TOKENS=8000 AI_DOC_WRITER_TIMEOUT=120 AI_DOC_WRITER_ENABLE_DRAFT_MODE=true AI_DOC_WRITER_ENABLE_CONTENT_REVIEW=true AI_DOC_WRITER_AUTO_BACKUP_ON_AI_WRITE=true AI_DOC_WRITER_TEMP_DIR=/app/temp/writer ``` ### Error Handling Always wrap AI writing operations in try-except blocks: ```python from aiecs.tools.docs.ai_document_writer_orchestrator import AIDocumentWriterOrchestrator, AIDocumentWriterOrchestratorError, ContentGenerationError, WriteOrchestrationError orchestrator = AIDocumentWriterOrchestrator() try: result = orchestrator.generate_and_write( content_prompt="Write a report about AI trends", target_file="ai_report.md", format="markdown" ) except ContentGenerationError as e: print(f"Content generation error: {e}") except WriteOrchestrationError as e: print(f"Write orchestration error: {e}") except AIDocumentWriterOrchestratorError as e: print(f"Orchestrator error: {e}") except Exception as e: print(f"Unexpected error: {e}") ``` ## Dependencies ### Core Dependencies ```bash # Install core dependencies pip install pydantic pydantic-settings python-dotenv # Install AI provider dependencies pip install openai google-cloud-aiplatform # Install document processing dependencies pip install python-docx openpyxl python-pptx ``` ### Optional Dependencies ```bash # For advanced AI providers pip install anthropic cohere # For local AI models pip install transformers torch # For enhanced document processing pip install PyPDF2 pdfplumber # For async processing pip install aiohttp asyncio ``` ### Verification ```python # Test dependency availability try: import pydantic from pydantic_settings import BaseSettings import openai import asyncio print("Core dependencies available") except ImportError as e: print(f"Missing dependency: {e}") # Test AI provider availability try: import openai print("OpenAI available") except ImportError: print("OpenAI not available") try: from google.cloud import aiplatform print("Vertex AI available") except ImportError: print("Vertex AI not available") # Test document writing availability try: from aiecs.tools.docs.document_writer_tool import DocumentWriterTool print("DocumentWriterTool available") except ImportError: print("DocumentWriterTool not available") # Test document creation availability try: from aiecs.tools.docs.document_creator_tool import DocumentCreatorTool print("DocumentCreatorTool available") except ImportError: print("DocumentCreatorTool not available") ``` ## Related Documentation - Tool implementation details in the source code - DocumentWriterTool documentation for document writing - DocumentCreatorTool documentation for document creation - AIECS client documentation for AI operations - Main aiecs documentation for architecture overview ## Support For issues or questions about AI Document Writer Orchestrator configuration: - Check the tool source code for implementation details - Review AI provider documentation for specific features - Consult the main aiecs documentation for architecture overview - Test with simple documents first to isolate configuration vs. processing issues - Monitor API rate limits and costs - Verify AI provider configuration and credentials - Ensure proper content length and timeout limits - Check concurrency and token limits - Validate writing strategy and review settings