OpenAI: アシスタントを実行アクション

OpenAI: [アシスタントを実行] アクションは、OpenAI のアシスタント API を使用して、自分のアプリケーション内に AI アシスタントをビルドします。アシスタントは指示に従い、モデルやツール、知識を活用してユーザーのクエリに応答できます。Assistants API は現在、次の 3 種類のツールをサポートしています。Code Interpreter、Retrieval、Function 呼び出し。

前提条件

  • オートメーションで OpenAI の [アシスタントを実行] アクションを使用するには、Bot Creator ロールが必要です。
  • OpenAI のアクションを呼び出す前に、リクエストを送信するために必要な認証情報があり、[認証] アクション が含まれていることを確認してください。
  • アシスタントの制限事項について: アシスタントの機能と制限事項を理解することは、現実的な期待を抱くのに役に立ちます。

この例では、OpenAI の [アシスタントを実行] アクションで既存のアシスタントをロードし、適切なレスポンスを取得する方法を示します。自分でアシスタントを作成する方法に関心がある場合は、「OpenAI 作成アシスタント」を参照してください。

手順

  1. Automation Anywhere Control Room で [アクション] ペインに移動し、[生成 AI] > [OpenAI] を選択し、[OpenAI: アシスタントを実行] をドラッグしてキャンバスに配置します。
  2. 以下のフィールドを入力または選択します。

    OpenAI: アシスタントを実行

    1. 既存のアシスタントを選択するには、[アシスタントをロード] をクリックします。API キーで認証 (「[認証] アクション」を参照) する必要があります。Open AI: 接続
      1. [Open AI に接続] が表示されます。API キーを入力するには、[資格情報] タブで保存した資格情報を使用するか、[安全でない文字列] タブを選択して API キーを直接貼り付けます。
      2. 選択したアシスタントのアシスタント ID が、[アシスタント ID] フィールドに表示されます。
      注: アシスタントを選択する前にその制限事項を理解しておくことは、スムーズなユーザー エクスペリエンスのためには非常に重要です。フライトの予約を申し込もうとしたら、アシスタントが予約システムにアクセスできないことがわかったという状況を想像してみてください。あらかじめアシスタントの機能を熟知しておけば、そのようないらだたしい思いをせずにすみます。
    2. レスポンスを生成するためにモデルが使用する [メッセージ] を入力します。
      注:

      [Run Assistant] アクションは、同じ会話内の前のアクションの結果を保持します。[Run Assistant] アクションを連続して呼び出す場合、アシスタントは同じスレッド内の会話のコンテキストを記憶しておき、後続のメッセージを前のメッセージに関連付けることができます。ただし、この会話履歴はセッションが終了するとクリアされます。新しいセッションごとに、新しいスレッドが作成されます。

    3. 現在のセッションに限定するセッション名として、「デフォルト」を入力します。
    4. オプションのパラメーターを管理するには、[その他のオプションを表示] の下の [はい] を選択して、[モデル]、[指示]、[追加指示]、[ファイル]、[メタデータ] などのパラメーターを追加します。また、[Code Interpreter]、[Retrieval]、[Function] オプションを有効にしてアシスタントの機能を拡張し、より複雑なタスクを実行できるようにします。これらのオプションのパラメーターの詳細については、「OpenAI 作成の実行」を参照してください。
      注: これらのオプションのパラメーターを選択することで、[モデル]、[指示] などを定義し、デフォルトの設定を上書きしてアシスタントの動作を微調整できます。
      • Code Interpreter: アシスタントがカスタム Python コードを実行できるようにして、データ操作、ロジック統合、オートメーション タスクを円滑に行います。次に例を示します。
      • Retrieval: アシスタントが外部ソースの情報を検索し、処理できるようにして、会話の幅を広げ、コンテキストに関連したレスポンスを提供します。
      • Function: アシスタントが外部ソースの情報を検索し、処理できるようにして、会話の幅を広げ、コンテキストに関連したレスポンスを提供します。
    5. 変数にレスポンスを保存します。この例では、レスポンスは str_asst_Response という文字列変数に保存されます。出力は JSON です。上記を実行した場合の出力例を次に示します。
      {
         "metadata":{
            
         },
         "data":[
            {
               "role":"assistant",
               "content":[
                  {
                     "type":"text",
                     "text":{
                        "value":"New York is a bustling metropolis known as \"The Big Apple,\" renowned for its iconic skyline, cultural diversity, and status as a major global financial, entertainment, and cultural center.",
                        "annotations":[
                           
                        ]
                     }
                  }
               ]
            }
         ],
         "status":"completed"
      }
Code Interpreter:

以下の例は、Code Interpreter を有効にしてアシスタントを使用し、フィボナッチ数列の最初の 8 項を生成する方法を示しています。

OpenAI の [アシスタントを実行] Code Interpreter

上記のオートメーションのレスポンスを次に示します。

{
   "metadata":{
      
   },
   "data":[
      {
         "role":"assistant",
         "content":[
            {
               "type":"text",
               "text":{
                  "value":"The first 8 terms of the Fibonacci sequence are: 0, 1, 1, 2, 3, 5, 8, 13.",
                  "annotations":[
                     
                  ]
               }
            }
         ]
      }
   ],
   "status":"completed"
}
Retrieval:

以下の例は、Retrieval を有効にしてアシスタントを使用する方法を示しています。このシナリオでは、アシスタントは添付ファイルを読み取ってレスポンスを生成します。

OpenAI の [アシスタントを実行] コード取得

上記のオートメーションのレスポンスを次に示します。

{
   "metadata":{
      
   },
   "data":[
      {
         "role":"assistant",
         "content":[
            {
               "type":"text",
               "text":{
                  "value":"The holidays listed in the 2024 USA holiday schedule are as follows:\n\n1. New Year\u0027s Day: January 1, Monday\n2. MLK Day: January 15, Monday\n3. President\u0027s Day: February 19, Monday\n4. Memorial Day: May 27, Monday\n5. Juneteenth: June 19, Wednesday\n6. Independence Day: July 4, Thursday\n7. Labor Day: September 2, Monday\n8. Thanksgiving Day: November 28, Thursday\n9. Day after Thanksgiving: November 29, Friday\n10. Christmas Eve: December 24, Tuesday\n11. Christmas Day: December 25, Wednesday\n12. New Year\u0027s Eve: December 31, Tuesday",
                  "annotations":[
                     
                  ]
               }
            }
         ]
      }
   ],
   "status":"completed"
}
注: 複数のファイルをアップロードするには、ファイル ID のリストを追加できます。これらのファイル ID は、OpenAI API を使用してアップロードされたファイルに割り当てられる一意の識別子です。アシスタントでファイルをアップロードおよび取得する方法の詳細については、「OpenAI ファイルの操作」を参照してください。

OpenAI の [アシスタントを実行] 複数のファイル ID

Function:

以下の例は、アシスタントを関数とともに使用する方法を示しています。このシナリオでは、アシスタントに気象情報を取得させたいとします。get_weather という名前の新しい関数 (説明とパラメーターとともに) を渡すことで、この新しいスキルをアシスタントに装備させます。

{
    "name": "get_weather",
    "description": "Determine weather in my location",
    "parameters": 
    {
       "type": "object",
       "properties": {
          "location": {
             "type": "string",
             "description": "The city and state e.g. San Francisco, CA"
          },
          "unit": {
             "type": "string",
             "enum": [
                "c",
                "f"
             ]
          }
       },
       "required": [
          "location"
       ]
    }
 }

下の画像の JSON 出力では、アシスタントのステータスが requires_action として強調表示されています。これは、アシスタントが進め方について入力を待機中であることを示します。「OpenAI: アシスタント機能実行アクション」を参照して、新しく導入された get_weather 関数の使い方と、取得したデータに基づいて適切なレスポンスを作成する方法をアシスタントに指示します。

Open AI の [アシスタントを実行] アクション関数

上記のオートメーションのレスポンスを次に示します。

{
   "data":{
      "thread_id":"thread_Aq8I25CKOFAZ50GkVDH4gZXw",
      "tool_calls":[
         {
            "id":"call_zkehFEVLaXyuEND9kSRgq4O1",
            "type":"function",
            "function":{
               "name":"get_weather",
               "arguments":"{\"location\":\"Chicago, IL\"}"
            }
         }
      ],
      "id":"run_s3jWsc8H2xaGV6E28CevuXsG"
   },
   "status":"requires_action"
}
JSON からスレッド ID、呼び出し ID、実行 ID を使って、「OpenAI: アシスタント機能実行アクション」を呼び出すことができます。