Files
igny8/docs/AI_SYSTEM_AUDIT.md
IGNY8 VPS (Salman) 3283a83b42 feat(migrations): Rename indexes and update global integration settings fields for improved clarity and functionality
feat(admin): Add API monitoring, debug console, and system health templates for enhanced admin interface

docs: Add AI system cleanup summary and audit report detailing architecture, token management, and recommendations

docs: Introduce credits and tokens system guide outlining configuration, data flow, and monitoring strategies
2025-12-20 12:55:05 +00:00

2.7 KiB

AI System Audit Report

Current State

Active AI System (New Architecture)

Location: backend/igny8_core/ai/

Core Components:

  • ai_core.py - Central AI request handler (run_ai_request method)
  • engine.py - Orchestrator for all AI functions
  • settings.py - Model configuration loader
  • prompts.py - Prompt templates
  • base.py - Base class for AI functions
  • tasks.py - Celery tasks
  • models.py - AITaskLog for logging
  • tracker.py - Progress/step tracking
  • registry.py - Function registry
  • constants.py - Shared constants (MODEL_RATES, etc.)

AI Functions:

  • functions/auto_cluster.py - Keyword clustering
  • functions/generate_ideas.py - Content idea generation
  • functions/generate_content.py - Article content generation
  • functions/generate_images.py - Image generation
  • functions/generate_image_prompts.py - Image prompt generation
  • functions/optimize_content.py - Content optimization

Usage: All new code uses AIEngine + function classes

Legacy AI System (Old Architecture)

Location: backend/igny8_core/utils/ai_processor.py

Purpose: Original AI interface from reference plugin migration Size: 1390 lines Status: PARTIALLY USED - Only for:

  • MODEL_RATES constant (imported by settings.py and integration_views.py)
  • Integration test views

NOT USED FOR: Actual AI function execution (replaced by AIEngine)

max_tokens Fallback Analysis

Current Fallbacks Found:

  1. settings.py:103 - config.get('max_tokens', 16384)

    • Falls back to 16384 if not in IntegrationSettings
  2. ai_core.py:116 - max_tokens: int = 8192

    • Default parameter in run_ai_request()
  3. ai_core.py:856 - max_tokens: int = 4000 [LEGACY]

    • Legacy call_openai() method
  4. ai_processor.py:111 - max_tokens: int = 4000 [LEGACY]

    • Legacy _call_openai() method
  5. ai_processor.py:437 - max_tokens: int = 4000 [LEGACY]

    • Legacy generate_content() method
  6. ai_processor.py:531 - Hardcoded max_tokens=1000

  7. ai_processor.py:1133 - Hardcoded max_tokens=3000

  8. ai_processor.py:1340 - Hardcoded max_tokens=4000

1. Standardize max_tokens to 8192

  • Remove fallback in settings.py (line 103): Change to just config['max_tokens'] and require it
  • Keep ai_core.py:116 default at 8192 (main entry point)
  • Update IntegrationSettings to have 8192 as required value

2. Mark Legacy Code

  • Add deprecation warnings to ai_processor.py
  • Document that it's only kept for MODEL_RATES constant
  • Consider extracting MODEL_RATES to constants.py and removing ai_processor.py entirely

3. Remove Dead Code

  • call_openai() legacy method in ai_core.py (if not used)