Partager via


Modèles de vision des requêtes

Dans cet article, vous allez apprendre à écrire des demandes de requête pour les modèles de base optimisés pour les tâches de vision et à les envoyer à votre point de terminaison de service de modèle.

Mosaïque AI Model Service fournit une API unifiée pour comprendre et analyser des images à l’aide de différents modèles de base, déverrouillant de puissantes fonctionnalités modales. Cette fonctionnalité est disponible par le biais de modèles hébergés par Databricks dans le cadre des API Foundation Model et du service de points de terminaison qui servent des modèles externes.

Spécifications

Exemples de requêtes

Client OpenAI

Pour utiliser le client OpenAI, spécifiez le nom du point de terminaison de service du modèle en tant qu'entrée model.


from openai import OpenAI
import base64
import httpx

client = OpenAI(
    api_key="dapi-your-databricks-token",
    base_url="https://example.staging.cloud.databricks.com/serving-endpoints"
)

# encode image
image_url = "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
image_data = base64.standard_b64encode(httpx.get(image_url).content).decode("utf-8")

# OpenAI request
completion = client.chat.completions.create(
    model="databricks-claude-sonnet-4-5",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "what's in this image?"},
                {
                    "type": "image_url",
                    "image_url": {"url": f"data:image/jpeg;base64,{image_data}"},
                },
            ],
        }
    ],
)

print(completion.choices[0].message.content)

L’API Chat Completions prend en charge plusieurs entrées d’image, ce qui permet au modèle d’analyser chaque image et de synthétiser les informations de toutes les entrées pour générer une réponse à l’invite.


from openai import OpenAI
import base64
import httpx

client = OpenAI(
    api_key="dapi-your-databricks-token",
    base_url="https://example.staging.cloud.databricks.com/serving-endpoints"
)

# Encode multiple images

image1_url = "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg"
image1_data = base64.standard_b64encode(httpx.get(image1_url).content).decode("utf-8")

image2_url = "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg"
image2_data = base64.standard_b64encode(httpx.get(image1_url).content).decode("utf-8")

# OpenAI request

completion = client.chat.completions.create(
    model="databricks-claude-sonnet-4-5",
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "What are in these images? Is there any difference between them?"},
            {
            "type": "image_url",
            "image_url": {"url": f"data:image/jpeg;base64,{image1_data}"},
            },
            {
            "type": "image_url",
            "image_url": {"url": f"data:image/jpeg;base64,{image2_data}"},
            },
          ],
      }
  ],
)

print(completion.choices[0].message.content)

SQL

Important

L’exemple suivant utilise la fonction SQL intégrée, ai_query. Cette fonction est disponible en préversion publique et la définition peut changer.

Les requêtes suivantes interrogent un modèle fondation pris en charge par les API Databricks Foundation Model pour l'entrée multimodale à l'aide de la fonction IA ai_query().


> SELECT *, ai_query(
  'databricks-llama-4-maverick',
 'what is this image about?', files => content)
as output FROM READ_FILES("/Volumes/main/multimodal/unstructured/image.jpeg");

Modèles pris en charge

Consultez les types de modèles Foundation pour connaître les modèles de vision pris en charge.

Configuration requise pour l’image d’entrée

Modèle(s) Formats pris en charge Plusieurs images par requête Limitations de taille d’image Recommandations de redimensionnement d’image Considérations relatives à la qualité de l’image
databricks-gpt-5
  • JPEG
  • PNG
  • WebP
  • GIF (Non animé GIF)
Jusqu’à 500 entrées d’image individuelles par requête Limite de taille de fichier : jusqu’à 10 Mo de taille de charge utile totale par requête N/A
  • Aucun filigrane ni logo
  • Suffisamment clair pour qu’un humain comprenne
databricks-gpt-5-mini
  • JPEG
  • PNG
  • WebP
  • GIF (Non animé GIF)
Jusqu’à 500 entrées d’image individuelles par requête Limite de taille de fichier : jusqu’à 10 Mo de taille de charge utile totale par requête N/A
  • Aucun filigrane ni logo
  • Suffisamment clair pour qu’un humain comprenne
databricks-gpt-5-nano
  • JPEG
  • PNG
  • WebP
  • GIF (Non animé GIF)
Jusqu’à 500 entrées d’image individuelles par requête Limite de taille de fichier : jusqu’à 10 Mo de taille de charge utile totale par requête N/A
  • Aucun filigrane ni logo
  • Suffisamment clair pour qu’un humain comprenne
databricks-gemma-3-12b
  • JPEG
  • PNG
  • WebP
  • GIF
Jusqu’à 5 images pour les demandes d’API
  • Toutes les images fournies sont traitées dans une demande.
Limite de taille de fichier : total de 10 Mo sur toutes les images par requête d’API N/A N/A
databricks-llama-4-maverick
  • JPEG
  • PNG
  • WebP
  • GIF
Jusqu’à 5 images pour les demandes d’API
  • Toutes les images fournies sont traitées dans une demande.
Limite de taille de fichier : total de 10 Mo sur toutes les images par requête d’API N/A N/A
  • databricks-claude-sonnet-4-5
  • databricks-claude-haiku-4-5
  • databricks-claude-opus-4-5
  • databricks-claude-opus-4-1
  • databricks-claude-sonnet-4
  • databricks-claude-sonnet-4-5
  • JPEG
  • PNG
  • GIF
  • WebP
  • Jusqu’à 20 images pour Claude.ai
  • Jusqu’à 100 images pour les demandes d’API
  • Toutes les images fournies sont traitées dans une demande, ce qui est utile pour les comparer ou les opposer.
  • Les images supérieures à 8000x8000 px sont rejetées.
  • Si plus de 20 images sont envoyées dans une demande d’API, la taille maximale autorisée par image est de 2 000 x 2000 px.
Pour des performances optimales, redimensionnez les images avant de les charger si elles sont trop volumineuses.
  • Si le bord long d’une image dépasse 1568 pixels ou sa taille dépasse ~1 600 jetons, il est automatiquement réduit tout en préservant les proportions.
  • Les images très petites (moins de 200 pixels sur n’importe quel bord) peuvent dégrader les performances.
  • Pour réduire la latence, conservez les images dans 1,15 mégapixels et au maximum 1568 pixels en longueur et largeur.
  • Clarté : évitez les images floues ou pixelisées.
  • Texte dans les images :
    • Vérifiez que le texte est lisible et pas trop smal.
    • Évitez de rogner le contexte visuel clé simplement pour agrandir le texte.

Conversion d’image en jeton

Cette section s’applique uniquement aux API Foundation Model. Pour les modèles externes, reportez-vous à la documentation du fournisseur.

Chaque image dans une requête adressée à un modèle fondamental augmente votre utilisation de jetons. Consultez la calculatrice de prix pour estimer la tarification des images en fonction de l’utilisation du jeton et du modèle que vous utilisez.

Limitations de la compréhension des images

Cette section s’applique uniquement aux API Foundation Model. Pour les modèles externes, reportez-vous à la documentation du fournisseur.

Voici les limitations de la compréhension d'images pour les modèles fondamentaux hébergés par Databricks et pris en charge :

Model Limites
Les modèles Claude suivants sont pris en charge :
  • databricks-claude-sonnet-4-5
  • databricks-claude-opus-4-1
  • databricks-claude-sonnet-4
  • databricks-claude-sonnet-4-5
Voici les limites des modèles Claude sur Databricks :
  • Évitez d’utiliser Claude pour les tâches nécessitant une précision parfaite ou une analyse sensible sans surveillance humaine.
  • Identification des personnes : Impossible d’identifier ou de nommer des personnes dans des images.
  • Précision : peut mal interpréter des images de faible qualité, des images pivotées ou des images très petites (200 px).
  • Raisonnement spatial : éprouve des difficultés avec des dispositions précises, telles que la lecture d’horloges analogiques ou de positions d’échecs.
  • Comptage : fournit des nombres approximatifs, mais peut être incorrect pour de nombreux petits objets.
  • Images générées par l’IA : impossible de détecter de manière fiable des images synthétiques ou fausses.
  • Contenu inapproprié : bloque les images explicites ou en violation de stratégie.
  • Soins de santé : non adapté aux analyses médicales complexes (par exemple, les TC et les IRM). Ce n’est pas un outil de diagnostic.

Ressources supplémentaires