OpenAI: アシスタントを実行action
- 最終更新日2024/07/30
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」を参照してください。
手順
以下の例は、Code Interpreter を有効にしてアシスタントを使用し、フィボナッチ数列の最初の 8 項を生成する方法を示しています。
上記のオートメーションのレスポンスを次に示します。
{
"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] を有効にしてアシスタントを使用する方法を示しています。このシナリオでは、アシスタントは添付ファイルを読み取ってレスポンスを生成します。
上記のオートメーションのレスポンスを次に示します。
{
"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 のストレージにあります。
以下の例は、アシスタントを関数とともに使用する方法を示しています。このシナリオでは、アシスタントに気象情報を取得させたいとします。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
関数の使い方と、取得したデータに基づいて適切なレスポンスを作成する方法をアシスタントに指示します。
上記のオートメーションのレスポンスを次に示します。
{
"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」を呼び出すことができます。