Web Analytics

AlphaEvolveWriting

⭐ 120 stars Spanish by tobysimonds

🌐 Idioma

AlphaEvolve Writing

Proceso de Escritura AlphaEvolve

Puedes encontrar la explicación completa aquí

Puedes encontrar un ejemplo de historia presentada a un concurso de escritura aquí

Un sistema moderno de escritura evolutiva que usa modelos de IA para generar, evaluar y evolucionar historias creativas o piezas de escritura general mediante competiciones iterativas. Construido con una arquitectura Python limpia y modular siguiendo principios modernos de diseño.

✨ Características

🚀 Inicio Rápido

Instalación

# Clone the repository
git clone https://github.com/your-org/alphaevolve-writing
cd alphaevolve-writing

Install with uv (recommended)

uv sync

Or install with pip

pip install -e .

Configure your API keys (see Configuration section below)

Ejecutar Evolución

# Run 5 evolution iterations
python evolve.py 5

Fresh start with 3 iterations

python evolve.py 3 --fresh

Use general writing mode

python evolve.py 5 --general

Show help

python evolve.py --help

🏗️ Arquitectura

El sistema sigue principios modernos de diseño en Python con una clara separación de responsabilidades:

├── src/
│   ├── core/           # Pipeline orchestration
│   │   └── pipeline.py # Main EvolutionPipeline class
│   ├── generators/     # Story generation logic
│   │   ├── story_generator.py      # Initial & next batch generators
│   │   ├── generate_response.py    # Creative writing generation
│   │   ├── generate_response_general.py # General writing generation
│   │   └── judge_response.py       # AI judging system
│   ├── rankers/        # ELO ranking system
│   │   ├── elo_rank.py            # Core ELO algorithm
│   │   └── tournament_runner.py    # Tournament management
│   └── utils/          # Utility functions
│       └── inference.py           # Multi-provider LLM interface
├── evolve.py           # Clean CLI entry point
├── pyproject.toml      # Modern Python packaging
├── config.json         # Configuration
└── web_interface/      # Web UI for validation

Componentes Clave

📖 Cómo Funciona

El sistema sigue un ciclo de evolución de tres etapas:

1. Generar Lote Inicial

2. Ejecutar Torneo ELO

3. Generar Próximo Lote

Este proceso iterativo evoluciona una escritura cada vez mejor con el tiempo.

⚙️ Configuración

Configuración Básica

Edita estos archivos clave:

Configuración de Claves API

El sistema soporta múltiples proveedores de IA configurados a través de config.json. La configuración asigna modelos a proveedores y especifica qué variables de entorno contienen las claves API:

{
  "llm_providers": {
    "openai": {
      "type": "openai",
      "base_url": "https://api.openai.com/v1",
      "api_key_env": "OPENAI_API_KEY"
    },
    "anthropic": {
      "type": "anthropic", 
      "api_key_env": "ANTHROPIC_API_KEY"
    },
    "deepinfra": {
      "type": "openai_compatible",
      "base_url": "https://api.deepinfra.com/v1/openai",
      "api_key_env": "DEEPINFRA_API_KEY"
    },
    "deepseek": {
      "type": "openai_compatible",
      "base_url": "https://api.deepseek.com/v1",
      "api_key_env": "DEEPSEEK_API_KEY"
    },
    "gemini": {
      "type": "openai_compatible",
      "api_key_env": "GEMINI_API_KEY",
      "base_url": "https://generativelanguage.googleapis.com/v1beta/openai/"
    }
  },
  "model_provider_mapping": {
    "gpt-4": "openai",
    "gpt-3.5-turbo": "openai", 
    "claude-3-sonnet-20240229": "anthropic",
    "meta-llama/Meta-Llama-3-70B-Instruct": "deepinfra",
    "deepseek-chat": "deepseek",
    "gemini-2.5-flash": "gemini"
  }
}

Luego establezca sus claves API como variables de entorno:

export OPENAI_API_KEY="your-openai-key"        # For GPT models
export ANTHROPIC_API_KEY="your-anthropic-key"  # For Claude models  
export DEEPINFRA_API_KEY="your-deepinfra-key"  # For Llama models
export DEEPSEEK_API_KEY="your-deepseek-key"    # For DeepSeek models
export GEMINI_API_KEY="your-gemini-key"          # For Gemini models

Solo necesitas configurar las claves para los proveedores que planeas usar. El sistema enruta automáticamente las solicitudes del modelo al proveedor correcto según la configuración.

Opciones de Configuración

El archivo config.json controla todo el comportamiento del sistema:

{
  "batch_generation": {
    "num_stories": 10,
    "model": "gpt-4",
    "initial_elo": 1500
  },
  "elo_ranking": {
    "tournament_rounds": 50,
    "judge_model": "claude-3-sonnet-20240229",
    "k_factor": 32
  },
  "next_batch_generation": {
    "top_stories_to_select": 3,
    "variants_per_story": 2,
    "include_original_stories": true
  },
  "evolution_pipeline": {
    "max_iterations": 5,
    "auto_continue_from_existing": true
  }
}

🎭 Modos de Escritura

Modo de Escritura Creativa (Predeterminado)

Modo de Escritura General (--general)

🔧 Configuración Avanzada

Personalización de Estrategias de Generación

Para usuarios avanzados, puede personalizar los mensajes de generación, estilos de autor y conjuntos de misiones editando los archivos en el directorio src/generators/:

#### Personalización de Escritura Creativa (src/generators/generate_response.py)

Conjuntos de Misiones - Definen enfoques creativos y objetivos:

mission_sets = {
    "emotional_depth": [
        "Focus on the psychological depth of characters",
        "Explore complex emotional landscapes", 
        "Create moments of genuine human connection"
    ],
    "narrative_craft": [
        "Experiment with unique narrative structures",
        "Use vivid, sensory descriptions",
        "Create compelling story arcs"
    ],
    "dialogue_mastery": [
        "Write authentic, character-specific dialogue",
        "Use subtext and implied meaning",
        "Balance dialogue with action and description"
    ]
}

Estilos de Autor - Emular diferentes enfoques de escritura:

author_styles = [
    "Write with the psychological insight of Virginia Woolf",
    "Adopt the sparse, powerful prose of Ernest Hemingway", 
    "Use the magical realism style of Gabriel García Márquez",
    "Employ the detailed world-building of Tolkien"
]

#### Personalización General de Escritura (src/generators/generate_response_general.py)

Áreas de Enfoque Académico - Dirigido a dominios específicos de escritura:

academic_focuses = [
    "Rigorous analytical argument development",
    "Clear thesis statement and supporting evidence",
    "Proper academic citation and source integration",
    "Logical flow and coherent structure"
]

Enfoques de Escritura - Definir estrategias analíticas:

writing_approaches = [
    "Comparative analysis with multiple perspectives",
    "Problem-solution framework with evidence",
    "Cause-and-effect reasoning with examples",
    "Critical evaluation with balanced arguments"
]

Personalización de los Criterios del Juez (src/generators/judge_response.py)

Puedes modificar los criterios de evaluación y los indicativos de evaluación para centrarte en aspectos específicos de la calidad de la escritura:

# Edit the judge_responses function to customize evaluation criteria
evaluation_criteria = [
    "Technical writing proficiency",
    "Creative originality and innovation", 
    "Emotional impact and reader engagement",
    "Structural coherence and flow",
    "Character development and authenticity"
]

Consejos para Configuración Avanzada

Este enfoque modular te permite ajustar el proceso de evolución para tus objetivos y dominios específicos de escritura.

🌐 Interfaz Web

Valida los resultados de tu evolución con la interfaz web incorporada:

cd web_interface
pip install -r requirements.txt
python app.py

Abra http://localhost:5000 para acceder:

```

--- Tranlated By Open Ai Tx | Last indexed: 2026-01-09 ---