VimとNeovim向けのAIコードアシスタントプラグイン。エディタ内でOpenAI互換モデルによる生成・編集・チャットができます。
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
PyPIからパッケージをインストールします
pip install cataclysm - 2
プロジェクトディレクトリで、デフォルトのデータファイルをコピーします
cataclysm init - 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 の数値は毎日更新されます。
関連プロジェクト
Generative Manimは、GPT-4oやClaudeなどのLLMでテキストプロンプトからManimアニメーションのコードを生成し、動画にレンダリングします。
非構造化テキストからLLMで構造化ナレッジグラフを抽出し、検索拡張型の質問応答に活用するPythonデータパイプライン。
OpenAI APIでよくあるタスクを実行する方法を紹介する、Jupyter notebookのサンプルとガイド集です。