AI-плагин для Vim и Neovim: генерирует и редактирует код, а также позволяет общаться с моделями, совместимыми с OpenAI, прямо в редакторе.
Mattie/cataclysm
Python-библиотека, которая во время выполнения генерирует реализации функций с помощью OpenAI LLM, опираясь на имена функций, аргументы и контекст.
- Звёзды
- 409
- Форки
- 43
- Открытые issues
- 11
- Последний коммит
- 13 дней назад
Что это?
Cataclysm позволяет Python-коду вызывать функции, для которых ещё нет реализации. При вызове неизвестной функции библиотека передаёт модели OpenAI её имя, аргументы, имена именованных аргументов, docstring, комментарии и контекст стека вызовов, выполняет сгенерированный код и возвращает результат. Сгенерированный код кэшируется в локальных файлах отдельно для каждой сигнатуры функции, поэтому при следующих вызовах используется кэшированная версия.
У библиотеки есть несколько режимов. `consume(globals())` включает генерацию для любой неизвестной функции в текущем пространстве имён — это удобно для ноутбуков и экспериментов. Для библиотек и приложений рекомендуется модуль `doom`. `doom.impending` показывает сгенерированный код, не запуская его, а `doom.chosen` выполняет только код из кэша и выбрасывает NameError, если кэш пуст. Благодаря этому выпущенный код никогда не обращается к модели.
Для работы нужны Python 3.11 или новее, ключ OpenAI API в файле `.env` и команда `cataclysm init`, которая копирует файлы с настройками промптов и данных по умолчанию. Генерация выполняется через библиотеку chatsnack; файл с промптом можно редактировать, чтобы изменить поведение или использовать более дешёвую модель.
Ключевые возможности
- 01Генерирует реализации отсутствующих функций на основе их имён, аргументов и контекста.
- 02Локально кэширует сгенерированный код для каждой сигнатуры функции, чтобы использовать его повторно.
- 03Предоставляет рекомендуемый модуль `doom` для библиотек и приложений.
- 04Позволяет просматривать код до выполнения в режиме предварительного просмотра (`doom.impending`).
- 05Предоставляет фиксированный режим (`doom.chosen`), в котором выполняется только код из кэша.
Сценарии использования
- Быстрое прототипирование функций в Jupyter Notebook или интерактивных сессиях.
- Изучение того, как LLM реализует вспомогательную функцию по её сигнатуре.
- Выпуск приложения с заранее сгенерированным кодом, которое не обращается к модели во время выполнения.
Быстрый старт
- 1
Установите пакет из PyPI
pip install cataclysm - 2
В каталоге проекта скопируйте файлы данных по умолчанию
cataclysm init - 3
Добавьте ключ OpenAI API в файл .env
Что важно знать
- Требуется ключ OpenAI API; выполняются запросы к платному API OpenAI.
- Требуется Python версии 3.11 или выше.
- Сгенерированный код не проверен, а в README предупреждается, что он может быть небезопасен; функция экспериментальная.
Темы
Частые вопросы
- Что такое cataclysm?
- Python-библиотека, которая во время выполнения генерирует реализации функций с помощью OpenAI LLM, опираясь на имена функций, аргументы и контекст. Cataclysm позволяет Python-коду вызывать функции, для которых ещё нет реализации. При вызове неизвестной функции библиотека передаёт модели OpenAI её имя, аргументы, имена именованных аргументов, docstring, комментарии и контекст стека вызовов, выполняет сгенерированный код и возвращает результат. Сгенерированный код кэшируется в локальных файлах отдельно для каждой сигнатуры функции, поэтому при следующих вызовах используется кэшированная версия.
- cataclysm можно использовать бесплатно? Какая у него лицензия?
- cataclysm распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- cataclysm всё ещё поддерживается?
- Активно поддерживается. Последний коммит в cataclysm — 24 окт. 2026 г..
- Для чего можно использовать cataclysm?
- Быстрое прототипирование функций в Jupyter Notebook или интерактивных сессиях. Изучение того, как LLM реализует вспомогательную функцию по её сигнатуре. Выпуск приложения с заранее сгенерированным кодом, которое не обращается к модели во время выполнения.
- Как установить cataclysm?
- Установите пакет из PyPI: pip install cataclysm В каталоге проекта скопируйте файлы данных по умолчанию: cataclysm init Добавьте ключ OpenAI API в файл .env
- Где скачать cataclysm?
- Исходный код и инструкции по установке — на GitHub: https://github.com/Mattie/cataclysm
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Generative Manim превращает текстовые запросы в код анимации Manim с помощью LLM, например GPT-4o или Claude, а затем рендерит его в видео.
Конвейер обработки данных на Python, который использует LLM для извлечения структурированных графов знаний из неструктурированного текста и ответов на вопросы с помощью RAG.
CLI для общения в терминале с моделями OpenAI GPT-3.5 и GPT-4: интерактивный режим и поддержка конвейеров.
Подборка примеров в Jupyter Notebook и руководств по выполнению типовых задач с помощью OpenAI API.
Go CLI для запросов к совместимым с OpenAI LLM из терминала, генерации команд оболочки, кода и изображений.