Web Analytics

AlphaEvolveWriting

⭐ 114 stars Spanish by tamassimonds

🌐 Idioma

AlphaEvolve Escritura

Proceso de Escritura AlphaEvolve

Puedes encontrar la explicación completa aquí

Puedes encontrar una historia de ejemplo enviada a un concurso de escritura aquí

Un sistema moderno y evolutivo de escritura que utiliza modelos de IA para generar, evaluar y evolucionar historias creativas o piezas de escritura general a través de competiciones iterativas. Construido con una arquitectura Python modular y limpia, siguiendo principios de diseño modernos.

✨ 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 los principios modernos de diseño en Python con una separación clara 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 evolutivo de tres etapas:

1. Generar lote inicial

2. Ejecutar torneo ELO

3. Generar siguiente lote

Este proceso iterativo evoluciona la escritura hacia resultados cada vez mejores con el tiempo.

⚙️ Configuración

Configuración básica

Edita estos archivos clave:

Configuración de claves API

El sistema admite varios 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, establece tus 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 necesita establecer claves para los proveedores que planea usar. El sistema enruta automáticamente las solicitudes de modelos 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, puedes personalizar los prompts 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 - Define enfoques y objetivos creativos:

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 - Emule 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 - Dirigir a dominios de escritura específicos:

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 de evaluación (src/generators/judge_response.py)

Puede modificar los criterios de evaluación y los mensajes de evaluación para centrarse 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 la Configuración Avanzada

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

🌐 Interfaz Web

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

cd web_interface
pip install -r requirements.txt
python app.py
Abre http://localhost:5000 para acceder a:

```

--- Tranlated By Open Ai Tx | Last indexed: 2025-07-18 ---