Repolode
Mattie

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. 1

    Установите пакет из PyPI

    pip install cataclysm
  2. 2

    В каталоге проекта скопируйте файлы данных по умолчанию

    cataclysm init
  3. 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 обновляется ежедневно.

Похожие проекты

Конвейер обработки данных на Python, который использует LLM для извлечения структурированных графов знаний из неструктурированного текста и ответов на вопросы с помощью RAG.

36,6 тыс.+83 за неделю3,9 тыс.PythonMITАктивно поддерживаетсяОбновлён 5 дней назад