DeepSeek: DeepSeek V3.1
DeepSeek V3.1 ist ein hybrides Textmodell mit Denkmodus und direkten Antworten in einer Edition. Sein Kontext von 128K und sein verbessertes Werkzeugprofil unterstützen Programmierung, Dokumentanalyse und von der Anwendung bereitgestellte Suche; das Ergebnis ist Text oder ein vorgeschlagener Werkzeugaufruf.
Über das Modell
Diese Beschreibung erläutert die Fähigkeiten des Modells. Die über Ailoot verfügbaren Eingaben, Ausgaben und Optionen sind unten für die ausgewählte Methode aufgeführt.
DeepSeek V3.1 ist DeepSeeks hybrides Textmodell: Dieselbe benannte Edition unterstützt über verschiedene Einstellungen der Chatvorlage Antworten mit und ohne Denkmodus. Der Hersteller hebt gegenüber seinem früheren Modell Verbesserungen bei Werkzeugnutzung, Agentenaufgaben und Reasoning-Effizienz hervor. Es nimmt schriftliche Anweisungen und Textkontext entgegen und erzeugt eine Antwort, Code oder Inhalte für Werkzeugaufrufe. Die ursprüngliche V3.1-Identität ist von Terminus, V3.2 und der V4-Familie getrennt.
Die Modellkarte nennt insgesamt 671 Milliarden Parameter, 37 Milliarden aktive Parameter und einen Kontext von 128K sowohl für die Basis- als auch für die nachtrainierte Edition. V3.1 baut auf der ursprünglichen V3-Grundlage auf und erhält vor dem Nachtraining erweitertes Training mit langen Dokumenten. Seine Mixture-of-Experts- und Latent-Attention-Struktur folgt der V3-Architektur. Diese Entwurfsmerkmale erklären das Textprofil für lange Kontexte, ohne die Kontextgröße zu einer gesonderten Angabe zur maximalen Ausgabe zu machen.
Der Modus ohne Denken bereitet eine direkte Antwort vor; der Denkmodus startet vor der Antwort eine Reasoning-Phase. Die Herstellervorlage verwendet für direkte Antworten einen schließenden Denkmarker und für den aktuellen Reasoning-Schritt einen öffnenden Denkmarker. In einem Dialog mit mehreren Gesprächsrunden werden frühere Reasoning-Inhalte entfernt, während endgültige Antworten und der schließende Marker im Kontext bleiben. Dies ist die ursprüngliche Historienregel von V3.1; sie unterscheidet sich von der späteren V3.2-Regel, die Reasoning über werkzeugbezogene Nachrichten hinweg erhält.
Standardmäßige Werkzeugaufrufe sind für den Modus ohne Denken dokumentiert. Die Anwendung stellt Funktionsnamen, Beschreibungen und Parameterschemata bereit; das Modell gibt einen ausgewählten Werkzeugnamen und JSON-Argumente in der Werkzeugaufrufdarstellung des Herstellers zurück. Die Anwendung führt die Operation aus und liefert ihr Ergebnis zurück. Geben Sie Werkzeugen konkrete Zwecke und verknüpfen Sie die zurückgegebene Beobachtung mit dem Aufruf, damit der nächste Modellschritt über Belege verfügt statt über die Annahme, eine Aktion sei erfolgt.
Die Suche im Denkmodus verwendet ein gesondertes spezialisiertes Suchagentenformat. DeepSeek dokumentiert ein vom Nutzer bereitgestelltes Suchwerkzeug für Fragen, die externe oder aktuelle Informationen benötigen, mit wiederholten Aufrufen und Beobachtungen über mehrere Gesprächsschritte. Suche ist somit Teil des umgebenden Workflows und keine Aussage, dass eine Textantwort eigenständig das Web durchsucht hat. Definieren Sie die Frage, die Quellenkriterien und die benötigte endgültige Antwort, bevor die Suchaufgabe beginnt.
Stellen Sie für Programmieraufgaben den relevanten Ausschnitt oder die Dateien, das beobachtete Verhalten, das erwartete Verhalten und die zu erhaltenden Rahmenbedingungen bereit. Ein Beispielbriefing lautet: „Identifizieren Sie die Ursache dieses Fehlers für die bereitgestellte Eingabe, schlagen Sie eine gezielte Korrektur vor und erklären Sie die Bedingung, die diese Änderung behandelt.“ Kennzeichnen Sie bei einer Dokumentaufgabe die Quellabschnitte und fordern Sie einen Vergleich anhand ausdrücklicher Anforderungen an. Verlangen Sie, dass die endgültige Antwort zwischen einer quellenbasierten Schlussfolgerung und einer vorgeschlagenen nächsten Aktion unterscheidet.
Der Hersteller trainiert V3.1 mit dem Skalierungsformat UE8M0 FP8 für Gewichte und Aktivierungen. Seine lokalen Empfehlungen nennen außerdem präzisionsempfindliche Parameter, die korrekt behandelt werden müssen. Das sind Merkmale der veröffentlichten Herstellerreferenz und keine Aussage über die gewählte Präzision oder Implementierung jeder Anwendung. Eine Ableitung, eine quantisierte Variante und der spätere Terminus-Checkpoint bleiben eigenständige Optionen gegenüber der benannten ursprünglichen V3.1-Edition.
Bereiten Sie längere Arbeiten mit einer klaren Frage, Quellenkennzeichnungen und einem definierten Endergebnis vor. Planen Sie Gespräch, Quelltext, Reasoning und Ausgabe innerhalb des dokumentierten Kontexts und behalten Sie bei wachsender Aufgabe nur relevante Belege bei. Geben Sie für einen Agenten die erlaubten Aktionen und das Kriterium an, das den Abschluss des Ergebnisses markiert. Das nützliche Arbeitsergebnis ist eine überprüfbare Textantwort, ein Codevorschlag oder eine quellenbasierte Analyse, die mit der Eingabe und den tatsächlich von der Anwendung zurückgegebenen Beobachtungen verknüpft ist.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions deepseek-v3.1-thinking
deepseek-v3.1-thinkingEinstieg
DeepSeek V3.1 ist ein hybrides Textmodell mit Denkmodus und direkten Antworten in einer Edition. Sein Kontext von 128K und sein verbessertes Werkzeugprofil unterstützen Programmierung, Dokumentanalyse und von der Anwendung bereitgestellte Suche; das Ergebnis ist Text oder ein vorgeschlagener Werkzeugaufruf.
- Zulässige Eingaben
- Text
- Ergebnisse
- Text
In Ailoot verfügbar · Eingaben und Methoden
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Eingabe
text- Ausgabe
text- Ausgabeformat
- json oder SSE
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits deepseek-v3.1-thinking | Standard— |
Feldmessages | Typmessage[] | AnforderungErforderlich | Werte und Limits Mindestanzahl Elemente: 1 | Standard— |
Feldmessages[].role | Typstring | AnforderungErforderlich | Werte und Limits Modellabhängig | Standard— |
Feldmessages[].content | Typstring | AnforderungOptional | Werte und Limits Gilt, wenn: Textgespräch | Standard— |
Feldstream | Typboolean | AnforderungOptional | Werte und Limits | Standardfalse |
Kombinationen von Eingabematerialien
Text · UTF8-Text
messages[].content
Methodenparameter und Lebenszyklus
| Parameter | Vertrag |
|---|---|
Parametercontent_type | Vertragapplication/json |
Parameterrequired | Vertragmodel, messages |
Parametermaterial_types | Vertragtext |
Parametermessages | VertragNachrichtenarray mit role/content-Struktur |
Parameterfile_material | VertragTatsächliches UTF-8-Dokument als wörtlicher Text eingefügt; keine Datei-ID abgeleitet |
Parameteroptional_controls | Vertragstream |
Parametercontrol_scope | VertragTextgespräch; stream ist ein boolescher Wert und standardmäßig false. |
Parameteroutput_modalities | Vertragtext |
Parameterhosted_operations | Vertragfalse |
Parametermultimodal_input_binding | Vertragnull |
Methodenaliasnamen: /chat/completions
Lebenszyklus: synchronous_or_streamed
Die genaue Modell-ID zusammen mit messages senden.
Die Kontextlänge ist keine Ausgabeobergrenze.
Eine Textdatei kann wörtlichen Text liefern; Bild-, Audio- und Dateiobjekteingaben benötigen eine exakte Zuordnung.
Tarife
Tarifangaben erweitern die Anfrageoptionen nicht. Unterstützte Parameter stehen bei der ausgewählten Methode.
- Schnellmodus
- Nicht angegeben Wenn der Schnellmodus ausgewählt ist
- Flex-Modus
- Nicht angegeben Wenn der Modus flex ausgewählt ist
- Maximaler Denkaufwand
- Nicht angegeben Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird
Ailoot-Tarife
Preise nach Konfiguration
| Konfiguration | Tarifstaffel | Gebühr |
|---|---|---|
| KonfigurationBasistarife für Token | TarifstaffelGrundtarif | Gebühr Eingabe · Eingabetoken $0.000572 / 1K Tokens Ausgabe · Ausgabetoken $0.0023 / 1K Tokens Eingabe · Cache lesen $0 / 1K Tokens Eingabe · In Cache schreiben $0 / 1K Tokens Eingabe · In Cache schreiben, 1 Stunde — / 1K Tokens |
Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschließenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →
Beispielanfragen
Ailoot Ultra · OpenAI Chat
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"deepseek-v3.1-thinking","messages":[{"role":"user","content":"hello"}],"stream":false}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model="deepseek-v3.1-thinking", messages=[{"role":"user","content":"hello"}], stream=False)
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
save_result(result.to_dict(mode="json"))
Ergebnisse abrufen und speichern
Ailoot Ultra · OpenAI Chat
json oder SSE
Alle fertiggestellten Ergebnisse aufbewahren
Bewahren Sie jede vollständig zurückgegebene Antwort, Datei und jeden Inhaltsteil auf.
Alle Antwortvarianten mit ihren Inhalten, Werkzeugaufrufen und Reasoning-Daten beibehalten. In SSE die Deltas nach Varianten- und Werkzeugindex zusammensetzen; endgültigen Beendigungsgrund und Verbrauchsdaten beibehalten.
Wenn die ursprüngliche Antwort geprüft werden muss
Anfrage- und Antwort-IDs sowie Header beibehalten. Eine allgemeine URL zum Abrufen von Textaufträgen wird nicht angegeben.
Antwortfelder
| Feld | Typ |
|---|---|
Feldchoices[].index | Typinteger |
Feldchoices[].message.content | Typstring|null |
Feldchoices[].message.tool_calls | Typtool_call[] |
Feldchoices[].message.reasoning_content | Typstring |
Feldchoices[].message.reasoning_details | Typobject|array |
Feldchoices[].finish_reason | Typstring|null |
Feldusage | Typobject |
Fehler und nächste Schritte
| Antwort | Bedingung | Nächster Schritt |
|---|---|---|
Antwort400 · invalid_request_error | BedingungPflichtfelder, Darstellung des Eingabematerials oder Parameterwert ungültig | Nächster SchrittDie angegebenen Felder vor einer neuen Erstellungsanfrage korrigieren. |
Aliasnamen
Modellaliasnamen
Ailoot Ultra deepseek-v3.1-thinking
Aliasnamen für Methodenpfade
/chat/completions
Zugehörige Aufrufer-IDs
FAQ · DeepSeek: DeepSeek V3.1
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/chat/completions·deepseek-v3.1-thinking:text→text- Welche Felder verwendet die Anfrage?
POST /v1/chat/completions·deepseek-v3.1-thinking:model,messages,stream- Welche Grenzen gelten?
POST /v1/chat/completions·deepseek-v3.1-thinking:messages.min_items:1