Interpréter des documents

Gemini peut répondre aux requêtes concernant des documents. Vous pouvez ajouter des documents aux requêtes Gemini pour effectuer des tâches qui impliquent de comprendre le contenu des documents inclus.

La compréhension des documents est l'une des entrées multimodales de Gemini qui combinent du texte avec des fichiers multimédias.

Pour en savoir plus sur la compréhension des documents avec Gemini et obtenir des instructions détaillées sur l'envoi de requêtes d'API, consultez Envoyer une requête multimodale.

Spécifications pour les requêtes avec documents

Vous pouvez ajouter des fichiers de documents à votre requête Gemini. Les limites maximales de documents suivantes s'appliquent aux requêtes Gemini :

  • Nombre maximal de fichiers par requête : 100
  • Nombre maximal de pages par fichier : 100
  • Taille maximale par fichier : 50 Mo

Voici quelques exemples de valeurs maximales que vous pouvez fournir dans une seule requête à l'aide de Gemini (qui peut traiter un total de 100 pages dans une requête) :

  • 100 fichiers monopages
  • dix fichiers de 10 pages
  • un fichier de 100 pages

Les documents doivent correspondre à l'un des types MIME acceptés suivants :

  • CSS : text/css
  • CSV : text/csv
  • HTML : text/html
  • JS : text/javascript ou application/x-javascript
  • MD : text/md
  • PDF : application/pdf
  • PY : text/x-python ou application/x-python
  • RTF : text/rtf
  • TXT : text/plain
  • XML : text/xml

Gemini impose les règles suivantes aux documents :

  • Les PDF sont traités comme des images. Ainsi, une seule page d'un PDF est traitée comme une seule image. Le nombre de pages autorisées dans une requête est limité au nombre d'images que le modèle peut accepter.
  • Chaque page d'un fichier PDF est tokenisée de la même manière qu'une image.
  • Les documents en texte brut sont tokenisés en tant que texte.
  • Si votre requête contient un seul fichier PDF, placez-le avant la requête textuelle.
  • Si votre document est long, envisagez de le diviser en plusieurs fichiers PDF pour le traiter.

Vous pouvez utiliser le point de terminaison Chat Completions dans l'API REST et un client HTTP. Vous pouvez fournir le document sous forme de données intégrées à la requête d'invite en tant que fichier encodé en base64 ou importer le fichier du document dans un bucket de stockage avant d'envoyer la requête d'invite.

Découvrez les bonnes pratiques et les limites concernant les documents dans la documentation Google Cloud .

Pour en savoir plus sur OpenAI et le point de terminaison Chat Completions que Gemini implémente dans Google Distributed Cloud (GDC) air-gapped, consultez https://platform.openai.com/docs/api-reference/chat.

Comprendre des documents à partir d'une requête

Les exemples suivants montrent une requête de l'API Gemini Chat Completions permettant de générer du texte à partir d'une entrée de document à l'aide de curl.

Envoyer des demandes de données intégrées

Fournissez des documents sous forme de données intégrées à la requête d'invite à partir de fichiers encodés en base64. La requête API contient le champ input_document pour les documents encodés en base64. L'exemple suivant montre comment envoyer des requêtes de document encodées en base64 :

curl \
  -X POST "https://ENDPOINT:443/v1/projects/PROJECT/locations/PROJECT/chat/completions" \
  -H "Content-Type: application/json; charset=utf-8" \
  -H "Authorization: Bearer $(gdcloud auth print-identity-token)" \
  -d '{
      "model_id": "MODEL_ID",
      "messages": [
        {
          "role": "user",
          "content": [
            {
              "type": "input_document",
              "input_document": {
                "data": BASE64_DATA,
                # Valid formats are css, csv, html, js, md, pdf, py, rtf, txt, or xml
                "format": "pdf"
              }
            }
          ]
        }
      ],
    }'

Remplacez les éléments suivants :

  • ENDPOINT : point de terminaison de l'API que vous utilisez pour votre organisation.
  • PROJECT : ID de votre projet.
  • MODEL_ID : ID du point de terminaison du modèle avec lequel vous souhaitez générer la réponse.
  • BASE64_DATA : données encodées en base64 du fichier du document. Les données encodées en base64 doivent être précédées d'un schéma d'URI de données, RFC 2397. Par conséquent, le format du champ data pour les données encodées en base64 est, par exemple, "data": f"data:application/pdf;base64,{base64_document}".

Envoyer les URL des documents dans la requête

Importez le fichier du document dans un bucket de stockage avant d'envoyer la requête. La requête API contient le champ document_url pour les fichiers de documents dans les buckets de stockage. L'exemple suivant montre comment envoyer des requêtes d'URL de document :

curl \
  -X POST "https://ENDPOINT:443/v1/projects/PROJECT/locations/PROJECT/chat/completions" \
  -H "Content-Type: application/json; charset=utf-8" \
  -H "Authorization: Bearer $(gdcloud auth print-identity-token)" \
  -d '{
      "model_id": "MODEL_ID",
      "messages": [
        {
          "role": "user",
          "content": [
            {
              "type": "document_url",
              "document_url": {
                "url": "DOC_URL",
              }
            }
          ]
        }
      ],
    }'

Remplacez les éléments suivants :

  • ENDPOINT : point de terminaison de l'API que vous utilisez pour votre organisation.
  • PROJECT : ID de votre projet.
  • MODEL_ID : ID du point de terminaison du modèle avec lequel vous souhaitez générer la réponse.
  • DOC_URL : chemin d'accès à l'URL d'un document dans un bucket de stockage. Les URL des documents doivent faire référence à des fichiers de documents stockés dans un bucket de stockage GDC. Pour en savoir plus, consultez Stocker des données.

Étapes suivantes