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.
Verwenden von Novas Document Understanding über die API
Um zu veranschaulichen, wie Amazon Nova für die Qualitätssicherung (Question-Answering) oder Analyse von Dokumenten verwendet werden kann, finden Sie hier ein vereinfachtes Beispiel in Python. Wir verwenden die AWS Bedrock-API (über das Boto3-SDK), um ein PDF-Dokument zusammen mit einer Frage zu senden, die das Modell beantworten muss.
import base64 import base64 import json import boto3 # Initialize Bedrock runtime client (adjust region as needed) client = boto3.client("bedrock-runtime", region_name="us-east-1") MODEL_ID = "us.amazon.nova-lite-v1:5" # using Nova Lite model in this example # Read the document file (PDF) in binary mode with open("my_document.pdf", "rb") as file: doc_bytes = file.read() # Construct the conversation messages with document + question messages = [ { "role": "user", "content": [ { "document": { "format": "pdf", "name": "Document1", # neutral name for the document "source": { "bytes": doc_bytes # embedding the PDF content directly } } }, { "text": "Here is a question about the document: ... (your question) ... ?" } ] } ] # Set inference parameters (optional) inf_params = {"maxTokens": 4000, "topP": 0.1, "temperature": 0.3} # Invoke the model response = client.converse(modelId=MODEL_ID, messages=messages, inferenceConfig=inf_params) # Extract and print the answer answer_text = response["output"]["message"]["content"][0]["text"] print(answer_text)
Wenn Ihre Eingabedateien groß sind (das Limit für direkte Uploads von 25 MB überschreiten) oder Sie viele Dateien haben, können Sie sie in Amazon S3 speichern und referenzieren. Dadurch wird vermieden, dass die Roh-Bytes über die Anfrage gesendet werden. Stellen Sie bei Verwendung von S3 sicher, dass der Bedrock-Dienst über die Berechtigung verfügt, auf den Bucket/das Objekt zuzugreifen. Um beispielsweise in S3 auf ein PDF zu verweisen, würde Ihre Dokumentquelle „s3Location“ anstelle von „Bytes“ verwenden, etwa so:
messages = [ { "role": "user", "content": [ { "document": { "format": "pdf", "name": "Report2023", "source": { "s3Location": { "uri": "s3://your-bucket/path/to/document1.pdf", "bucketOwner": "123456789012" } } } }, { "text": "Summarize the key findings from the Q3 2023 report." } ] } ]
Anmerkung
Dokumentnamen dürfen nur alphanumerische Zeichen, Bindestriche, Klammern und eckige Klammern enthalten.
Das Feld name ist anfällig für Promptinjektionen, weil das Modell es versehentlich als Anweisungen interpretieren könnte. Daher wird empfohlen, dass Sie einen neutralen Namen angeben.