AI コーディング アシスタントを使用する際にどのような困難に遭遇しますか? それはあなたを好きにさせますか、それとも嫌いにさせますか?この記事で紹介する Chapyter は、現在人気のある ChatGPT コード インタプリタと Jupyter Notebook を組み合わせて、コーディングをより効率的にします。
NLP グループに入る —> NLP 交換グループに参加する
AI の助けを借りて、開発者のコーディング効率が大幅に向上する可能性があることは疑いの余地がありません。
開発者は、単純で反復的なコーディング作業から解放されます。しかし、その後に起こる多くの問題により、AI を使用する開発者は往々にして禿げてしまいます。
Chapyter は、GPT-4 などの強力なコード生成モデルを Jupyter Notebook コーディング環境に組み込み、人間と AI のコラボレーションの新しいモデルを切り開き、ほとんどのプログラミング アシスタントが抱える問題を大幅に解決します。
Chapyter は、GPT-4 をコーディング環境にシームレスに接続する JupyterLab 拡張機能であり、自然言語記述を Python コードに変換して自動的に実行するコード インタープリターを備えています。また、Chapyter は、最も使い慣れた IDE で「自然言語プログラミング」を有効にすることで生産性を向上させ、より多くの未体験の新しいアイデアを探索できるようにします。
プロジェクトリンク: https://github.com/chapyter/chapyter
以下の図は、Chapyter と一部の既存のコーディング アシスタントの違いを示しています。
Chapyter はコーディング アシスタントの利点を組み合わせていることがわかります。これにより、開発者はさまざまな複雑なコーディング タスクを完了したり、AI によって生成されたコードを自動的に実行したり、その場でデバッグを実行したり、プロンプトをカスタマイズしたりできるほか、開発者のプライバシーやコードを保護してデータが使用されないようにすることもできます。
Chapyterの機能と利点
Chapyter の主な機能は次のとおりです。
1. 自然言語からコードを生成し、自動的に実行します。
タスクの自然言語記述のセルの先頭にコマンド「%% chat」を追加するだけで、コードはわずか数秒という非常に短い時間で生成されます。
Chapyter のこの利点を過小評価しないでください。
オートコンプリートは、多くの AI 支援コーディング ツールとの対話の主流となっており、コーディング環境で AI サポートを提供し、開発者の作業の生産性と満足度を大幅に向上させることができます。ただし、オートコンプリートは完璧ではありません。AI コードの提案が散在していると気が散ってしまう可能性があり、生成されたコードにはデバッグが難しい隠れたバグが含まれている可能性があります。
Chapyter は、セルレベルのコード生成と自動実行を提供することで、これらの問題を解決します。やりたいことの自然言語説明を入力するだけで、Chapyter が GPT-X モデルを呼び出してコードを生成し、実行します。これは、Copilot などのシステムのコード補完とは大きく異なります。Copilot は、コードの数行にすぎず、関数呼び出しの完了など、当面の作業に非常に関連するマイクロタスクをサポートするように設計されています。一方、Chapyter は完全なタスクを引き継ぐように設計されており、既存のコードとは異なる場合があります。
Chapyter は AI によって生成されたコードを軽視し、結果に焦点を当てたいと考えているため、生成されたコードはデフォルトで非表示になります。また、Chapyter には潜在的に危険なコードの自動実行を防ぐセーフ モードがあるため、自動実行について心配する必要はありません。
2. コーディング履歴と実行出力を使用してコードを生成する
Chapyter は、コード履歴と実行出力を活用して、コンテキストを認識した提案を提供することもできます。オプションでファイルをロードして、さらなる処理と分析のための提案を提供することもできます。
以下の図に示すように、コード生成に --history または -h フラグを追加することで、Chapyter は以前の実行履歴と出力を使用して、読み込まれた IRIS データセットに対応する視覚化コードを生成できます。
3. その場でのデバッグとコードの編集
生成されたコードは完全ではない可能性があり、バグやエラーが含まれている可能性があります。Chapter は Jupyter Notebook に完全に統合されているため、IDE を離れることなくコードを簡単に検査し、エラーやバグを修正できます (たとえば、この場合は不足している依存関係をインストールします)。
4. プロンプトと AI 構成は透過的であり、カスタマイズが可能
Chapyter は、ライブラリで使用されるすべてのプロンプトを公開し、使用されるプロンプトと設定を簡単にカスタマイズできるように努めています。
入手可能場所: https://github.com/chapyter/chapyter/blob/main/chapyter/programs.py
5. AI を使用する場合はプライバシーが最優先されます
Chapyter は、ローカルにインストールして JupyterLab とシームレスに使用できる小さな Python パッケージです。OpenAI API を使用して GPT-X モデルを呼び出しますが、デフォルトではトレーニング用のインタラクション データとコードは保持されません。
したがって、データをキャッシュしてトレーニングや分析に使用する Copilot や ChatGPT とは異なり、Chapyter によって OpenAI に送信されたすべてのデータはトレーニングのために保存されません (OpenAI API データ使用ポリシーを参照)。
Chapyterの構成
Chapyter は主に 2 つの部分で構成されます。
ipython マジック コマンドを実装して、プロンプトを処理し、GPT-X モデルを呼び出します。
もう 1 つは、Chapyter セルの実行をリッスンするフロントエンドで、新しく生成されたセルを自動的に実行し、セルのスタイルを更新します。
以下の図は、Chapyter セルを実行した後のフロントエンドと ipython カーネルのオーケストレーションを示しています。
参考リンク:
https://www.reddit.com/r/MachineLearning/comments/15269v8/p_chapyter_chatgpt_code_interpreter_in_jupyter/
https://www.szj.io/posts/chapyter
https://github.com/chapyter/chapyter
NLP グループに入る —> NLP 交換グループに参加する