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.
Amazon Titan bettet Text ein
Titan Embeddings G1 - Text unterstützt die Verwendung von Inferenzparametern nicht. In den folgenden Abschnitten werden die Anfrage- und Antwortformate detailliert beschrieben und ein Codebeispiel bereitgestellt.
Anfrage und Antwort
Der Text der Anfrage wird im body
Feld einer InvokeModelAnfrage übergeben.
- V2 Request
-
Der inputText Parameter ist erforderlich. Die Parameter Normalisieren und Bemaßungen sind optional.
-
inputText — Geben Sie Text ein, der in Einbettungen umgewandelt werden soll.
-
normalize — (optional) Markierung, die angibt, ob die Ausgabeeinbettungen normalisiert werden sollen oder nicht. Standardwert ist „true“.
-
dimensions — (optional) Die Anzahl der Dimensionen, die die Ausgabe-Einbettungen haben sollten. Die folgenden Werte werden akzeptiert: 1024 (Standard), 512, 256.
-
embeddingTypes — (optional) Akzeptiert eine Liste, die „float“, „binary“ oder beides enthält. Standardeinstellung:
float
.
{ "inputText": string, "dimensions": int, "normalize": boolean, "embeddingTypes": list }
-
- V2 Response
-
Die -Felder werden im Folgenden beschrieben.
-
embedding — Ein Array, das den Einbettungsvektor der von Ihnen angegebenen Eingabe darstellt. Dies wird immer vom Typ sein.
float
-
inputTextTokenAnzahl — Die Anzahl der Token in der Eingabe.
-
embeddingsByType — Ein Wörterbuch oder eine Karte der Einbettungsliste. Hängt von der Eingabe ab, listet „float“, „binary“ oder beides auf.
-
Beispiel:
"embeddingsByType": {"binary": [int,..], "float": [float,...]}
-
Dieses Feld wird immer angezeigt. Auch wenn Sie es
embeddingTypes
in Ihrer Eingabe nicht angeben, wird immer noch „float“ angezeigt. Beispiel:"embeddingsByType": {"float": [float,...]}
-
{ "embedding": [float, float, ...], "inputTextTokenCount": int, "embeddingsByType": {"binary": [int,..], "float": [float,...]} }
-
- G1 Request
-
Das einzige verfügbare Feld ist
inputText
, in das Sie Text einfügen können, der in Einbettungen umgewandelt werden soll.{ "inputText": string }
- G1 Response
-
Die
body
Antwort enthält die folgenden Felder.{ "embedding": [float, float, ...], "inputTextTokenCount": int }
Die -Felder werden im Folgenden beschrieben.
-
Einbettung — Ein Array, das den Einbettungsvektor der von Ihnen angegebenen Eingabe darstellt.
-
inputTextTokenAnzahl — Die Anzahl der Token in der Eingabe.
-
Beispiel-Code
Die folgenden Beispiele zeigen, wie die Amazon Titan Embedding-Modelle aufgerufen werden, um eine Einbettung zu generieren. Wählen Sie die Registerkarte aus, die dem Modell entspricht, das Sie verwenden:
- Amazon Titan Embeddings G1 - Text
-
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 """ Shows how to generate embeddings with the Amazon Titan Embeddings G1 - Text model (on demand). """ import json import logging import boto3 from botocore.exceptions import ClientError logger = logging.getLogger(__name__) logging.basicConfig(level=logging.INFO) def generate_embeddings(model_id, body): """ Generate a vector of embeddings for a text input using Amazon Titan Embeddings G1 - Text on demand. Args: model_id (str): The model ID to use. body (str) : The request body to use. Returns: response (JSON): The embedding created by the model and the number of input tokens. """ logger.info("Generating embeddings with Amazon Titan Embeddings G1 - Text model %s", model_id) bedrock = boto3.client(service_name='bedrock-runtime') accept = "application/json" content_type = "application/json" response = bedrock.invoke_model( body=body, modelId=model_id, accept=accept, contentType=content_type ) response_body = json.loads(response.get('body').read()) return response_body def main(): """ Entrypoint for Amazon Titan Embeddings G1 - Text example. """ logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s") model_id = "amazon.titan-embed-text-v1" input_text = "What are the different services that you offer?" # Create request body. body = json.dumps({ "inputText": input_text, }) try: response = generate_embeddings(model_id, body) print(f"Generated embeddings: {response['embedding']}") print(f"Input Token count: {response['inputTextTokenCount']}") except ClientError as err: message = err.response["Error"]["Message"] logger.error("A client error occurred: %s", message) print("A client error occured: " + format(message)) else: print(f"Finished generating embeddings with Amazon Titan Embeddings G1 - Text model {model_id}.") if __name__ == "__main__": main()
- Amazon Titan Text Embeddings V2
-
Bei der Verwendung Titan Text Embeddings V2, das
embedding
Feld ist nicht in der Antwort enthalten, wenn esembeddingTypes
nur enthältbinary
.# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 """ Shows how to generate embeddings with the Amazon Titan Text Embeddings V2 Model """ import json import logging import boto3 from botocore.exceptions import ClientError logger = logging.getLogger(__name__) logging.basicConfig(level=logging.INFO) def generate_embeddings(model_id, body): """ Generate a vector of embeddings for a text input using Amazon Titan Text Embeddings G1 on demand. Args: model_id (str): The model ID to use. body (str) : The request body to use. Returns: response (JSON): The embedding created by the model and the number of input tokens. """ logger.info("Generating embeddings with Amazon Titan Text Embeddings V2 model %s", model_id) bedrock = boto3.client(service_name='bedrock-runtime') accept = "application/json" content_type = "application/json" response = bedrock.invoke_model( body=body, modelId=model_id, accept=accept, contentType=content_type ) response_body = json.loads(response.get('body').read()) return response_body def main(): """ Entrypoint for Amazon Titan Embeddings V2 - Text example. """ logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s") model_id = "amazon.titan-embed-text-v2:0" input_text = "What are the different services that you offer?" # Create request body. body = json.dumps({ "inputText": input_text, "embeddingTypes": ["binary"] }) try: response = generate_embeddings(model_id, body) print(f"Generated embeddings: {response['embeddingByTypes']['binary']}") # returns binary embedding # print(f"Generated embeddings: {response['embedding']}") NOTE:"embedding" field is not in "response". print(f"Input Token count: {response['inputTextTokenCount']}") except ClientError as err: message = err.response["Error"]["Message"] logger.error("A client error occurred: %s", message) print("A client error occured: " + format(message)) else: print(f"Finished generating embeddings with Amazon Titan Text Embeddings V2 model {model_id}.") if __name__ == "__main__": main()