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

# Große Sprachmodelle

## Modellfunktionen

Large Language Models (LLMs) sind Arten von KI-Modellen, die mithilfe von Deep Learning und Techniken der Verarbeitung natürlicher Sprache entwickelt werden. Nachdem sie mit enormen Mengen an Textdaten trainiert wurden, können sie menschliche Sprache verstehen, generieren und verarbeiten. LLMs verfügen über die folgenden Hauptfunktionen:

* **Textgenerierung**

  LLMs können auf Basis des Kontexts logisch kohärente Inhalte generieren und den Ausgabestil bei Bedarf anpassen.
* **Sprachverständnis**

  LLMs können die Bedeutung von Eingabetexten präzise verstehen und kontextbewusste Konversationen unterstützen.
* **Textübersetzung**

  LLMs sind zu sprachübergreifendem Verständnis und zur sprachübergreifenden Generierung fähig und ermöglichen so Übersetzungen zwischen verschiedenen Sprachen.
* **Wissensbasierte Fragen und Antworten**

  Mit einer umfangreichen Wissensbasis können LLMs Fragen aus Bereichen wie Kultur, Wissenschaft und Geschichte beantworten.
* **Codeverständnis und -generierung**

  LLMs können Code (Python, Java, C++ usw.) verstehen und generieren, Codefehler erkennen und Vorschläge machen.
* **Textklassifizierung und Zusammenfassung**

  LLMs können komplexe Sätze verstehen, Informationen kategorisieren und extrahieren sowie zentrale Punkte zusammenfassen.

## Modellauswahl

Auf der [LLM Service Page](https://novita.ai/models) können Sie die Liste der unterstützten Modelle durchsuchen sowie Grundlagen und Preise der Modelle kennenlernen. Klicken Sie auf ein bestimmtes Modell, um dessen Detailseite für eine Online-Demo zu öffnen. Nachdem Sie verschiedene Modelle mit Ihrer Aufgabe ausprobiert haben, können Sie vergleichen und das am besten geeignete auswählen.

## API-Integration

Novita AI bietet schnelle, zuverlässige APIs für Open-Source-Modelle und kombiniert die Benutzerfreundlichkeit und Zuverlässigkeit erstklassiger LLM APIs mit der Flexibilität und Kosteneffizienz von Open-Source-LLMs.

* [ChatCompletion](https://platform.openai.com/docs/guides/text-generation/chat-completions-api): Unterstützt sowohl Streaming- als auch Nicht-Streaming-Modi.
* [Completion](https://platform.openai.com/docs/guides/text-generation/completions-api): Unterstützt ebenfalls Streaming- und Nicht-Streaming-Modi.

Wenn Sie bereits die `ChatCompletion`- oder `Completion`-API von OpenAI verwenden, setzen Sie einfach Ihre Basis-URL auf: api.novita.ai/openai , rufen Sie Ihren API-Schlüssel ab und legen Sie ihn fest, aktualisieren Sie den Modellnamen nach Bedarf, um mit der Nutzung der LLM-Dienste zu beginnen.

<Tip>
  Informationen zum Erstellen, Speichern und Verwenden eines API-Schlüssels finden Sie unter [API Keys](/docs/de/guides/llm-api-keys).
</Tip>

## Codebeispiele

### Python

<CodeGroup>
  ```python ChatCompletion theme={"system"}
  from openai import OpenAI

  client = OpenAI(
      base_url="https://api.novita.ai/openai",
      api_key="<Your API Key>",
  )

  model = "deepseek/deepseek-r1"
  stream = True  # or False
  max_tokens = 512

  chat_completion_res = client.chat.completions.create(
      model=model,
      messages=[
          {
              "role": "system",
              "content": "you are a professional AI helper.",
          },
          {
              "role": "user",
              "content": "Where can the example of GPU provided by novita ai be adapted?",
          }
      ],
      stream=stream,
      max_tokens=max_tokens,
  )

  if stream:
      for chunk in chat_completion_res:
          print(chunk.choices[0].delta.content or "", end="")
  else:
      print(chat_completion_res.choices[0].message.content)
  ```

  ```python Completion theme={"system"}
  from openai import OpenAI

  client = OpenAI(
      base_url="https://api.novita.ai/openai",
      api_key="<Your API Key>",
  )

  model = "deepseek/deepseek-r1"
  stream = True  # or False
  max_tokens = 512

  completion_res = client.completions.create(
      model=model,
      prompt="Where can the example of GPU provided by novita ai be adapted?",
      stream=stream,
      max_tokens=max_tokens,
  )

  if stream:
      for chunk in completion_res:
          print(chunk.choices[0].text or "", end="")
  else:
      print(completion_res.choices[0].text)
  ```
</CodeGroup>

### Curl

<CodeGroup>
  ```bash ChatCompletion theme={"system"}
  export API_KEY="<Your API Key>"

  curl "https://api.novita.ai/openai/v1/chat/completions" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer ${API_KEY}" \
    -d '{
      "model": "deepseek/deepseek-r1",
      "messages": [
          {
              "role": "system",
              "content": "you are a professional AI helper."
          },
         {
              "role": "user",
              "content": "Where can the example of GPU provided by novita ai be adapted?"
          }
      ],
      "max_tokens": 512
  }'
  ```

  ```bash Completion theme={"system"}
  export API_KEY="<Your API Key>"

  curl "https://api.novita.ai/openai/v1/completions" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer ${API_KEY}" \
    -d '{
      "model": "deepseek/deepseek-r1",
      "prompt": "Where can the example of GPU provided by novita ai be adapted?",
      "max_tokens": 512
  }'
  ```
</CodeGroup>

## Wichtige Parameter

### Basisparameter

`model`: Das Ziel-LLM. Die vollständige Liste finden Sie auf der [LLM Service Page](https://novita.ai/models).

### Messages

> Nur ChatCompletion

`messages`: Eingaben und Ausgaben bei der Interaktion mit dem LLM. Jede Nachricht gehört zu einer Rolle. Messages können Ihnen helfen, bessere Ausgaben zu erzielen; Sie können verschiedene Methoden ausprobieren, um bessere Ergebnisse zu erhalten.

* `content`: Nachrichteninhalt.
* `role`: Definiert den Sprecher:
  * `system`: Legt die Rolle der KI fest und teilt dem Modell seine Rolle oder sein Verhalten mit.
  * `user`: Die Eingabe des Benutzers.
  * `assistant`: Die Antwort der KI. Benutzer können im Voraus Beispiele für die Ausgabe angeben und dem Modell mitteilen, wie es die aktuelle Anfrage beantworten soll.
* `name` (optional): Trennt Nachrichtenersteller mit derselben Rolle.

### Prompt

> Nur ChatCompletion

`prompt`: Anweisungstext zum Generieren einer Completion, der vom Benutzer für das LLM geschrieben wird, um dem Modell seine Aufgabe klar mitzuteilen.

### Ausgabesteuerung

Verschiedene Kombinationen von Parametern können dem Modell helfen, zufriedenstellendere Inhalte zu generieren.

**Vielfalt des Textes**

> 'temperature' und 'top\_p' können die Vielfalt des generierten Textes steuern; wir empfehlen, nur einen von beiden festzulegen. Je größer der von Ihnen festgelegte Wert ist, desto vielfältiger wird der Text. Je kleiner der von Ihnen festgelegte Wert ist, desto genauer wird der Text.

* `temperature`: Steuert die Zufälligkeit. Höher = kreativer.
* `top_p`: Nucleus Sampling. Steuert die kumulative Wahrscheinlichkeit.
* `top_k`: Begrenzt die Anzahl der Kandidaten-Token.

**Wiederholungsstrafen**

* `presence_penalty`: Steuert wiederholte Token der Texte. Wenn ein Token bereits im Text vorhanden ist, wird eine Strafe angewendet; dies führt zu mehr Token im Text.
* `frequency_penalty`: Steuert die Tokenhäufigkeit der Texte. Jedes Mal, wenn dasselbe Token im Text vorhanden ist, wird eine Strafe angewendet, was in Zukunft zu weniger gleichen Token im Text führt.
* `repetition_penalty`: Bestraft oder fördert Wiederholungen.

### Ausgabelimits

* `max_tokens`: Maximale Anzahl an Token in einer Antwort. Inhalte nach diesem Wert im Text werden abgeschnitten.
* `stream`: Ob Streaming verwendet werden soll. Bei langen Ausgaben empfehlen wir, den Streaming-Modus zu verwenden, um Timeout-Fehler zu vermeiden:
  * `true`: Gestreamt, Teilergebnisse, während sie generiert werden.
  * `false`: Vollständiges Ergebnis nach der Verarbeitung.
* `stop`: Zeichenfolgen, die die Generierung beenden, wenn sie auftreten.
