

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Compréhension des documents
<a name="modalities-document"></a>

**Note**  
Cette documentation concerne la version 1 d'Amazon Nova. Pour consulter le guide de compréhension des documents Amazon Nova 2, consultez la section [Présentation des documents](https://docs.aws.amazon.com/nova/latest/nova2-userguide/using-multimodal-models.html#document-understanding).

La capacité de compréhension des documents d'Amazon Nova vous permet d'inclure des documents complets (fichiers WordPDFs, feuilles de calcul, etc.) dans votre invite et de poser des questions ou des demandes concernant leur contenu. Les modèles de compréhension multimodale de Nova (Lite, Pro, Premier) peuvent interpréter à la fois le texte et les éléments visuels (tels que des graphiques ou des tableaux) contenus dans ces documents. Cela permet des cas d'utilisation tels que la réponse à des questions, la synthèse et l'analyse de longs rapports ou de documents numérisés. Les principales fonctionnalités incluent une très grande fenêtre contextuelle (1 à 2 millions de jetons) pour les documents longs et la possibilité de gérer plusieurs documents en une seule requête. 

Amazon Nova fait la distinction entre deux types de saisie de documents :
+ **Types de documents basés sur du texte (par exemple TXT, CSV, Markdown, HTML, DOC) : ils sont traités principalement pour leur contenu textuel**. Nova se concentrera sur la compréhension et l'extraction d'informations à partir du texte de ces documents. 
+ **Types de documents basés sur des supports** (PDF, DOCX, par exemple) : ces fichiers peuvent contenir des mises en page complexes, des images, des graphiques ou des graphiques intégrés. Pour les documents multimédias, Nova traite à la fois les éléments visuels et textuels. Nova utilise une compréhension basée sur la vision pour interpréter le contenu visuel, tel que les graphiques, les tableaux, les diagrammes ou les captures d'écran, parallèlement au texte du document.

  JPEG2000 et JBIG2 ne sont pas pris en charge dans les fichiers PDF d'Amazon Nova.

Les formats de fichier pris en charge incluent les types de documents courants : fichiers texte brut et texte structuré (CSV, TXT), feuilles de calcul (XLS/XLSX), HTML/Markdown, Word documents (DOC/DOCX) et fichiers PDF. Pour les images contenues dans des documents, les formats d'image standard (PNG, JPG, GIF, WebP) sont gérés, mais certains encodages PDFs d'image (CYMK, SVG) ne sont pas pris en charge. 


**Limites de taille des documents et directives d'utilisation**  

| Contrainte | Limite | 
| --- | --- | 
|  Nombre maximum de documents  |  Jusqu'à 5 documents par demande (s'applique à la fois au téléchargement direct et à Amazon S3)  | 
|  Taille de document basée sur le texte  |  Chaque document texte (par exemple, .txt, .csv, .md, .html, .doc) doit peser ≤ 4,5 Mo  | 
|  Taille du document basée sur le support  |  Pour les fichiers .pdf et .docx, il n'y a pas de limite de taille de fichier individuelle, mais : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/nova/latest/userguide/modalities-document.html)  | 
|  Contenu PDF non pris en charge  |  PDFs contenant des profils de couleurs CMJN ou des images SVG ne sont pas pris en charge  | 

# Utilisation de l'API Document Understanding de Nova
<a name="modalities-document-examples"></a>

Pour illustrer comment utiliser Amazon Nova pour l'assurance qualité (question-réponse) ou l'analyse de documents, voici un exemple simplifié en Python. Nous utiliserons l'API AWS Bedrock (via le SDK Boto3) pour envoyer un document PDF accompagné d'une question à laquelle le modèle devra répondre.

```
            
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)
```

Si vos fichiers d'entrée sont volumineux (dépassant la limite de 25 Mo de téléchargement direct) ou si vous avez de nombreux fichiers, vous pouvez les stocker dans Amazon S3 et les référencer. Cela évite d'envoyer les octets bruts par-dessus la demande. Lorsque vous utilisez S3, assurez-vous que le service Bedrock est autorisé à accéder au bucket ou à l'objet. Par exemple, pour référencer un PDF dans S3, la source de votre document utiliserait « S3location » au lieu de « bytes », comme suit :

```
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."
            }
        ]
    }
]
```

**Note**  
Les noms de documents ne peuvent inclure que des caractères alphanumériques, des tirets, des parenthèses et des crochets.  
Le champ `name` est vulnérable aux injections d’invite, car le modèle peut l’interpréter par inadvertance comme des instructions. Nous vous recommandons donc de spécifier un nom neutre.