Web Analytics

AlphaEvolveWriting

⭐ 114 stars Russian by tamassimonds

🌐 Язык

AlphaEvolve Writing

AlphaEvolve Writing Process

Полное объяснение вы можете найти здесь

Пример истории, отправленной на конкурс, можно найти здесь

Современная эволюционная система письма, использующая ИИ-модели для генерации, оценки и развития креативных историй или текстов общего назначения с помощью итерационных конкурсов. Создана на основе чистой, модульной архитектуры Python с использованием современных принципов проектирования.

✨ Особенности

🚀 Быстрый старт

Установка

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

Запуск эволюции

# 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

🏗️ Архитектура

Система следует современным принципам проектирования на Python с четким разделением ответственностей:

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

Ключевые компоненты

📖 Как это работает

Система использует трехступенчатый эволюционный цикл:

1. Генерация начального набора

2. Проведение ELO-турнира

3. Генерация следующего набора

Этот итеративный процесс со временем улучшает качество текста.

⚙️ Конфигурация

Базовая настройка

Отредактируйте эти ключевые файлы:

Настройка API-ключей

Система поддерживает нескольких AI-провайдеров, настраиваемых через config.json. Конфигурация связывает модели с провайдерами и указывает, в каких переменных окружения содержатся 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"
  }
}
Затем установите свои ключи API в качестве переменных окружения:

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
Вам нужно указывать ключи только для тех провайдеров, которыми вы планируете пользоваться. Система автоматически направляет запросы к моделям нужному провайдеру в соответствии с конфигурацией.

Параметры конфигурации

Файл config.json управляет всеми аспектами работы системы:

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

🎭 Режимы написания

Режим креативного письма (по умолчанию)

Общий режим письма (--general)

🔧 Расширенная настройка

Настройка стратегий генерации

Для опытных пользователей доступна возможность настроить подсказки генерации, стили авторов и наборы миссий путём редактирования файлов в каталоге src/generators/:

#### Кастомизация креативного письма (src/generators/generate_response.py)

Наборы миссий — Определяют креативные подходы и цели:

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"
    ]
}
Стили авторов — Имитация различных подходов к написанию:

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"
]
#### Общая настройка написания (src/generators/generate_response_general.py)

Академические области - Ориентация на определённые направления письма:

academic_focuses = [
    "Rigorous analytical argument development",
    "Clear thesis statement and supporting evidence",
    "Proper academic citation and source integration",
    "Logical flow and coherent structure"
]
Подходы к написанию - Определите аналитические стратегии:

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

Настройка критериев оценки (src/generators/judge_response.py)

Вы можете изменить критерии оценки и подсказки для оценки, чтобы сосредоточиться на конкретных аспектах качества письма:

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

Советы по расширенной настройке

Такой модульный подход позволяет точно настраивать процесс эволюции под ваши конкретные задачи и области письма.

🌐 Веб-интерфейс

Проверьте результаты эволюции с помощью встроенного веб-интерфейса:

cd web_interface
pip install -r requirements.txt
python app.py
Откройте http://localhost:5000 для доступа:

```

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