注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
このガイドでは、AIP Logicへのアクセス方法、AIP Logicインターフェースの紹介、LLMブロックの構成とデバッガーでのLLMの思考の連鎖 (CoT)の確認を行うことで基本的なLogic関数の設定方法を説明します。
AIP Logicは、プラットフォームのワークスペースナビゲーションバーから、またはクイック検索ショートカットCMD + J
(macOS)またはCTRL + J
(Windows)を使用してアクセスできます。また、ユーザーのファイルから新しいLogic関数を作成することもできます。その場合は、+新規作成を選択し、次にAIP Logicを選択します。以下の画像に示すようにします。
AIP Logicを開いた後、新しいLogicファイルを作成できます。Logicファイルはプロジェクトフォルダーに保存する必要があり、ホームフォルダーには保存できません。
AIP Logicのインターフェースは主に3つのコンポーネントから構成されており、以下のスクリーンショットでは左から右に番号が振られています:
典型的なAIP Logicのワークフローでは、まず左パネル(1)の入力(A)、ブロック(B)、および出力(C)を設定し始めるかもしれません。次に、実行パネル(3)を使用してサンプル出力を生成します。Logicを実行した後、デバッガー(2)でLLMの思考の連鎖(CoT)を表示し、LLMが出力を生成するために踏んだステップを確認できます。また、デバッガーと実行パネルを組み合わせて最終出力を視覚化することもできます。実行パネルを使用すると、最新のLogicの実行状況を確認したり、ユニットテストを作成したりできます。右側のサイドバーでは、AutomateアプリケーションとのLogicの統合など、より多くの機能を見つけることができます。
AIPを初めて使用するとき、右側にRunパネルが表示され、左側には3つのタイプのボードが表示されます:入力は、オブジェクトとそのプロパティを選択的に選ぶためのもの、ブロックはLogic指示を定義するためのもの、出力は、望ましいLogic関数の結果を表現します。一つのブロックからの出力は、後続のブロックに供給することができます。
以下のスクリーンショットは、入力、ブロック、出力の設定エリアと、Runパネルが折りたたまれている状態を示しています。
AIP Logicはさまざまな入力を受け取ることができます。これらはプリミティブまたはオントロジー内のオブジェクトタイプのいずれかです。Inputsブロック(アプリケーションインターフェースガイドで"A"とラベル付けされています)では、入力名、タイプ(入力がプリミティブまたはオブジェクトであるか)、プリミティブタイプまたはオブジェクトタイプを指定できます。サポートされているプリミティブには、配列、ブール値、日付、ダブル、フロート、整数、ロング、ショート、文字列、タイムスタンプがあります。
AIP Logic関数は、ブロック(アプリケーションインターフェースガイドで"B"とラベル付けされています)を組み合わせて作成されます。これらは、LLMがユーザーのデータとやり取りする方法を表現します。AIP Logicブロックには4つのタイプがあります:変数の作成、オブジェクトプロパティの取得、LLMの使用、変換ブロックです。ブロックの出力は、後続のブロックで使用できます。3つのタイプのブロックは、以下の各セクションで詳しく説明されています。
Create variable ブロックは、将来のブロックで使用できる変数を作成します。変数は、配列、ブール値、日付、ダブル、整数、ロング、文字列、またはタイムスタンプのいずれかのタイプのものとすることができます。
Get object property ブロックは、オブジェクトからプロパティを返します。入力オブジェクトが選択されたとき、オブジェクトからプロパティを選択することができます。
Use LLM ブロックは、AIP Logicの中心部であり、LLMを活用してLogicブロックを定義することができます。Logicブロックは、プロンプト、ツール、および出力で構成されています。
変換ブロックを使用すると、AIP Logic内で式を使用することができます。
これは、文字列を日付に変換したり、JSONを解析したり、数学的な表現を実行したりといった、AIP Logicでデータの変換を行う絶好の方法です。
Apply Actionブロックを使用すると、LLMブロックを経由せずに確定的にアクションを呼び出すことができます。このブロックを使用すると、パラメーターの記入方法について精確な制御が可能になり、実行速度が向上します。この例では、特定のインシデントに優先ステータスを付与するアクションを呼び出すことができます。
Ontologyへの変更を書き戻すためには、ActionからAIP Logic関数を呼び出すことが必要です。Logic関数がApply Actionブロックを含んでいても、Logic関数がActionから実行されない限り、Ontologyは編集されません。
AIP Logicでは、関数を確定的に使用することができます。Executeブロックは、特定のデータをロードしてLLMブロックに渡す、または、希望する表現が利用できない場合にTransformsブロックを補完するのに便利です。この例では、Executeブロックがセマンティック検索関数の出力を利用して、同様のインシデントから解決文を戻すのに使用されています。
プロンプトは、自然言語で書かれたLLMの指示です。最も重要な情報(LLMが完了すべきタスクの概要など)から始め、その後にLLMが必要とするデータとツールの使用時期のガイドラインを続けることをお勧めします。プロンプトを作成する際には、LLMが特定に提供するものだけにアクセスできることを念頭に置いてください。
以下の想定プロンプトでは、以前のメール会話から情報を検索し、解決策を求める顧客に対する応答を提供するためにLLMを使用します。想定プロンプトは、タスクの概要から始まります:
You are my complaint helper agent. Find other emails that describe similar events to those described in the input email. Look only at the email body. Determine the best solution based on what has worked in the past. Return your one solution recommendation, do not list findings from every email.
次に、プロンプトは、問い合わせるデータを特定します(この場合、不満メール、complaint
オブジェクトを表します)。プロンプトの入力後、"/"を入力して分析で利用可能な1つ以上の変数を選択し、LLMに入力へのアクセスを提供することができます。以下のスクリーンショットでは、メールオブジェクトのプロパティを選択します。
ツールは、AIP LogicがLLMにOntologyの読み書きや実世界の操作を可能にする仕組みです。AIP Logicは、データ、ロジック、アクションの3つのカテゴリのOntology駆動ツールを活用して、効率的にデータをクエリ、論理操作を実行、安全にアクションを取ることができます。
利用可能なツールには以下のものがあります:
Apply actions ツールを使用すると、LLMはアクションを使用してOntologyを編集することができます。LLMが提供したアクションをいつ使用すべきかを記述することができます。Ontologyへの変更の適用方法の詳細については、以下の Logic関数を使用したOntology編集を参照してください。
Call function ツールを使用すると、LLMが呼び出すことができる関数を選択できます。関数は、リポジトリでコード定義されているか、既存のLogic関数である可能性があります。
Query objects ツールは、LLMがアクセスできるオブジェクトタイプを指定します。必要なだけオブジェクトタイプを追加し、クエリをよりトークン効率的にするために、LLMがアクセスできるプロパティを指定することができます。
Calculator tool を使用すると、LLMを使って正確な数学的計算が可能になります。
Logicブロックごとに中間出力を定義することができます。Logicパスの最後のブロックは、Logic関数の出力で、アプリケーションインターフェースガイドで "C" とラベル付けされています。
Block output: ブロック間で渡される中間出力です。ブロックの出力は、後続のブロックで使用するためのプリミティブまたはオブジェクトのどちらかです。
Logic関数の出力: 戻り値として欲しいLogic関数の出力です。これは、Value(プリミティブまたはオブジェクト)または関数が行ったすべてのOntology編集のいずれかです。
Logic関数を作成したら、Runを選択してLogic関数をテストできます。Logicが実行されたら、デバッガーが開き、LLMの思考の連鎖 (CoT)が表示されます。
デバッガーを使用すると、ブロックカードを展開したり折りたたんだり、ツールの呼び出しをクリアしたり、生成されたプロンプトを簡単に確認したりすることができ、思考の連鎖を解釈するのが容易になります。
Run パネルから、Logicを実行して評価したり、最近の実行状況を確認したりできます。右側のサイドバーでは、ユニットテストを設定したり、自動化を実行したり、実行履歴を表示したりすることができます。
Run パネルの下部では、最近の実行のいずれかを選択して、その出力とデバッグログを表示することもできます。
ユニットテストアイコン()を選択して、パフォーマンス評価のための入力バージョンを保存します。
Logic関数は、プラットフォーム内の通常のオブジェクト上の関数 (FoO)と同じように使用できます。
Logic内で関数を実行すると、デバッガー内のシナリオで提案されたすべてのOntology編集が表示されます。これらの編集は実際には実行されません。Ontologyに編集を適用するには、以下のどちらかを行ってください:
Logic関数がOntologyを編集するためには、次の手順を踏む必要があります:
Logic関数の編集が完了したら、保存の隣にあるPublishオプションを見つけて選択し、Logic関数を公開します。
次に、公開したばかりのLogic関数をバックアップに使用した新しいアクションを作成します。
AIP Logicにアクセスできる場合は、LLMブロックを使ってオントロジーとやり取りし、ユーザー自身のユースケースを構築するために実験を始めることをお勧めします。プラットフォーム上の関数に関するドキュメンテーションを確認すると役立つかもしれません。