HUOXIU

Prompty を使用して LLM ヒントを構築および管理する方法

AIアプリケーション開発における共通の課題は、ヒント管理に対する統一されたアプローチの欠如です。各チームが独自のヒント構築・保存方法を採用していることが多く、これはリソースの浪費につながるだけでなく、チーム間の知識共有やコラボレーションの妨げにもなります。この問題に対処するため、Microsoftが支援するオープンソースプロジェクト「Prompty」が開発されました。Promptyは、大規模言語モデル(LLM)ヒントの構築と管理を簡素化・標準化するために設計されたVisual Studio Code拡張機能です。

Prompty: モデルに依存しない LLM を実装する新しい方法

人工知能の開発と応用においては、特定のモデルに依存しない大規模言語モデル(LLM)の作業方法が緊急に必要とされています。この方法により、開発ツール内で様々なLLMを容易に試用でき、作業環境を変更することなく柔軟に活用できるようになります。これはまさに、Microsoftが支援するProject Promptyが目指す目標です。

Visual Studio Code拡張機能であるPromptyは、LLMやその他の生成AIツールに関連する多くの課題に効果的に対処します。Promptyを使用すると、開発者は使い慣れたコーディング環境内でLLMヒントを直接管理およびテストできるため、開発効率と柔軟性が大幅に向上します。

PromptyプロジェクトはGitHubでオープンソースとして公開されており、コミュニティからの貢献とフィードバックを歓迎しています。コードの投稿や開発チームへの提案など、Promptyは皆様のご参加をお待ちしています。すぐにコーディングを始めたい場合は、Visual Studio Code MarketplaceでPrompty拡張機能を簡単に見つけてインストールできます。この拡張機能は、ファイルシステムやコードエディターと緊密に統合されます。

Promptyの設計理念は、直感性と使いやすさです。YAMLなどのよく知られた設定言語に着想を得た、分かりやすいフォーマットを採用しています。生成AIはヒントを通して設定され、モデルが答えを探す際に探索すべき意味空間を定義します。

Promptyは、本質的には生成AIとのインタラクションを記述するためのドメイン固有言語です。この言語はVisual Studio Code拡張機能に組み込まれており、書式設定、エラーのハイライト、コード補完といった言語サーバーの機能を最大限に活用できます。現在、PromptyはPythonとC#の出力をサポートしており、将来のバージョンではJavaScriptとTypeScriptのサポートも追加される予定です。

Build 2024カンファレンスのコンテンツを詳しくご覧になっていない方は、AI開発プラットフォームの一部としてPromptyを活用することに関する興味深い議論を見逃していたかもしれません。PromptyはLLMヒントの管理と利用を簡素化するだけでなく、生成型AIアプリケーションをより効率的に構築・テストするための強力なツールを開発者に提供します。

Promptyを使ったビルドとテストのヒント

Promptyは、Visual Studio Code環境内で大規模言語モデル(LLM)のヒントを簡単に構築・テストできる、直感的で強力なツールを開発者に提供します。以下は、Promptyを使用してヒントを構築・テストする詳細な手順です。

  1. アプリケーションフレームワークを構成します
    まず、Visual Studio CodeとPrompt拡張機能のインストールに加えて、LLMエンドポイントにアクセスできるアプリケーションフレームワークをセットアップする必要があります。これには通常、適切なパッケージと依存関係の設定が含まれます。
  2. .prompty ファイルを作成します:
    Visual Studio Codeのエクスプローラーで、プロジェクトまたはアプリケーションのルートフォルダを右クリックし、「新しいプロンプトの作成」を選択します。これにより、.prompty拡張子のファイルが自動的に生成されます。必要に応じて名前を変更できます。
  3. プロンプトの内容を入力してください:
    新しく作成された.promptyファイルを開き、プロンプトアセットの作成を始めます。ファイルは主に2つの部分に分かれています。
  4. アプリケーションの説明: 使用されているモデルの詳細、アプリケーションに必要なパラメーター、およびモデルに基づく情報のサンプルが含まれます。
  5. システムは次のようにプロンプ​​トを表示します。「期待する出力の種類を定義してください。」次に、コンテキスト情報を入力します。これは、ユーザーまたはアプリケーションがLLMに提供し、自然言語出力を生成します。
  6. テストプロンプト:
    Promptを使用すると、Visual Studio Codeの出力ペインでヒントを直接テストし、LLMによって生成された出力を表示できます。これにより、開発者はLLM出力の動作を簡単に調整できます。例えば、くだけた出力スタイルから、よりフォーマルな出力スタイルに切り替えることができます。
  7. 環境変数を設定します:
    LLMエンドポイントと通信するには、必要な認証トークンを含む適切な環境変数の提供が必要になる場合があります。この機密情報を保護するには、別のファイルに保存し、誤って漏洩しないようにすることをお勧めします。
  8. 反復と最適化:
    LLM出力に基づいて、提案を継続的に調整・最適化し、最適な生成結果を得ることができます。Promptyの即時テスト機能により、このプロセスは効率的かつ直感的に行えます。

Promptを使用することで、開発者は基盤となる複雑さや設定の問題を気にすることなく、高品質なLLMヒントの構築に集中できます。これにより、生成AIとのやり取りが大幅に簡素化され、AIアプリケーションの開発サイクルが加速されます。

PromptyをLMオーケストレーターと組み合わせて使用​​する

Promptyを使用してLLMキューを構築・テストした後、開発者はこれらのキューアセットデータを様々なLLMオーケストレーターと組み合わせることで、より強力で柔軟なAIアプリケーションを作成できます。これには、Azure AI Studioのキューストリームや、スタンドアロンAI駆動型エージェントを構築するためのセマンティックカーネルなどのツールが含まれます。

このアプローチにより、開発者はプロンプトをRAG(Retrieval Enhancement Generation)駆動型アプリケーションの基盤として活用できます。つまり、基盤となるデータを追加し、プロンプトを使用して外部データソースから自然言語インターフェースを生成することで、誤った出力のリスクを効果的に低減できます。

LLMオーケストレーターと併用することで、Promptによって生成されたプロンプト記述を用いてLLMとのインタラクションを構築し、非同期操作にカプセル化することができます。これにより、開発者は、セマンティックカーネルなどのツールによって処理の大部分が処理されるAIアプリケーションを作成できます。プロンプト定義をアプリケーションコードから分離することで、開発者は.promptアセットファイルを使用してアプリケーション外でLLMインタラクションを更新でき、柔軟性と保守性が向上します。

アプリケーションにヒントアセットを含めることも非常に簡単です。開発者は適切なオーケストレーターを選択するだけで、ヒントをアプリケーションに統合するためのコードスニペットが自動生成されます。現在サポートされているオーケストレーターの数は限られていますが、Promptyはオープンソースプロジェクトであるため、開発者は他のアプリケーション開発ツールチェーンをサポートするために追加のコードジェネレーターを提出することができます。

Promptyは現在、主にクラウドホスト型のLLMチップの構築に注力していることは注目に値します。しかし、テクノロジーの進化に伴い、私たちは大規模なモデルから、MicrosoftのPhi Silicaのような、個人用およびエッジハードウェア、さらにはモバイルフォン上のニューラルプロセッシングユニットで動作するように設計された、より小規模で集中化されたツールへと移行しています。

エッジAIアプリケーションの開発を目指す開発者にとって、Promptのようなツールはツールチェーンに不可欠な要素となるはずです。これらのツールは、ネイティブエンドポイントと連携して、汎用SDK用のAPI呼び出しを生成する必要があります。今後、MicrosoftはPromptの機能を拡張し、Windows App SDKのCopilot Runtimeの一部として提供することを約束しているPhi Silicaなどのツールをサポートするようになると予想されます。これにより、.NETおよびC++開発者はネイティブおよびクラウドベースのプロンプトを管理するために必要なツールを利用でき、AI技術の開発と応用をさらに促進することができます。

AIツールチェーンの開発:Promptの役割と連携の利点

人工知能(AI)アプリケーションの構築には、堅牢なツールチェーンが不可欠です。このようなツールチェーンは、多様なスキルを持つ人材が効率的に連携することを可能にし、AIアプリケーションの開発プロセスを加速させます。Promptyは、このツールチェーンの主要コンポーネントとして、プロンプティングエンジニアとアプリケーション開発者の間に橋渡しを行い、より協調的な作業を可能にします。

Promptのメリットは、エンジニアが一貫性のあるAIアプリケーションを開発するために必要なヒントを構築・管理できるよう促す機能と、アプリケーション開発者がコード内で使用できる形でヒントを提供する機能にあります。このアプローチにより、ヒントの構築と管理がより直感的かつ効率的になり、AIアプリケーション開発の複雑さが大幅に軽減されます。

さらに、強力なコードエディタであるVisual Studio Codeは、数多くの拡張機能をサポートしており、様々なツールを統合されたツールチェーンに組み込むことができます。単一のAI開発環境を使用する場合と比較して、このアプローチはより柔軟で拡張性に優れています。開発者は、プロジェクトの具体的なニーズに基づいて必要な拡張機能を選択し、統合することで、要件に最適な開発環境を構築できます。

AIツールチェーンでは、様々なツールがそれぞれ異なる役割を果たします。例えば、Windows AI Toolkitはモデルのチューニングに適しています。一方、Promptはプロンプトの構築と管理に重点を置いているため、開発者はAIの技術的な詳細をあまり気にすることなく、アプリケーションロジックの実装に集中できます。

Promptyは、プロンプトエンジニアとアプリケーション開発者のコ​​ラボレーションも促進します。プロンプトを記録してテストすることで、アプリケーションとプロンプトを並行して構築できます。この共同作業は、開発効率を向上させるだけでなく、AIアプリケーションの一貫性と品質を確保します。

まとめると、PromptはAIツールチェーンにおいて重要な役割を果たします。Visual Studio Codeなどのツールとの緊密な統合により、開発者に強力で柔軟な開発環境を提供し、高品質なAIアプリケーションをより効率的に構築できます。同時に、Promptは異なるスキルセットを持つ人々間のコラボレーションを促進し、AIアプリケーション開発に新たな活力をもたらします。

編集者:
https://www.infoworld.com/article/3477435/build-and-manage-llm-prompts-with-prompty.html