おそらくコードを生成する AI ユニットについて考えてみませんか? 確かに、あなたはたまたまそうではありませんが、OpenAI の Codex ユニットのようなユニットのおかげで、すぐにもっとたくさんのぞき見ることができるでしょう。 。 Codex は、10 を超えるプログラミング言語の純粋な言語とコードを解釈する Open AI の AI ユニットのファミリーです。 これらの AI ユニットのエネルギーは、ソリューションを迅速に作成および反復し、人々がより多くのことを達成できるようにする製品を作成することは間違いありません。 ここでは、Minecraft のキャラクターとの対話を構成し、Minecraft API 命令を生成することによって指示を観察する流行の例を示します.
このテキストでは、Codex などのユニットを回収して、 と呼ばれる流行を利用して希望するコードを生成する方法を簡単に説明します緊急エンジニアリング 。 促されたエンジニアリングとは、プロンプト
を利用して、必要な出力を回収することです。 アドバイスは、文やコードのブロックのような一連のテキストです。 出力を引き出すためにプロンプトを利用するという観察は、
folk
に由来します。 エッセイを書くためのトピックのような問題を抱えている人々にアドバイスすることは間違いないので、行儀が良い.
書く人気をつけてねエッセイの場合、AI モデルはアドバイスを受け取り、アドバイス内のテキストに合わせて書き続けます。 モデルが出力する一意のテキストは、 補完
として知られています。 インスタンス アクティビティは、Python プログラムを書き留めて 2 つの数字を足すことかもしれません。 Python の観察として、次のように義務を書き留める場合はいつでも:
# 2 つの数値を加算して滞留結果を返す機能を書きます。
コーデックスへの助言としてその観察を提供します、これはあなたがこれを望むための補完としてコードを生成することができます:
def add(a, b): a + b を返す
OpenAI で開始されたサルベージの最も賢明な定式化は、OpenAI Playground を拡張することです。 コーデックスが監視内のアドバイスの完了を生成した後、この分与は遊び場を示します。
OpenAI ユニットを使用する方法を学ぶための最も注目すべき定式化は、それらを想像することです。 Getting Uncover エントリを試して共有し、あなたが始めたかもしれない流行を学びましょう。 OpenAI には、 コード例
を含む、ヴォーグがユニットを費やすための例のコレクションがあります。 Codex の場合、最も優れたプラクティス のドキュメントは、それをどのように活用するかを考えるのに非常に役立つリソースです。
Codex は AI ペアである GitHub Copilot にも力を入れていますVisual Studio および で容易にアクセスできるプログラマーVisual Studio コード 。 Copilot は、作成したコードとコメントからコンテキストを引き出し、独自の行または総合的な機能を提案します。 私はこの記事を VS Code で書きました。上記の Python インスタンスを書いたように、Copilot は自動的に Codex をフレイルしてコードを助言します。 以下は、動作中の Copilot のスクリーンショットです。 Python 機能を含む灰色のテキストは、Copilot の強制完了です。 Markdown コードシェアの廃止の見積もりまで示唆していることを暴露します。
では、Codex のようなユニットのエネルギーをアプリケーションにどのように適用できますか? 上記のようなインスタンスは、Codex で簡単に生成できます。 カスタムメイドのアプリケーションの場合、プロジェクトをより適切に説明するために、アドバイスを作成する必要があることは間違いありません。 これには、コーデックスの例を提供して、探しているものを明らかにする必要があります. この記事の残りの部分では、希望するコードを救済できるようにするためのアドバイスされたエンジニアリングの例と方法を示します。
繰り返す: 高レベルの職務記述書を持つマネキンのデータを記録する
流行り廃りの上で見たのは間違いなく、おそらく 明らかに
コーデックスで、あなたが望むものを生成することができるということです。 Codex は、コードの生成において驚くほど一流です。 その完成の
良い
は、あなたがそれを発見して達成することに大きく依存しています.
手始めに、Codex に達成を求めていることの過剰なレベルの説明でアドバイスを開始することも正しい考えです。 例として、異常なデータセットからレコードデータを明らかにするために Codex に Python コードを生成させたいと考えているとしましょう。 私たちの活動を次のように説明しましょうか:
# Load iris は scikit-learn データセットからデータを記録し、トレーニング レコードデータを明らかにします。
Codex は次のような回答をする傾向があります。 . scikit-learn datasets キットが datasets
.
これを修正するには、間違いなくあなたがおそらく、コーデックスで達成したいことについて、もう少し多くの部分を明らかにすることができます。 おそらく、Python の出力が必要なだけで、ライブラリを利用するよりも先にライブラリをロードするのと同じように、追加の指示も提供していることに気付くかもしれません.
# 人の指示に従ってPythonプログラムを生成します。 # 必要なライブラリを最初にインポートします。
出力がより合理的になりました! 予想されるライブラリを利用するよりも先にロードします。 import
と一緒にアドバイスに追加すると、ライブラリをインポートしたいだけであることを Codex に知らせるのにも役立ちます。初め。
このパターンは、過度なレベルのアクティビティの説明と、より具体的な人物への指示を組み合わせたものです。 これらは一緒にアドバイスとしてモデルに渡され、完了を返します.
Gift It: Recordsdata マネキンと例
プロンプトは、AI モデルに与えられた入力シーケンスです。を生成し、observe ごとに出力を生成します。 特定のモデルの場合、推奨される範囲内でモデルに提示するテキストの特定のシーケンスが、後続の出力の合計に影響を与えます。 Codex が生成するものからの Python コードの流行。 例として、2 つの数値を加算するには、次のように異なる方法で引数を確立することが不可欠です:
Codex のようなユニットを操作する際の基本的な理論は、達成したいことを明らかにすることです。 . あなたが望むものをCodexに伝えるための非常に優れた定式化は、それを詳しく説明する
例です。 次に、これは完全に機能し、希望する流行への出力を想定できます。 上記のインスタンスを含むより長いアドバイスを Codex に提供する場合はいつでも、その補完は、指定したインスタンスとまったく同じように引数を指定します。
ゼロショット、ワンショット、少数ショットの発見
よく組織された AI ユニットで雇用されているため、おそらく のような言葉を耳にすることでしょう。 ゼロショット発見。 ゼロショットの発見は、例がないことをお勧めします-例として、アクティビティの説明を修正します。 ワンショットはインスタンスが1つ、フューズショットはインスタンスがペアです。
チェックリスト それ: マネキンのデータを高い値で記録するLevel Contextual Records
Codex は、十分に整理された量の初期供給コードでトレーニングされています。 Python の scikit-learn を使用したインスタンス内で見たように、多くのことを認識しています。
Codex が知らないライブラリを使用するために、あなたが精巧に作ったものは何ですか? 何かを達成するためにコデックスを回収する流行りは…それを明らかにするか、それを詳しく説明することです! 具体的に言うと、使用するよりも早く API ライブラリを Codex に 記述する
ことになるでしょう
。
マインクラフトコーデックス サンプル は Minecraft の Simulated Participant API は、ゲーム内でキャラクターを操作します。 Simulated Participant API は TypeScript ライブラリであり、移動、チャット、在庫の確認、採掘、およびアイテムの作成に関する指示を入力できます。 Codex がまだ知らない新しい API です。 Codex が次のようにアドバイスされたコードを生成する方法を見てみましょう: /Simulated Participant API を利用した Minecraft ボットの説明。 観察が会話型の場合、ボットは重要な Minecraft ボットとして応答します。 それ以外の場合は、要求どおりに実行できます。*/ // を少し転送します。
Codex は、’bot’ と ‘Simulated Participant’ を合図として使用して、訓練された賭けを仕掛けようとします:
しかし、疑わしいシミュレートされた参加者コードはもはや正しくありません。 Simulated Participant API がどのように見えるか、ライブラリの機能シグネチャを利用しているかのように、Codex を詳しく説明することができます。 以下は API 定義のサブセットです。
/ / API REFERENCE: // moveRelative(leftRight: number, BackwardForward: number, walk?: number): void – シミュレートされたプレーヤーに、プレーヤーの現在の回転に関連する指定されたルート内をゆっくりと進むように命令します。 // stopMoving(): void – シミュレートされたプレーヤーが移動中の場合、移動/歩行/追従を停止します。 // lookAtEntity(entity: Entity): void – シミュレートされたプレーヤーの頭/体格を回転させて、指定されたエンティティを確認します。 // jumpUp(): boolean – シミュレートされたプレーヤーをジャンプさせます。 // chat(message: string): void – シミュレートされたプレイヤーからチャット メッセージを送信します。 // listInventory(object: Block | SimulatedPlayer | Participant): InventoryComponentContainer – プレーヤーまたは賞賛のチェストが持っている合計アイテムを列挙するコンテナを返します
上記の API 定義といくつかの例を使用すると、Codex を利用して API に準拠したコードを生成することもできます。 API を利用して Minecraft のキャラクターを操作する例を次に示します。
/API のいくつかのインスタンスの使用法を含める */ // 左に転送 bot.moveRelative(1, 0, 1); // やめる! bot.stopMoving(); // 2D bot.moveRelative(0, -1, 1); の半分を逆方向に転送します。 setTimeout(()=> bot.stopMoving(), 500); を楽しみにしています。
基本的なインスタンスがどのように値を明示するかを注視してください。 moveRelative フィーチャー シグネチャに費やされます。 それが完了したら、コーデックスに質問をして、キャラクターを少し前に動かすように指示します。 これにより、適切なコードが生成される場合があります。
このパターンは、API 定義の作成内に過剰なレベル コンテキストを追加し、コーデックスが何を認識できるようにするための例も追加します。あなたはそれを達成したいと思っています。 また、API を拡張してより正確なコードを生成することもできます。
正しいアプリケーションでは、純粋な言語が入力されたケースを使用します。これは過剰なので、ダイアログのコンテキストを十分に保持できます。 次の指示に従ってください:
人: 12 オンスのエスプレッソを作りたいと思います。 20oz.cupに入れられますか?
AI モデルは、「それ」が 12 オンスのエスプレッソを指すことを把握する必要があります。 それは人々にとっては簡単ですが、コーデックスはマウントされたモデルです: 人の入力と歩調を合わせません. Codex は、API 名から API 名まで、最終的なアドバイスがどうなったか、完了として何を返したかを覚えていません。 「それ」が 12oz.espresso を指していることを確認するために Codex をどのように回収するのでしょうか? それは道徳的です-私たちはその人がより早く言及したことを明らかにします. あなたがおそらく達成するであろうことは、最終的な入力と完了のペアをアドバイス内の さらなるインスタンス として追加することです。 これにより、コーデックスはより良い補完を提供するのに十分なコンテキストを提供します.
別のサンプル アプリケーションでこれを見てみましょう:
- コデックスバビロン
)。 Codex Babylon は、
BabylonJS
で 3D シーンをレンダリングします。 BabylonJS は、流行の 3D レンダリング用フレームワークです。 Codex Babylon は、3D シーンでオブジェクトを表示および操作するための純粋な言語の指示を入力するための Web インターフェイスを提供します。 命令は Codex に送信され、シーン内のオブジェクトをエリア分けするコードが生成されます。 その後、コードはブラウザ内のアプリによって実行されます。
下のアニメーション内で、デバイスに入る純粋な言語をのぞき見し、キューブを操作します。Codex が生成する BabylonJS コード、そして出力がブラウザ内で道徳的にレンダリングされます。 人の指示を正確に解釈して「体験させてください」と覗き見してしまうかもしれません.
質問者様もおっしゃる通り、無期限に入出力履歴に含めて保護するのは賢明ではありません。 コンテキストのサイズは小さいです。 そのため、推奨される範囲内で人物入力履歴のローリング ウィンドウを保護します。 これにより Codex が許可され、’it’ のような問題を参照できるようになります。 これを セッション バッファ
と呼びます。 コデックスバビロン サンプルには、セッション バッファの実装が含まれます。
全部まとめてこれで、これらすべてをまとめて配置する準備が整いました。 特定のアプリケーションについて、次の内容で構成されるアドバイスを Codex に提示することは間違いありません: 
- ハイレベルなアクティビティの説明: ピュアなアウトプットの際にバイタルトーンを消費するためにモデルを繰り返します。言語
- 高レベルのコンテキスト: チェックリスト バックグラウンド レコード API ヒントやデータベース スキーマなどのデータを使用して、モデルが義務を認識できるようにします
例:ご希望のモデル例をプレゼント 人が入力: リマインドその人が以前に言及したモデル
下のデバイス内のビンは、アドバイスに何が入るかを凡例に取り入れることができるようにするためのものです。 OpenAI ユニットは非常に柔軟であり、明示的な建物を観察する必要があるという
ガイドライン
はありません。 おそらく、任意の処方を混ぜ合わせることができます(おそらく、さまざまな結果を救うことにもなります)。 最終的には、これらのパターンの適応を明らかにしたいと考えています。 あなたに合ったものを試してみてください!
前の基本
このアドバイス付きエンジニアリング入門を楽しんでいただければ幸いです。 促されたエンジニアリングは、サルベージを開始し、Codex がアプリケーションに正しく適合するかどうかを学習するための巨大な定式化です。 おそらく、GPT-3 のような反対側の OpenAI ユニットや、他の
基礎ユニット
または よく整理された言語ユニット
。 製造用途に対してアプリケーションを配置するために採用されているため、凡例に取り込まなければならない問題がいくつかあります.
ハイパーパラメータ
さまざまな ハイパーパラメータ
トークン、温度などのコレクションに相当します。 ハイパーパラメータは、モデルの習慣を概説するパラメータです。 ハイパーパラメータ temperature は、同じ入ります。 temperature を 0 に設定すると、おそらくミュートになる可能性があり、毎回同じ出力が得られます。少なくとも同じセッションの内部。 停止シーケンス は、Codex が同一のコードの翻案を作成するのを停止するようご協力をお願いします。 おそらく、使用しているプログラミング言語の観察シーケンスで停止シーケンスを囲むことによって、それを達成することができます。 例として # は Python で、
// JavaScript の場合。 その他のハイパーパラメータは
OpenAI ドキュメント
.
見事なチューニング
下のデバイス内のビンは、アドバイスに何が入るかを凡例に取り入れることができるようにするためのものです。 OpenAI ユニットは非常に柔軟であり、明示的な建物を観察する必要があるという ガイドライン
はありません。 おそらく、任意の処方を混ぜ合わせることができます(おそらく、さまざまな結果を救うことにもなります)。 最終的には、これらのパターンの適応を明らかにしたいと考えています。 あなたに合ったものを試してみてください!
前の基本
このアドバイス付きエンジニアリング入門を楽しんでいただければ幸いです。 促されたエンジニアリングは、サルベージを開始し、Codex がアプリケーションに正しく適合するかどうかを学習するための巨大な定式化です。 おそらく、GPT-3 のような反対側の OpenAI ユニットや、他の 基礎ユニット
または よく整理された言語ユニット
。 製造用途に対してアプリケーションを配置するために採用されているため、凡例に取り込まなければならない問題がいくつかあります.
ハイパーパラメータ
さまざまな ハイパーパラメータ トークン、温度などのコレクションに相当します。 ハイパーパラメータは、モデルの習慣を概説するパラメータです。 ハイパーパラメータ temperature は、同じ入ります。 temperature を 0 に設定すると、おそらくミュートになる可能性があり、毎回同じ出力が得られます。少なくとも同じセッションの内部。 停止シーケンス は、Codex が同一のコードの翻案を作成するのを停止するようご協力をお願いします。 おそらく、使用しているプログラミング言語の観察シーケンスで停止シーケンスを囲むことによって、それを達成することができます。 例として # は Python で、
// JavaScript の場合。 その他のハイパーパラメータは
OpenAI ドキュメント
見事なチューニングは、厳選された推奨完了ペアのデータセットを利用する方法ですモデルの習慣を支出ケースに合わせてカスタマイズします。 見事なチューニングにより、プロンプトの補完の精度を向上させることができます。 Codex ではまだ簡単にアクセスできないため、ここでは美しいチューニングを詳細に行いませんでした。 ここに、魅力的なチューニングに関する基本的なドキュメントへのリンクがあります
OpenAI
と アズール.
パーソンスキル
人の先入観は、あなたが作成したものの経験を装置化または破壊する可能性があります。 ここでは、ユーザーをアプリケーションに歓迎する際に考慮すべき領域について説明します。
。
プロンプトを作成することは、簡単に入手できるブランド固有のスキルです。楽器の作り方。 Tesla の AI 責任者である Andrej Karpathy 氏は、プロンプトの設計は「Instrument 3.0」であるというこの影響を共有しました Twitterはクリス・オラーと交互に
.
学んだことをリストアップここで、Instrument 3.0 ウィザードに変更するための最初のステップを中止して楽しむことは間違いありません:D! Codex、Copilot、および OpenAI への Uncover エントリの取得
OpenAI へのサインアップは
- 簡単
。 Codex は現在、小さなプレビュー段階にあります。Microsot Design 2022 に登録した参加者は、Codex やその他の OpenAI ユニットを無料で使用するためにサインインできます。 不可欠な側面を理解する
- ここ
。 また、同じページから Copilot を使用するようにシグナルを送ることもできます。
Microsoft は、