Web Analytics

AlphaEvolveWriting

⭐ 114 stars German by tamassimonds

🌐 Sprache

AlphaEvolve Schreiben

AlphaEvolve Schreibprozess

Die vollständige Erklärung finden Sie hier

Ein Beispiel für eine bei einem Schreibwettbewerb eingereichte Geschichte finden Sie hier

Ein modernes, evolutionäres Schreibsystem, das KI-Modelle verwendet, um kreative Geschichten oder allgemeine Texte durch iterative Wettbewerbe zu generieren, zu bewerten und weiterzuentwickeln. Entwickelt mit sauberer, modularer Python-Architektur nach modernen Designprinzipien.

✨ Funktionen

🚀 Schnellstart

Installation

# 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)

Evolution ausführen

# 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

🏗️ Architektur

Das System folgt modernen Python-Designprinzipien mit einer klaren Trennung der Verantwortlichkeiten:

├── 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

Schlüsselkomponenten

📖 Funktionsweise

Das System folgt einem dreistufigen Evolutionszyklus:

1. Erste Charge generieren

2. ELO-Turnier durchführen

3. Nächste Charge generieren

Dieser iterative Prozess führt im Laufe der Zeit zu immer besseren Texten.

⚙️ Konfiguration

Grundlegende Einrichtung

Bearbeiten Sie diese wichtigen Dateien:

API-Schlüssel einrichten

Das System unterstützt mehrere KI-Anbieter, die über config.json konfiguriert werden. Die Konfiguration ordnet Modelle Anbietern zu und legt fest, welche Umgebungsvariablen die API-Schlüssel enthalten:

{
  "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"
  }
}
Legen Sie dann Ihre API-Schlüssel als Umgebungsvariablen fest:

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
Sie müssen nur Schlüssel für die Anbieter festlegen, die Sie verwenden möchten. Das System leitet Modellanfragen automatisch basierend auf der Konfiguration an den richtigen Anbieter weiter.

Konfigurationsoptionen

Die Datei config.json steuert das gesamte Systemverhalten:

{
  "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
  }
}

🎭 Schreibmodi

Kreativer Schreibmodus (Standard)

Allgemeiner Schreibmodus (--general)

🔧 Erweiterte Konfiguration

Anpassung von Generierungsstrategien

Für fortgeschrittene Nutzer können Sie die Generierungsaufforderungen, Autorenstile und Missionssets anpassen, indem Sie die Dateien im Verzeichnis src/generators/ bearbeiten:

#### Kreative Schreibanpassung (src/generators/generate_response.py)

Missionssets - Definieren kreative Ansätze und Ziele:

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"
    ]
}
Autorenstile – Verschiedene Schreibansätze nachahmen:

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"
]
#### Allgemeine Schreibanpassung (src/generators/generate_response_general.py)

Akademische Schwerpunktbereiche – Bestimmte Schreibdomänen anvisieren:

academic_focuses = [
    "Rigorous analytical argument development",
    "Clear thesis statement and supporting evidence",
    "Proper academic citation and source integration",
    "Logical flow and coherent structure"
]
Schreibansätze – Analytische Strategien definieren:

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

Anpassen der Bewertungskriterien (src/generators/judge_response.py)

Sie können die Bewertungskriterien und Evaluierungsaufforderungen anpassen, um sich auf bestimmte Aspekte der Schreibqualität zu konzentrieren:

# 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"
]

Tipps für die erweiterte Konfiguration

Dieser modulare Ansatz ermöglicht es Ihnen, den Evolutionsprozess für Ihre spezifischen Schreibziele und -bereiche fein abzustimmen.

🌐 Web-Oberfläche

Validieren Sie Ihre Evolutionsergebnisse mit der integrierten Weboberfläche:

cd web_interface
pip install -r requirements.txt
python app.py
Öffnen Sie http://localhost:5000, um zuzugreifen auf:

```

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