Repolode
Mattie

Mattie/cataclysm

関数名、引数、コンテキストをもとに、実行時にLLMで関数の実装を生成するOpenAI対応のPythonライブラリです。

スター
409
フォーク
43
未解決の Issue
11
最終コミット
14 日前

これは何?

Cataclysmを使うと、まだ実装されていない関数をPythonコードから呼び出せます。未認識の関数が呼び出されると、関数名、引数、キーワード名、docstring、コメント、呼び出しスタックのコンテキストをOpenAIのモデルに送り、生成されたコードを実行して結果を返します。生成コードは関数シグネチャごとにローカルファイルへキャッシュされるため、以降の呼び出しではキャッシュを再利用します。

このライブラリには複数のモードがあります。`consume(globals())`を使うと、現在の名前空間にある未認識の関数をすべて生成対象にでき、ノートブックや実験に適しています。ライブラリやアプリには、`doom`モジュールを推奨のエントリーポイントとして利用できます。`doom.impending`は生成コードを実行せずにプレビューし、`doom.chosen`はキャッシュ済みのコードだけを実行します。キャッシュがない場合はNameErrorを送出するため、リリース済みのコードからモデルが呼び出されることはありません。

セットアップにはPython 3.11以降、`.env`ファイルに設定したOpenAI APIキー、およびデフォルトのプロンプトとデータファイルをコピーするための`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 とは?
関数名、引数、コンテキストをもとに、実行時にLLMで関数の実装を生成するOpenAI対応の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 の数値は毎日更新されます。

関連プロジェクト