Web Analytics

AlphaEvolveWriting

⭐ 114 stars Polish by tamassimonds

🌐 Język

AlphaEvolve Writing

Proces pisania AlphaEvolve

Pełne wyjaśnienie znajdziesz tutaj

Przykładową historię zgłoszoną do konkursu pisarskiego znajdziesz tutaj

Nowoczesny, ewolucyjny system pisania, który wykorzystuje modele AI do generowania, oceniania i rozwijania kreatywnych opowiadań lub ogólnych tekstów poprzez iteracyjne konkursy. Zbudowany z użyciem czystej, modułowej architektury Pythona zgodnie z nowoczesnymi zasadami projektowania.

✨ Funkcje

🚀 Szybki start

Instalacja

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

Uruchom ewolucję

# 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

🏗️ Architektura

System opiera się na nowoczesnych zasadach projektowania w Pythonie, z wyraźnym podziałem odpowiedzialności:

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

Kluczowe komponenty

📖 Jak to działa

System podąża za trzyetapowym cyklem ewolucji:

1. Generowanie początkowej partii

2. Przeprowadź turniej ELO

3. Generowanie kolejnej partii

Ten iteracyjny proces z czasem ewoluuje do coraz lepszych tekstów.

⚙️ Konfiguracja

Podstawowa konfiguracja

Edytuj te kluczowe pliki:

Konfiguracja kluczy API

System obsługuje wielu dostawców AI konfigurowanych przez config.json. Konfiguracja mapuje modele na dostawców i określa, które zmienne środowiskowe zawierają klucze 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"
  }
}
Następnie ustaw swoje klucze API jako zmienne środowiskowe:

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
Musisz ustawić klucze tylko dla tych dostawców, których planujesz używać. System automatycznie kieruje żądania modelu do odpowiedniego dostawcy na podstawie konfiguracji.

Opcje konfiguracji

Plik config.json kontroluje całe zachowanie systemu:

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

🎭 Tryby Pisania

Tryb Pisania Kreatywnego (Domyślny)

Tryb Pisania Ogólnego (--general)

🔧 Zaawansowana Konfiguracja

Dostosowywanie Strategii Generowania

Dla zaawansowanych użytkowników dostępna jest możliwość dostosowania promptów generowania, stylów autorów oraz zestawów misji poprzez edycję plików w katalogu src/generators/:

#### Dostosowywanie Pisania Kreatywnego (src/generators/generate_response.py)

Zestawy Misji - Definiują kreatywne podejścia i cele:

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"
    ]
}
Style autorów – Naśladuj różne podejścia do pisania:

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"
]
#### Ogólna personalizacja pisania (src/generators/generate_response_general.py)

Obszary specjalizacji akademickiej – Skieruj się na określone dziedziny pisania:

academic_focuses = [
    "Rigorous analytical argument development",
    "Clear thesis statement and supporting evidence",
    "Proper academic citation and source integration",
    "Logical flow and coherent structure"
]
Podejścia do pisania - Zdefiniuj strategie analityczne:

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

Dostosowywanie kryteriów oceniania (src/generators/judge_response.py)

Możesz zmodyfikować kryteria oceniania oraz polecenia ewaluacyjne, aby skupić się na określonych aspektach jakości pisania:

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

Wskazówki dotyczące zaawansowanej konfiguracji

To modułowe podejście pozwala precyzyjnie dostosować proces ewolucji do Twoich konkretnych celów pisarskich i dziedzin.

🌐 Interfejs webowy

Sprawdź wyniki ewolucji za pomocą wbudowanego interfejsu webowego:

cd web_interface
pip install -r requirements.txt
python app.py
Otwórz http://localhost:5000, aby uzyskać dostęp do:

```

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