OpenAI: アシスタントを実行action

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

前提条件

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

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

手順

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

    OpenAI: アシスタントを実行

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

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

    3. セッションの名前を入力し、セッションを現在のセッションに限定します。認証アクションに使用するものと同じ名前を使用します。
    4. オプションのパラメーターを管理するには、[その他のオプションを表示] の下の [はい] を選択して、[モデル]、[指示]、[追加指示]、[ファイル]、[メタデータ] などのパラメーターを追加します。また、[Code Interpreter]、[File search]、[Function] オプションを有効にしてアシスタントの機能を拡張し、より複雑なタスクを実行できるようにします。これらのオプションのパラメーターの詳細については、「OpenAI Create Run」を参照してください。
      注: こうしたオプションのパラメーターを選択することで、[モデル] (例: gpt-4o)、[指示] などを定義し、デフォルトの設定を上書きしてアシスタントの動作を微調整できます。
      • Code Interpreter: アシスタントがカスタム Python コードを実行できるようにして、データ操作、ロジック統合、オートメーション タスクを円滑に行います。次に例を示します。
      • File search: アシスタントが外部ソースの情報を検索し、処理できるようにして、会話の幅を広げ、コンテキストに関連したレスポンスを提供します。
      • 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: \n\n\\[0, 1, 1, 2, 3, 5, 8, 13\\]",
            "annotations": []
          }
        }
      ]
    },
    {
      "role": "assistant",
      "content": [
        {
          "type": "text",
          "text": {
            "value": "The Fibonacci sequence is a series of numbers where each number is the sum of the two preceding ones, starting from 0 and 1. Let's generate the first 8 terms of the Fibonacci sequence.",
            "annotations": []
          }
        }
      ]
    }
  ],
  "status": "completed"
}
File Search:

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

OpenAI の [アシスタントを実行] の [File search]

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

{
  "metadata": {},
  "data": [
    {
      "role": "assistant",
      "content": [
        {
          "type": "text",
          "text": {
            "value": "Here are the holidays listed in the attached file:\n\n1. New Year's Day\n2. Martin Luther King Jr. Day\n3. Presidents' Day\n4. Memorial Day\n5. Independence Day\n6. Labor Day\n7. Columbus Day\n8. Veterans Day\n9. Thanksgiving Day\n10. Christmas Day\n\nThese holidays were found within the attached document .",
            "annotations": []
          }
        }
      ]
    }
  ],
  "status": "completed"
}
注:
  • 複数のファイルをアップロードするには、ファイル ID のリストを追加できます。こうしたファイル ID は、OpenAI を使用してアップロードされたファイルに割り当てられる一意の識別子です。アシスタントでファイルをアップロードおよび取得する方法の詳細については、「OpenAI Files Operations」を参照してください。
  • OpenAI にアップロードされた Control Room ファイルまたはデスクトップ ファイルは、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: アシスタント機能実行action」を参照して、新しく導入された get_weather 関数の使い方と、取得したデータに基づいて適切なレスポンスを作成する方法をアシスタントに指示します。

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

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

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