Delen via


Query Vision-modellen

In dit artikel leert u hoe u queryverzoeken schrijft voor basismodellen die geoptimaliseerd zijn voor visuele taken en hoe u deze naar uw modelbedienings-eindpunt verzendt.

Mozaïek AI Model Serving biedt een geïntegreerde API voor het begrijpen en analyseren van afbeeldingen met behulp van verschillende basismodellen, waardoor krachtige multimodale mogelijkheden worden ontgrendeld. Deze functionaliteit is beschikbaar via geselecteerde Door Databricks gehoste modellen als onderdeel van Foundation Model-API's en het leveren van eindpunten die externe modellen dienen.

Behoeften

Queryvoorbeelden

OpenAI-client

Als u de OpenAI-client wilt gebruiken, geeft u de eindpuntnaam van het model op als invoer 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)

De API voor chatvoltooiing ondersteunt meerdere afbeeldingsinvoer, zodat het model elke afbeelding kan analyseren en informatie van alle invoer kan synthetiseren om een antwoord op de prompt te genereren.


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

Belangrijk

In het volgende voorbeeld wordt de ingebouwde SQL-functie ai_query gebruikt. Deze functie bevindt zich in openbare preview en de definitie kan veranderen.

De volgende query's uitvoeren op een basismodel dat wordt ondersteund door Databricks Foundation Model-API's voor multimodale invoer met behulp van de AI-functie 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");

Ondersteunde modellen

Zie Foundation-modeltypen voor ondersteunde vision-modellen.

Vereisten voor invoerafbeeldingen

Model(en) Ondersteunde indelingen Meerdere afbeeldingen per aanvraag Beperkingen voor afbeeldingsgrootte Aanbevelingen voor het wijzigen van het formaat van afbeeldingen Overwegingen voor afbeeldingskwaliteit
databricks-gpt-5
  • JPEG
  • PNG
  • WebP
  • GIF (Niet-geanimeerd GIF)
Maximaal 500 afzonderlijke afbeeldingsinvoer per aanvraag Maximale bestandsgrootte: maximaal 10 MB totale nettoladinggrootte per aanvraag N/A
  • Geen watermerken of logo's
  • Duidelijk genoeg voor een mens om te begrijpen
databricks-gpt-5-mini
  • JPEG
  • PNG
  • WebP
  • GIF (Niet-geanimeerd GIF)
Maximaal 500 afzonderlijke afbeeldingsinvoer per aanvraag Maximale bestandsgrootte: maximaal 10 MB totale nettoladinggrootte per aanvraag N/A
  • Geen watermerken of logo's
  • Duidelijk genoeg voor een mens om te begrijpen
databricks-gpt-5-nano
  • JPEG
  • PNG
  • WebP
  • GIF (Niet-geanimeerd GIF)
Maximaal 500 afzonderlijke afbeeldingsinvoer per aanvraag Maximale bestandsgrootte: maximaal 10 MB totale nettoladinggrootte per aanvraag N/A
  • Geen watermerken of logo's
  • Duidelijk genoeg voor een mens om te begrijpen
databricks-gemma-3-12b
  • JPEG
  • PNG
  • WebP
  • GIF
Maximaal 5 afbeeldingen voor API-aanvragen
  • Alle opgegeven afbeeldingen worden verwerkt in een aanvraag.
Maximale bestandsgrootte: totaal 10 MB voor alle installatiekopieën per API-aanvraag N/A N/A
databricks-llama-4-maverick
  • JPEG
  • PNG
  • WebP
  • GIF
Maximaal 5 afbeeldingen voor API-aanvragen
  • Alle opgegeven afbeeldingen worden verwerkt in een aanvraag.
Maximale bestandsgrootte: totaal 10 MB voor alle installatiekopieën per API-aanvraag 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
  • Maximaal 20 afbeeldingen voor Claude.ai
  • Maximaal 100 afbeeldingen voor API-aanvragen
  • Alle opgegeven afbeeldingen worden verwerkt in een aanvraag, wat handig is om ze te vergelijken of te contrasteren.
  • Afbeeldingen die groter zijn dan 8000x8000 px , worden geweigerd.
  • Als er meer dan 20 afbeeldingen worden verzonden in één API-aanvraag, is de maximaal toegestane grootte per afbeelding2000 x 2000 px.
Voor optimale prestaties kunt u het formaat van afbeeldingen wijzigen voordat u ze uploadt als ze te groot zijn.
  • Als de lange rand van een afbeelding groter is dan 1568 pixels of de grootte groter is dan ~1600 tokens, wordt deze automatisch omlaag geschaald terwijl de hoogte-breedteverhouding behouden blijft.
  • Zeer kleine afbeeldingen (minder dan 200 pixels aan elke rand) kunnen de prestaties verminderen.
  • Om de latentie te verminderen, houdt u afbeeldingen binnen 1,15 megapixels en maximaal 1568 pixels in beide afmetingen.
  • Duidelijkheid: Vermijd wazige of ge pixeleerde afbeeldingen.
  • Tekst in afbeeldingen:
    • Zorg ervoor dat tekst leesbaar is en niet te smal is.
    • Vermijd het uitsnijden van de belangrijkste visuele context om de tekst te vergroten.

Conversie van afbeelding naar token

Deze sectie is alleen van toepassing op Foundation Model-API's. Raadpleeg de documentatie van de provider voor externe modellen.

Elke afbeelding in een aanvraag voor een basismodel voegt toe aan uw tokengebruik. Zie de prijscalculator om de prijzen van afbeeldingen te schatten op basis van het tokengebruik en model dat u gebruikt.

Beperkingen van begrip van afbeeldingen

Deze sectie is alleen van toepassing op Foundation Model-API's. Raadpleeg de documentatie van de provider voor externe modellen.

Hieronder ziet u beperkingen voor het begrijpen van afbeeldingen voor de ondersteunde databricks-gehoste basismodellen:

Model Beperkingen
De volgende Claude-modellen worden ondersteund:
  • databricks-claude-sonnet-4-5
  • databricks-claude-opus-4-1
  • databricks-claude-sonnet-4
  • databricks-claude-sonnet-4-5
Hier volgen de limieten voor Claude-modellen op Databricks:
  • Vermijd het gebruik van Claude voor taken die perfecte precisie of gevoelige analyse vereisen zonder menselijk toezicht.
  • Identificatie van personen: kan personen in afbeeldingen niet identificeren of een naam opgeven.
  • Nauwkeurigheid: kan slechte kwaliteit, gedraaide of zeer kleine afbeeldingen (200 px) verkeerd interpreteren.
  • Ruimtelijke redenering: Worstelt met nauwkeurige indelingen, zoals het lezen van analoge klokken of schaakposities.
  • Tellen: Biedt geschatte aantallen, maar kan onjuist zijn voor veel kleine objecten.
  • Door AI gegenereerde afbeeldingen: kan synthetische of nepafbeeldingen niet betrouwbaar detecteren.
  • Ongepaste inhoud: blokkeert expliciete of beleidsschendende afbeeldingen.
  • Gezondheidszorg: Niet geschikt voor complexe medische scans (bijvoorbeeld CT's en MRI's). Het is geen diagnostisch hulpprogramma.

Aanvullende bronnen