Repolode
Mattie

Mattie/cataclysm

Una biblioteca de Python que genera implementaciones de funciones en tiempo de ejecución con un LLM, a partir de sus nombres, argumentos y contexto, usando OpenAI.

Estrellas
409
Forks
43
Issues abiertos
11
Último commit
hace 14 días

¿Qué es?

Cataclysm permite que el código Python llame a funciones que todavía no tienen implementación. Cuando se llama a una función no reconocida, envía el nombre de la función, los argumentos, los nombres de los argumentos con nombre, las docstrings, los comentarios y el contexto de la pila de llamadas a un modelo de OpenAI, ejecuta el código generado y devuelve el resultado. El código generado se almacena en archivos locales, según la firma de cada función, para reutilizarlo en llamadas posteriores.

La biblioteca ofrece varios modos. `consume(globals())` permite generar implementaciones para cualquier función no reconocida del espacio de nombres actual, lo que resulta útil para notebooks y experimentos. El módulo `doom` es el punto de entrada recomendado para bibliotecas y aplicaciones. `doom.impending` muestra el código generado sin ejecutarlo, y `doom.chosen` ejecuta solo código almacenado en caché y lanza un error NameError si no hay nada en caché, para que el código publicado nunca llame al modelo.

Para configurarla, se requiere Python 3.11 o posterior, una clave de API de OpenAI en un archivo `.env` y ejecutar `cataclysm init` para copiar los archivos predeterminados de prompts y datos. La generación funciona mediante la biblioteca chatsnack, y el archivo de prompt se puede editar para cambiar el comportamiento o usar un modelo más económico.

Funciones clave

  • 01Genera implementaciones de funciones que faltan a partir de sus nombres, argumentos y contexto.
  • 02Almacena localmente el código generado según la firma de cada función para reutilizarlo.
  • 03Ofrece el módulo `doom`, recomendado para bibliotecas y aplicaciones.
  • 04Incluye un modo de vista previa (`doom.impending`) para revisar el código antes de ejecutarlo.
  • 05Incluye un modo congelado (`doom.chosen`) que ejecuta solo código almacenado en caché.

Casos de uso

  • Crear rápidamente prototipos de funciones en notebooks de Jupyter o sesiones interactivas.
  • Explorar cómo implementaría un LLM una función de utilidad a partir de su firma.
  • Distribuir una aplicación con código generado previamente que nunca llama al modelo en tiempo de ejecución.

Inicio rápido

  1. 1

    Instala el paquete desde PyPI

    pip install cataclysm
  2. 2

    En el directorio de tu proyecto, copia los archivos de datos predeterminados

    cataclysm init
  3. 3

    Añade tu clave de API de OpenAI al archivo .env

Antes de usarlo

  • Requiere una clave de API de OpenAI y realiza llamadas a la API de pago de OpenAI.
  • Requiere Python 3.11 o una versión posterior.
  • El código generado no está verificado y el README advierte que puede ser inseguro; es experimental.

Temas

Preguntas frecuentes

¿Qué es cataclysm?
Una biblioteca de Python que genera implementaciones de funciones en tiempo de ejecución con un LLM, a partir de sus nombres, argumentos y contexto, usando OpenAI. Cataclysm permite que el código Python llame a funciones que todavía no tienen implementación. Cuando se llama a una función no reconocida, envía el nombre de la función, los argumentos, los nombres de los argumentos con nombre, las docstrings, los comentarios y el contexto de la pila de llamadas a un modelo de OpenAI, ejecuta el código generado y devuelve el resultado. El código generado se almacena en archivos locales, según la firma de cada función, para reutilizarlo en llamadas posteriores.
¿cataclysm es gratuito? ¿Qué licencia tiene?
cataclysm es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿cataclysm sigue mantenido?
Mantenimiento activo. El último commit de cataclysm fue el 24 oct 2026.
¿Para qué puedo usar cataclysm?
Crear rápidamente prototipos de funciones en notebooks de Jupyter o sesiones interactivas. Explorar cómo implementaría un LLM una función de utilidad a partir de su firma. Distribuir una aplicación con código generado previamente que nunca llama al modelo en tiempo de ejecución.
¿Cómo se instala cataclysm?
Instala el paquete desde PyPI: pip install cataclysm En el directorio de tu proyecto, copia los archivos de datos predeterminados: cataclysm init Añade tu clave de API de OpenAI al archivo .env
¿Dónde consigo cataclysm?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/Mattie/cataclysm

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados