Zum Hauptinhalt springen

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:
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

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

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:
messages.append({"role": "assistant", "content": content})
messages.append({"role": "user", "content": "Erkläre die Lösung weiter."})

Liste der unterstützten Modelle

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.