> ## Documentation Index
> Fetch the complete documentation index at: https://docs.infercom.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Vision- und Multimodalitätsfunktionen implementieren - Entwicklerhandbuch

> Verarbeiten Sie Bilder mit dem EU-souveränen Vision-Modell von Infercom. Analysieren Sie Bilder und generieren Sie kontextbewusste Textantworten mit vollständiger DSGVO-Konformität.

Infercom bietet Zugang zu vision-fähigen Modellen auf unserer EU-souveränen Infrastruktur, die es Ihnen ermöglicht, sowohl Text als auch Bilder mit vollständiger Datensouveränität zu verarbeiten. Diese Modelle analysieren Bilder und generieren kontextbewusste Textantworten.

## Unterstützte Modelle

| Modell           | Kontext | Region | Hinweise                                   |
| ---------------- | ------- | ------ | ------------------------------------------ |
| `gemma-4-31B-it` | 128K    | EU     | Googles Gemma 4 31B mit Vision-Fähigkeiten |

<Info>
  `gemma-4-31B-it` läuft auf Infercoms souveräner Infrastruktur in Deutschland. Ihre Bilddaten verlassen niemals die EU.
</Info>

## Eine Anfrage mit einem Bild stellen

Bei Infercom folgt die Vision-Modellanfrage dem multimodalen Eingabeformat von OpenAI, das sowohl Text- als auch Bildeingaben in einer strukturierten Payload akzeptiert. Während der Aufruf ähnlich der [Textgenerierung](/de/features/text-generation) ist, unterscheidet er sich durch die Einbeziehung einer kodierten Bilddatei, die über die Variable `image_path` referenziert wird. Eine Hilfsfunktion wird verwendet, um dieses Bild in einen Base64-String zu konvertieren, wodurch es zusammen mit dem Text in der Anfrage übergeben werden kann.

<Steps>
  <Step title="Schritt 1">
    Erstellen Sie eine neue Python-Datei und kopieren Sie den unten stehenden Code.

    <Note>
      Dieses Beispiel verwendet `gemma-4-31B-it`, Googles vision-fähiges Gemma 4-Modell, gehostet auf Infercoms EU-souveräner Infrastruktur.
    </Note>

    <CodeGroup>
      ```python Python (SambaNova) theme={null}
      from sambanova import SambaNova
      import base64

      client = SambaNova(
          base_url="https://api.infercom.ai/v1",
          api_key="ihr-infercom-api-schluessel",
      )

      # Hilfsfunktion zum Kodieren des Bildes
      def encode_image(image_path):
        with open(image_path, "rb") as image_file:
          return base64.b64encode(image_file.read()).decode('utf-8')

      # Der Pfad zu Ihrem Bild
      image_path = "beispiel.JPEG"

      # Der Base64-String des Bildes
      image_base64 = encode_image(image_path)

      print(image_base64)

      response = client.chat.completions.create(
          model="gemma-4-31B-it",
          messages=[
              {
                  "role": "user",
                  "content": [
                      {"type": "text", "text": "Was passiert in diesem Bild?"},
                      {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{image_base64}"}}
                  ]
              }
          ]
      )

      print(response.choices[0].message.content)
      ```

      ```python Python (OpenAI) theme={null}
      from openai import OpenAI
      import base64

      client = OpenAI(
          base_url="https://api.infercom.ai/v1",
          api_key="ihr-infercom-api-schluessel",
      )

      # Hilfsfunktion zum Kodieren des Bildes
      def encode_image(image_path):
        with open(image_path, "rb") as image_file:
          return base64.b64encode(image_file.read()).decode('utf-8')

      # Der Pfad zu Ihrem Bild
      image_path = "beispiel.JPEG"

      # Der Base64-String des Bildes
      image_base64 = encode_image(image_path)

      print(image_base64)

      response = client.chat.completions.create(
          model="gemma-4-31B-it",
          messages=[
              {
                  "role": "user",
                  "content": [
                      {"type": "text", "text": "Was passiert in diesem Bild?"},
                      {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{image_base64}"}}
                  ]
              }
          ]
      )

      print(response.choices[0].message.content)
      ```
    </CodeGroup>
  </Step>

  <Step title="Schritt 2">
    Verwenden Sie Ihren Infercom API-Schlüssel von der Seite [API-Schlüssel und URLs](/de/get-started/api-keys-urls), um den Platzhalter `"ihr-infercom-api-schluessel"` in der Konstruktion des Clients zu ersetzen.
  </Step>

  <Step title="Schritt 3">
    Wählen Sie ein Bild aus und verschieben Sie es zu einem geeigneten Pfad, den Sie in den Zeilen angeben können.

    ```python theme={null}
    # Der Pfad zu Ihrem Bild
    image_path = "beispiel.JPEG"
    ```
  </Step>

  <Step title="Schritt 4">
    Überprüfen Sie den Prompt, der mit dem Bild im `content`-Teil des `user`-Prompts gepaart werden soll.
  </Step>

  <Step title="Schritt 5">
    Führen Sie die Python-Datei aus, um die Textausgabe zu erhalten.
  </Step>
</Steps>
