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 Embeddings G1 - Text
Titan Embeddings G1 - Textunterstützt die Verwendung von Inferenzparametern nicht. In den folgenden Abschnitten werden die Anforderungs- und Antwortformate detailliert beschrieben und ein Codebeispiel bereitgestellt.
Anfrage und Antwort
Der Anfragetext wird im body
Feld einer InvokeModelAnfrage übergeben.
- V2 Request
-
Der InputText-Parameter ist erforderlich. Die Parameter normalize und dimensions sind optional.
-
InputText — Geben Sie Text ein, der in eine Einbettung konvertiert werden soll.
-
normalize — (optional) Markierung, die angibt, ob die Ausgabeeinbettung normalisiert werden soll oder nicht. Standardwert ist „true“.
-
dimensions — (optional) Die Anzahl der Dimensionen, die die Ausgabeeinbettung haben sollte. 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 eine Einbettung 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 Embeddings-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 an embedding 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_embedding(model_id, body): """ Generate an embedding with the vector representation of 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 an embedding 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_embedding(model_id, body) print(f"Generated an embedding: {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 an embedding with Amazon Titan Embeddings G1 - Text model {model_id}.") if __name__ == "__main__": main()
- Amazon Titan-Texteinbettungen V2
-
Bei Verwendung ist Titan Text Embeddings V2 das
embedding
Feld nicht in der Antwort enthalten, wenn esembeddingTypes
nur enthält.binary
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 """ Shows how to generate an embedding 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_embedding(model_id, body): """ Generate an embedding with the vector representation of 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 an embedding 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_embedding(model_id, body) print(f"Generated an embedding: {response['embeddingsByType']['binary']}") # returns binary embedding print(f"Input text: {input_text}") 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 an embedding with Amazon Titan Text Embeddings V2 model {model_id}.") if __name__ == "__main__": main()