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

# Reasoning-Modelle

export const ReasoningModels = () => {
  if (typeof document === "undefined") {
    return null;
  } else {
    let attempts = 0;
    const maxAttempts = 50;
    const INIT_DISPLAY_COUNT = 3;
    const interval = setInterval(() => {
      const clientComponent = document.getElementById("reasoning-models");
      if (clientComponent && window.jiekouRemoteData.llmModels.status === 'loaded') {
        const modelList = window.jiekouRemoteData.llmModels.data.filter(model => {
          return (model.features || []).includes('reasoning');
        });
        let displayModels = modelList.slice(0, INIT_DISPLAY_COUNT).map(model => {
          return `<li><span class="model-id-item">${model.id}</span></li>`;
        }).join('');
        let showMoreButton = '';
        if (modelList.length > INIT_DISPLAY_COUNT) {
          showMoreButton = `<button id="show-more-reasoning-model-btn" style="margin-left: 32px; color: rgb(40 116 255)">展示更多</button>`;
        }
        clientComponent.innerHTML = `
          <ul>${displayModels}</ul>
          ${showMoreButton}
        `;
        document.getElementById('show-more-reasoning-model-btn')?.addEventListener('click', () => {
          clientComponent.innerHTML = `
            <ul>${modelList.map(model => {
            return `<li><span class="model-id-item">${model.id}</span></li>`;
          }).join('')}</ul>
          `;
        });
        clearInterval(interval);
      }
      attempts++;
      if (attempts >= maxAttempts) {
        clearInterval(interval);
      }
    }, 200);
    return <div id="reasoning-models"></div>;
  }
};

## Funktionsübersicht

Reasoning-Modelle sind fortschrittliche Sprachmodelle, die für komplexe Problemlösungs- und Schlussfolgerungsaufgaben optimiert sind. Durch die Ausgabe detaillierter Reasoning-Schritte (Chain of Thought) verbessern sie die Genauigkeit der Problemlösung.

### Typische Anwendungsszenarien

* **Lösung komplexer Probleme**: Geeignet für Szenarien, die eine schrittweise Herleitung und klare logische Schritte erfordern, z. B. Mathematik oder wissenschaftliches Schlussfolgern.
* **Entscheidungsunterstützungssysteme**: Stellen detaillierte Reasoning-Prozesse zur Unterstützung von Entscheidungsanalysen bereit und helfen dabei, die Logik hinter Entscheidungen zu verstehen.
* **Bildung und Training**: Unterstützen Nutzer beim Lernen und Verstehen komplexer Inhalte und stellen detaillierte Herleitungsprozesse bereit.

## Installation und Vorbereitung

Stellen Sie vor der Verwendung von Reasoning-Modellen sicher, dass die neueste Version des OpenAI SDK installiert ist:

```bash theme={null}
pip install -U openai
```

## API-Aufrufmethode

Verwenden Sie Reasoning-Modelle durch Aufruf der Schnittstelle `/chat/completions`.

### Beschreibung der Anfrageparameter

* `max_tokens`: Legt die maximale Anzahl der vom Modell ausgegebenen Tokens fest.
* `temperature`: Empfohlen ist ein Wert von 0,5 bis 0,7 (empfohlen: 0,6), um Kreativität und Logik der Ausgabe auszubalancieren.
* `top_p`: Empfohlen ist ein Wert von 0,95.

### Beispielcode für Anfragen

#### Anfrage mit Streaming-Ausgabe

```python theme={null}
from openai import OpenAI

client = OpenAI(api_key="YOUR_API_KEY", base_url="https://api.highwayapi.ai/openai")
messages = [
    {"role": "user", "content": "Erkläre das zweite Newtonsche Gesetz."}
]

response = client.chat.completions.create(
    model="deepseek/deepseek-r1",
    messages=messages,
    stream=True,
    max_tokens=4096
)

content = ""
reasoning_content = ""
for chunk in response:
    if chunk.choices[0].delta.content:
        content += chunk.choices[0].delta.content
    if chunk.choices[0].delta.reasoning_content:
        reasoning_content += chunk.choices[0].delta.reasoning_content

print("Endgültige Antwort:", content)
print("Reasoning-Prozess:", reasoning_content)
```

#### Anfrage ohne Streaming-Ausgabe

```python theme={null}
response = client.chat.completions.create(
    model="deepseek/deepseek-r1",
    messages=[
        {"role": "user", "content": "Was ist der Treibhauseffekt? Wie kann man ihn verlangsamen?"}
    ],
    stream=False,
    max_tokens=4096
)

content = response.choices[0].message.content
reasoning_content = response.choices[0].message.reasoning_content

print("Endgültige Antwort:", content)
print("Reasoning-Prozess:", reasoning_content)
```

## Kontextverwaltung

Die vom Modell zurückgegebenen Reasoning-Inhalte werden nicht automatisch an die nächste Gesprächsrunde angehängt. Nutzer müssen den Gesprächsverlauf manuell verwalten:

```python theme={null}
messages.append({"role": "assistant", "content": content})
messages.append({"role": "user", "content": "Erkläre die Lösung weiter."})
```

## Liste der unterstützten Modelle

<ReasoningModels />

## Abrechnungsmethode

* Die Abrechnung erfolgt basierend auf der Anzahl der Eingabe- und Ausgabe-Tokens.
* Konkrete Abrechnungsstandards und Umrechnungsregeln finden Sie auf der Modelldetailseite.

## Hinweise und Best Practices

* Fügen Sie keine Reasoning-Anweisungen in `system`-Nachrichten hinzu; formulieren Sie die Anweisungen direkt und eindeutig in der `user`-Nachricht.
* Geben Sie bei mathematischen Problemen die Anforderungen klar an, z. B.: „Bitte schlussfolgere Schritt für Schritt und gib die endgültige Antwort eindeutig an.“
* Um zu vermeiden, dass das Modell den Reasoning-Schritt überspringt, wird empfohlen, das Modell zu zwingen, vor der Ausgabe einen Zeilenumbruch hinzuzufügen.
