

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Steuern des Kontexts von Agentensitzungen
<a name="agents-session-state"></a>

Zur besseren Steuerung von Sitzungskontext können Sie das [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_SessionState.html#bedrock-Type-agent-runtime_SessionState](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_SessionState.html#bedrock-Type-agent-runtime_SessionState)-Objekt in Ihrem Agenten ändern. Das [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_SessionState.html#bedrock-Type-agent-runtime_SessionState](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_SessionState.html#bedrock-Type-agent-runtime_SessionState)-Objekt enthält Informationen, die abwechselnd verwaltet werden können (separate [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html)-Anfrage und -Antworten). Anhand dieser Informationen können Sie dem Agenten während Benutzerkonversationen einen Konversationskontext zur Verfügung zu stellen.

Das allgemeine Format des [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_SessionState.html#bedrock-Type-agent-runtime_SessionState](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_SessionState.html#bedrock-Type-agent-runtime_SessionState)-Objekts sieht folgendermaßen aus.

```
{
    "sessionAttributes": {
        "<attributeName1>": "<attributeValue1>",
        "<attributeName2>": "<attributeValue2>",
        ...
    },
     "conversationHistory": {
          "messages": [{
              "role": "user | assistant",
              "content": [{
                  "text": "string"
              }]
          }],
               },
    "promptSessionAttributes": {
        "<attributeName3>": "<attributeValue3>",
        "<attributeName4>": "<attributeValue4>",
        ...
    },
    "invocationId": "string",
    "returnControlInvocationResults": [
        [ApiResult](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_ApiResult.html) or [FunctionResult](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_FunctionResult.html),
        ...
    ],
    "knowledgeBases": [
       {
        "knowledgeBaseId": "string",
        "retrievalConfiguration": {
            "vectorSearchConfiguration": {
                "overrideSearchType": "HYBRID | SEMANTIC",
                "numberOfResults": int,
                "filter": [RetrievalFilter](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html) object
            }
        }
       },
       ...
    ]
}
```

Wählen Sie ein Thema aus, um mehr über Felder im [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_SessionState.html#bedrock-Type-agent-runtime_SessionState](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_SessionState.html#bedrock-Type-agent-runtime_SessionState)-Objekt zu erfahren.

**Topics**
+ [Sitzungs- und Prompt-Sitzungsattribute](#session-state-attributes)
+ [Beispiel für ein Sitzungsattribut](#session-attribute-ex)
+ [Beispiel für ein Prompt-Sitzungsattribut](#prompt-session-attribute-ex)
+ [Ergebnisse des Aufrufs von Aktionsgruppen](#session-state-return-control)
+ [Konfigurationen für den Abruf aus der Wissensdatenbank](#session-state-kb)

## Sitzungs- und Prompt-Sitzungsattribute
<a name="session-state-attributes"></a>

Mit Agenten für Amazon Bedrock können Sie die folgenden Typen von kontextuellen Attributen definieren, die über Teile einer Sitzung hinweg bestehen bleiben:
+ **sessionAttributes** – Attribute, die während einer [Sitzung](advanced-prompts.md#advanced-prompts-terminology) zwischen einem Benutzer und einem Agenten bestehen bleiben. Alle [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html)-Anfragen, die mit derselben `sessionId` gesendet werden, gehören zur selben Sitzung, sofern das Sitzungszeitlimit (`idleSessionTTLinSeconds`) nicht überschritten wurde.
+ **conversationHistory** – Akzeptiert für die Zusammenarbeit mehrerer Agenten zusätzlichen Kontext für die Verarbeitung von Laufzeitanforderungen, sofern `conversationalHistorySharing` für einen Partner-Agenten aktiviert ist. Standardmäßig wird dieses Feld automatisch vom Supervisor-Agenten erstellt, wenn der Partner-Agent aufgerufen wird. Sie können dieses Feld optional verwenden, um zusätzlichen Kontext bereitzustellen. Weitere Informationen finden Sie unter [Verwenden der Zusammenarbeit mehrerer Agenten mit Agenten für Amazon Bedrock](agents-multi-agent-collaboration.md).
+ **promptSessionAttributes** – Attribute, die während einer einzigen [Runde](advanced-prompts.md#advanced-prompts-terminology) (ein [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html)-Aufruf) bestehen bleiben. Sie können den [Platzhalter](prompt-placeholders.md) „\$1prompt\$1session\$1attributes\$1“ verwenden, wenn Sie die Basis-Prompt-Vorlage für Orchestrierung bearbeiten. Dieser Platzhalter wird zur Laufzeit mit den Attributen gefüllt, die Sie im Feld `promptSessionAttributes` angeben.

Sie können die Sitzungsstatusattribute in zwei verschiedenen Schritten definieren:
+ Wenn Sie eine Aktionsgruppe einrichten und [die Lambda-Funktion schreiben](agents-lambda.md), schließen Sie `sessionAttributes` oder `promptSessionAttributes` in das [Antwortereignis](agents-lambda.md#agents-lambda-response) ein, das an Amazon Bedrock zurückgegeben wird.
+ Fügen Sie während der Laufzeit, wenn Sie eine [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html)-Anfrage senden, ein `sessionState`-Objekt in den Anforderungstext ein, um die Sitzungsstatusattribute während der Konversation dynamisch zu ändern.

## Beispiel für ein Sitzungsattribut
<a name="session-attribute-ex"></a>

Im folgenden Beispiel wird ein Sitzungsattribut verwendet, um eine Nachricht an Ihren Benutzer zu personalisieren.

1. Schreiben Sie Ihren Anwendungscode so, dass der Benutzer aufgefordert wird, seinen Vornamen und die Anforderung, die er an den Agenten richten möchte, anzugeben, und speichern Sie die Antworten als die Variablen *<first\$1name>* und *<request>*.

1. Schreiben Sie Ihren Anwendungscode, um eine [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html)-Anfrage mit dem folgenden Text zu senden:

   ```
   {
       "inputText": "<request>",
       "sessionState": {
           "sessionAttributes": {
               "firstName": "<first_name>"
           }
       }
   }
   ```

1. Wenn ein Benutzer Ihre Anwendung verwendet und seinen Vornamen angibt, sendet Ihr Code den Vornamen als Sitzungsattribut und der Agent speichert seinen Vornamen für die Dauer der [Sitzung](advanced-prompts.md#advanced-prompts-terminology).

1. Da Sitzungsattribute im [Lambda-Eingabeereignis](agents-lambda.md#agents-lambda-input) gesendet werden, können Sie in einer Lambda-Funktion für eine Aktionsgruppe auf diese Sitzungsattribute verweisen. Wenn das [API-Schema](agents-api-schema.md) der Aktion beispielsweise einen Vornamen im Anforderungstext erfordert, können Sie beim Schreiben der Lambda-Funktion für eine Aktionsgruppe das Sitzungsattribut `firstName` verwenden, um dieses Feld beim Senden der API-Anfrage automatisch auszufüllen.

## Beispiel für ein Prompt-Sitzungsattribut
<a name="prompt-session-attribute-ex"></a>

Im folgenden allgemeinen Beispiel wird ein Prompt-Sitzungsattribut verwendet, um dem Agenten einen zeitlichen Kontext zur Verfügung zu stellen.

1. Schreiben Sie Ihren Anwendungscode, um die Benutzeranforderung in einer Variablen namens *<request>* zu speichern.

1. Schreiben Sie Ihren Anwendungscode, um die Zeitzone am Standort des Benutzers abzurufen, wenn der Benutzer ein Wort verwendet, das auf eine relative Zeit (z. B. „morgen“) in der *<request>* hinweist, und speichern Sie ihn in einer Variablen namens *<timezone>*.

1. Schreiben Sie Ihren Anwendungscode, um eine [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html)-Anfrage mit dem folgenden Text zu senden:

   ```
   {
       "inputText": "<request>",
       "sessionState": {
           "promptSessionAttributes": {
               "timeZone": "<timezone>"
           }
       }
   }
   ```

1. Wenn ein Benutzer ein Wort verwendet, das die relative Zeit angibt, sendet Ihr Code das Prompt-Sitzungsattribut `timeZone` und der Agent speichert es für die Dauer der [Runde](advanced-prompts.md#advanced-prompts-terminology).

1. Wenn ein Benutzer beispielsweise die Frage **I need to book a hotel for tomorrow** stellt, sendet Ihr Code die Zeitzone des Benutzers an den Agenten, und der Agent kann das genaue Datum bestimmen, auf das sich „morgen“ bezieht.

1. Das Prompt-Sitzungsattribut kann in den folgenden Schritten verwendet werden.
   + Wenn Sie den [Platzhalter](prompt-placeholders.md) „\$1prompt\$1session\$1attributes\$1“ in die Vorlage für die Prompt-Vorlage für Orchestrierung aufnehmen, enthält die Orchestrierungsaufforderung für das FM die Prompt-Sitzungsattribute.
   + Prompt-Sitzungsattribute werden im [Lambda-Eingabeereignis](agents-lambda.md#agents-lambda-input) gesendet und können zum Füllen von API-Anfragen verwendet oder in der [Antwort](agents-lambda.md#agents-lambda-response) zurückgegeben werden.

## Ergebnisse des Aufrufs von Aktionsgruppen
<a name="session-state-return-control"></a>

Wenn Sie eine Aktionsgruppe so konfiguriert haben, dass sie die [Steuerung in einer [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html)-Antwort zurückgibt](agents-returncontrol.md), können Sie die Ergebnisse des Aufrufs der Aktionsgruppe im `sessionState` einer nachfolgenden [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html)-Antwort senden, indem Sie die folgenden Felder angeben:
+ `invocationId` – Diese ID muss mit der im [ReturnControlPayload](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_ReturnControlPayload.html)-Objekt zurückgegebenen `invocationId` im `returnControl`-Feld der [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html)-Antwort übereinstimmen.
+ `returnControlInvocationResults` – Schließt Ergebnisse ein, die Sie beim Aufrufen der Aktion erhalten. Sie können Ihre Anwendung so einrichten, dass das [ReturnControlPayload](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_ReturnControlPayload.html)-Objekt übergeben wird, um eine API-Anfrage auszuführen oder eine von Ihnen definierte Funktion aufzurufen. Sie können die Ergebnisse dieser Aktion anschließend hier bereitstellen. Jedes Mitglied der `returnControlInvocationResults`-Liste ist eines der folgenden:
  + Ein [ApiResult](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_ApiResult.html)-Objekt, das die API-Operation enthält, von der der Agent vorhergesagt hat, dass sie in einer vorherigen [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html)-Sequenz aufgerufen werden sollte, sowie die Ergebnisse des Aufrufs der Aktion in Ihren Systemen. Das allgemeine Format lautet wie folgt:

    ```
    {
        "actionGroup": "string",
        "agentId" : :string",
        "apiPath": "string",
        "confirmationState" : "CONFIRM | DENY",
        "httpMethod": "string",
        "httpStatusCode": integer,
        "responseBody": {
            "TEXT": {
                "body": "string"
            }
        }
    }
    ```
  + Ein [FunctionResult](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_FunctionResult.html)-Objekt, das die Funktion enthält, von der der Agent vorhergesagt hat, dass sie in einer vorherigen [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html)-Sequenz aufgerufen werden sollte, sowie die Ergebnisse des Aufrufs der Aktion in Ihren Systemen. Das allgemeine Format lautet wie folgt:

    ```
    {
        "actionGroup": "string",
        "agentId" : :string",
        "confirmationState" : "CONFIRM | DENY",
        "function": "string",
        "responseBody": {
            "TEXT": {
                "body": "string"
            }
        }
    }
    ```

Die bereitgestellten Ergebnisse können als Kontext für die weitere Orchestrierung verwendet, zur Nachbearbeitung gesendet werden, damit der Agent eine Antwort formatieren kann, oder direkt in der Antwort des Agenten an den Benutzer verwendet werden.

## Konfigurationen für den Abruf aus der Wissensdatenbank
<a name="session-state-kb"></a>

Um die Abrufkonfiguration von Wissensdatenbanken zu ändern, die mit Ihrem Agenten verknüpft sind, fügen Sie das Feld `knowledgeBaseConfigurations` mit einer Liste von Konfigurationen für jede Wissensdatenbank hinzu, deren Konfigurationen Sie angeben möchten. Geben Sie die `knowledgeBaseId` an. Im Feld `vectorSearchConfiguration` können Sie die folgenden Abfragekonfigurationen angeben (weitere Informationen zu diesen Konfigurationen finden Sie unter [So konfigurieren Sie Abfragen und die Antwortgenerierung und passen diese an](kb-test-config.md)):
+ **Suchtyp** – Gibt an, ob die Wissensdatenbank nur nach Vektoreinbettungen (`SEMANTIC`) oder sowohl nach Vektoreinbettungen als auch nach Rohtext (`HYBRID`) sucht. Verwenden Sie das Feld `overrideSearchType`.
+ **Maximale Anzahl von abgerufenen Ergebnissen** – Die maximale Anzahl von Ergebnissen aus dem Abfrageabruf, die in der Antwort verwendet werden sollen.
+ **Metadaten und Filterung** – Filter, die Sie konfigurieren können, um die Ergebnisse auf der Grundlage von Metadatenattributen in den Datenquellendateien zu filtern.