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

# Embeddings API

> Verwenden Sie die Embeddings-Routen von CometAPI, um Vektoren für semantische Suche, Clustering, Empfehlungen und Retrieval-Workflows zu erstellen.

Verwenden Sie CometAPI Embeddings, wenn Ihre App Vektoren für semantische Suche, Clustering, Empfehlungen oder Retrieval benötigt. Senden Sie Text an `/v1/embeddings`, speichern Sie den zurückgegebenen Vektor und durchsuchen Sie ihn mit Ihrer Vektordatenbank.

## Ein Embedding erstellen

Verwenden Sie eine Embedding-fähige model ID von der [Models-Seite](/de/overview/models) oder aus dem [model directory](https://www.cometapi.com/models/). Die folgenden Beispiele rufen die OpenAI-kompatible Embeddings API auf.

<Note>
  Diese Beispiele verwenden den Platzhalter `your-embedding-model-id`. Ersetzen Sie ihn durch eine verfügbare Embedding-model ID von der [Models-Seite](/de/overview/models) oder aus dem [model directory](https://www.cometapi.com/models/), bevor Sie die Anfrage ausführen.
</Note>

<Tip>
  Öffnen Sie [Create embeddings](/api/text/embeddings), um den Playground und das Endpoint-Schema zu verwenden.
</Tip>

<CodeGroup>
  ```python Python theme={null}
  import os
  import requests

  response = requests.post(
      "https://api.cometapi.com/v1/embeddings",
      headers={
          "Authorization": "Bearer " + os.environ["COMETAPI_KEY"],
          "Content-Type": "application/json",
      },
      json={
          "model": "your-embedding-model-id",
          "input": "CometAPI lets developers use many model providers.",
      },
      timeout=30,
  )

  response.raise_for_status()
  result = response.json()
  print(len(result["data"][0]["embedding"]))
  ```

  ```javascript Node.js theme={null}
  const response = await fetch("https://api.cometapi.com/v1/embeddings", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.COMETAPI_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      model: "your-embedding-model-id",
      input: "CometAPI lets developers use many model providers.",
    }),
  });

  if (!response.ok) {
    throw new Error(await response.text());
  }

  const result = await response.json();
  console.log(result.data[0].embedding.length);
  ```

  ```bash cURL theme={null}
  curl https://api.cometapi.com/v1/embeddings \
    -H "Authorization: Bearer $COMETAPI_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "your-embedding-model-id",
      "input": "CometAPI lets developers use many model providers."
    }'
  ```
</CodeGroup>

## Antwortbeispiel

Eine erfolgreiche Antwort kann so aussehen. Die Antwort enthält einen Vektor für jedes Eingabeelement; der folgende Vektor ist aus Gründen der Lesbarkeit gekürzt:

```json theme={null}
{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "index": 0,
      "embedding": [
        -0.0021,
        -0.0491,
        0.0209
      ]
    }
  ],
  "model": "your-embedding-model-id",
  "usage": {
    "prompt_tokens": 10,
    "total_tokens": 10
  }
}
```

## Batch-Eingabe

Senden Sie ein Array von Strings, wenn Sie mehrere Vektoren mit einer Anfrage erhalten möchten:

```bash cURL theme={null}
curl https://api.cometapi.com/v1/embeddings \
  -H "Authorization: Bearer $COMETAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "your-embedding-model-id",
    "input": [
      "Create an API key",
      "Change the base URL",
      "Retry after a rate limit"
    ]
  }'
```

## Beispielhafte model records

<Info>
  Diese Beispielantwort des Modellkatalogs zeigt das Envelope von `/api/models` und die Datensatzform eines OpenAI-kompatiblen Embeddings-Modells. Einige Embedding-Datensätze verwenden ein leeres `model_type`; wählen Sie ein Embedding-Modell anhand der ID und der Endpoint-Unterstützung, anstatt sich nur auf dieses Feld zu verlassen.
</Info>

```bash cURL theme={null}
curl https://api.cometapi.com/api/models
```

```json theme={null}
{
  "success": true,
  "page": 1,
  "page_size": 20,
  "total": 302,
  "data": [
    {
      "created": 1757904564,
      "id": "your-embedding-model-id",
      "code": "your-embedding-model-id",
      "provider": "ExampleProvider",
      "provider_code": "example",
      "name": "Example embedding model",
      "model_type": "embedding",
      "features": [
        "text-embedding"
      ],
      "endpoints": [
        "openai"
      ],
      "pricing": {
        "currency": "USD / M Tokens",
        "input": 0.1,
        "output": null,
        "per_request": null,
        "per_second": null
      }
    }
  ]
}
```

## Häufige Fehler

<AccordionGroup>
  <Accordion title="Eingabe zu lang">
    Teilen Sie lange Dokumente vor dem Embedding in Abschnitte auf.
  </Accordion>

  <Accordion title="Falscher Modelltyp">
    Wählen Sie im Modellverzeichnis ein Embedding-fähiges Modell aus.
  </Accordion>

  <Accordion title="Vektordimensionen stimmen nicht überein">
    Verwenden Sie für einen Vektorindex dasselbe Modell und dieselben Dimensionen.
  </Accordion>

  <Accordion title="Fehlender API-Schlüssel">
    Senden Sie `Authorization: Bearer $COMETAPI_KEY`.
  </Accordion>
</AccordionGroup>

## Fehlercodes und Retry-Strategie

<AccordionGroup>
  <Accordion title="400">
    Versuchen Sie es erst erneut, wenn die Eingabe, die model ID oder die Einstellung für die Dimensionen korrigiert wurde.
  </Accordion>

  <Accordion title="401">
    Versuchen Sie es erst erneut, wenn der API-Schlüssel vorhanden und gültig ist.
  </Accordion>

  <Accordion title="404">
    Überprüfen Sie vor einem erneuten Versuch die base URL, den Pfad und die model ID.
  </Accordion>

  <Accordion title="429">
    Wiederholen Sie den Versuch mit exponentiellem Backoff und reduzieren Sie die Batch-Größe oder die Parallelität.
  </Accordion>

  <Accordion title="500 or 503">
    Wiederholen Sie den Versuch mit Backoff bei vorübergehenden Provider- oder Dienstfehlern.
  </Accordion>
</AccordionGroup>

<Tip>
  Implementierungsmuster finden Sie unter [Fehlercodes und Retry-Strategie](/de/guides/error-codes-and-retry-strategy) und [Ratenlimits und Parallelität](/de/guides/rate-limits-and-concurrency).
</Tip>

## Preise und Modellverzeichnis

<CardGroup cols={3}>
  <Card title="Modellseite" icon="list" href="/overview/models">
    Lesen Sie, wie CometAPI model IDs in der Dokumentation verfügbar macht.
  </Card>

  <Card title="Modellverzeichnis" icon="puzzle-piece" href="https://www.cometapi.com/models/">
    Durchsuchen Sie Modellverfügbarkeit und Funktionen.
  </Card>

  <Card title="Preise" icon="tag" href="https://www.cometapi.com/pricing/">
    Prüfen Sie die Preise, bevor Sie ein Modell aufrufen.
  </Card>
</CardGroup>
