

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 会話履歴とコンテキストをセッションに保存する
<a name="sessions-store-coversation"></a>

セッションを作成したら、[CreateInvocation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_CreateInvocation.html) API を使用してセッション内のインタラクションをグループ化します。グループごとに、[PutInvocationStep](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_PutInvocationStep.html) API オペレーションを使用して、各インタラクションのテキストとイメージなどの状態チェックポイントを保存します。

呼び出しステップを呼び出し内で整理する方法は、ユースケースによって異なります。例えば、顧客の旅行予約をサポートするエージェントの場合、呼び出しと呼び出しのステップは次のとおりです。
+ この呼び出しは、エージェントが顧客と特定のホテルの複数の宿泊数の空室状況を確認するための会話のテキストをグループ化する役割を果たします。
+ 各呼び出しステップは、エージェントとユーザー間の各メッセージと、エージェントが空室状況を取得するために実行するステップである場合があります。

[PutInvocationStep](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_PutInvocationStep.html) API では、会話に関連付けられたイメージをインポートできます。
+ 最大 20 個の画像を含めることができます。各イメージのサイズ、高さ、幅は、それぞれ 3.75 MB、8000 px、8000 px 以下にする必要があります。
+ インポートできるタイプのイメージは、以下のとおりです。
  + PNG
  + JPEG
  + GIF
  + WEBP

**Topics**
+ [CreateInvocation の例](#session-create-invocation)
+ [PutInvocationSteps の例](#session-put-invocation-step)

## CreateInvocation の例
<a name="session-create-invocation"></a>

次のコード例は、 AWS SDK for Python (Boto3)を使用して、アクティブなセッションに呼び出しを追加する方法を説明しています。`sessionIdentifier` では、セッションの sessionId または Amazon リソースネーム (ARN) のどちらかを指定できます。この API の詳細については、「[CreateInvocation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_CreateInvocation.html)」を参照してください。

```
def create_invocation(session_identifier):
try:
    invocationId = client.create_invocation(
        sessionIdentifier=session_identifier,
        description="User asking about weather in Seattle",
        invocationId="12345abc-1234-abcd-1234-abcdef123456"
    )["invocationId"]
    print("invocation created")
    return invocationId
except ClientError as e:
    print(f"Error: {e}")
```

## PutInvocationSteps の例
<a name="session-put-invocation-step"></a>

次のコード例は、 AWS SDK for Python (Boto3)を使用して、アクティブなセッションに呼び出しステップを追加する方法を説明しています。このコードは、作業ディレクトリからテキストとイメージを追加します。`sessionIdentifier` では、セッションの sessionId または Amazon リソースネーム (ARN) のどちらかを指定できます。呼び出し識別子には、呼び出しステップを追加する呼び出しの一意の識別子 (UUID 形式) を指定します。この API の詳細については、「[PutInvocationStep](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_PutInvocationStep.html)」を参照してください。

```
def put_invocation_step(invocation_identifier, session_identifier):
with open('weather.png', 'rb') as image_file:
    weather_image = image_file.read()

try:
    client.put_invocation_step(
        sessionIdentifier=session_identifier,
        invocationIdentifier=invocation_identifier,
        invocationStepId="12345abc-1234-abcd-1234-abcdef123456",
        invocationStepTime="2023-08-08T12:00:00Z",
        payload={
            'contentBlocks': [
                {
                    'text': 'What\'s the weather in Seattle?',

                },
                {
                    'image': {
                        'format': 'png',
                        'source': {'bytes': weather_image}
                    }
                }

            ]
        }
    )
    print("invocation step created")
except ClientError as e:
    print(f"Error: {e}")
```