Repolode
Mattie

Mattie/cataclysm

OpenAI 기반으로 함수 이름, 인수, 컨텍스트를 바탕으로 런타임에 LLM이 함수 구현을 생성하는 Python 라이브러리입니다.

스타
409
포크
43
열린 이슈
11
마지막 커밋
13일 전

어떤 프로젝트인가요?

Cataclysm을 사용하면 아직 구현되지 않은 함수를 Python 코드에서 호출할 수 있습니다. 인식할 수 없는 함수를 호출하면 함수 이름, 인수, 키워드 이름, docstring, 주석, 호출 스택 컨텍스트를 OpenAI 모델에 보내고, 생성된 코드를 실행해 결과를 반환합니다. 생성된 코드는 함수 시그니처별로 로컬 파일에 캐시되어 이후 호출에서 재사용됩니다.

이 라이브러리는 여러 모드를 제공합니다. `consume(globals())`를 사용하면 현재 네임스페이스에서 인식할 수 없는 모든 함수에 대해 코드를 생성할 수 있어 노트북이나 실험에 적합합니다. 라이브러리와 앱에는 `doom` 모듈을 진입점으로 사용하는 것이 권장됩니다. `doom.impending`은 생성된 코드를 실행하지 않고 미리 보여 주며, `doom.chosen`은 캐시된 코드만 실행하고 캐시에 코드가 없으면 NameError를 발생시킵니다. 따라서 배포된 코드는 모델을 호출하지 않습니다.

설정하려면 Python 3.11 이상, `.env` 파일에 저장한 OpenAI API key, 기본 프롬프트 및 데이터 파일을 복사하는 `cataclysm init` 명령이 필요합니다. 코드는 chatsnack 라이브러리를 통해 생성되며, 프롬프트 파일을 수정해 동작을 바꾸거나 더 저렴한 모델로 교체할 수 있습니다.

핵심 기능

  • 01함수 이름, 인수, 컨텍스트를 바탕으로 누락된 함수 구현을 생성합니다.
  • 02생성된 코드를 함수 시그니처별로 로컬에 캐시해 재사용합니다.
  • 03라이브러리와 앱에서 사용하기 적합한 권장 `doom` 모듈을 제공합니다.
  • 04실행 전에 코드를 확인할 수 있는 미리보기 모드(`doom.impending`)를 제공합니다.
  • 05캐시된 코드만 실행하는 고정 모드(`doom.chosen`)를 제공합니다.

활용 사례

  • Jupyter 노트북이나 대화형 세션에서 함수를 빠르게 프로토타이핑합니다.
  • 시그니처만으로 LLM이 유틸리티 함수를 어떻게 구현하는지 살펴봅니다.
  • 런타임에 모델을 호출하지 않는 사전 생성 코드가 포함된 애플리케이션을 배포합니다.

빠른 시작

  1. 1

    PyPI에서 패키지를 설치합니다

    pip install cataclysm
  2. 2

    프로젝트 디렉터리에서 기본 데이터 파일을 복사합니다

    cataclysm init
  3. 3

    OpenAI API 키를 .env 파일에 추가합니다

사용 전 알아둘 점

  • OpenAI API 키가 필요하며, 유료 OpenAI API를 호출합니다.
  • Python 3.11 이상이 필요합니다.
  • 생성된 코드는 검증되지 않았으며 README에서는 안전하지 않을 수 있다고 경고합니다. 실험적인 기능입니다.

토픽

자주 묻는 질문

cataclysm은(는) 무엇인가요?
OpenAI 기반으로 함수 이름, 인수, 컨텍스트를 바탕으로 런타임에 LLM이 함수 구현을 생성하는 Python 라이브러리입니다. Cataclysm을 사용하면 아직 구현되지 않은 함수를 Python 코드에서 호출할 수 있습니다. 인식할 수 없는 함수를 호출하면 함수 이름, 인수, 키워드 이름, docstring, 주석, 호출 스택 컨텍스트를 OpenAI 모델에 보내고, 생성된 코드를 실행해 결과를 반환합니다. 생성된 코드는 함수 시그니처별로 로컬 파일에 캐시되어 이후 호출에서 재사용됩니다.
cataclysm은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
cataclysm은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
cataclysm은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. cataclysm의 마지막 커밋은 2026년 10월 24일입니다.
cataclysm은(는) 어디에 사용할 수 있나요?
Jupyter 노트북이나 대화형 세션에서 함수를 빠르게 프로토타이핑합니다. 시그니처만으로 LLM이 유틸리티 함수를 어떻게 구현하는지 살펴봅니다. 런타임에 모델을 호출하지 않는 사전 생성 코드가 포함된 애플리케이션을 배포합니다.
cataclysm는 어떻게 설치하나요?
PyPI에서 패키지를 설치합니다: pip install cataclysm 프로젝트 디렉터리에서 기본 데이터 파일을 복사합니다: cataclysm init OpenAI API 키를 .env 파일에 추가합니다
cataclysm은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/Mattie/cataclysm

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트