DeepSeek: DeepSeek V3.1
DeepSeek V3.1 ist ein hybrides Textmodell mit Denkmodus und direktem Antwortmodus in einer Edition. Sein Kontext von 128K und das verbesserte Profil für den Werkzeugeinsatz unterstützen Programmieren, Dokumentenanalyse 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 das hybride Textmodell von DeepSeek: Dieselbe benannte Edition unterstützt Antworten mit und ohne Denkmodus über unterschiedliche Einstellungen der Chatvorlage. Der Hersteller hebt gegenüber seinem früheren Modell verbesserten Werkzeugeinsatz, Agentenaufgaben und höhere Reasoning-Effizienz hervor. Es nimmt schriftliche Anweisungen und Textkontext entgegen und erzeugt eine Antwort, Code oder Inhalte für Werkzeugaufrufe. Die ursprüngliche Identität V3.1 ist von Terminus, V3.2 und der V4-Familie getrennt.
Die Modellkarte nennt sowohl für die Basis- als auch für die nachtrainierte Edition insgesamt 671 Milliarden Parameter, 37 Milliarden aktive Parameter und einen Kontext von 128K. V3.1 baut auf der ursprünglichen V3-Basis auf und erweitert vor dem Nachtraining das Training mit langen Dokumenten. Seine Mixture-of-Experts- und Latent-Attention-Struktur folgt der V3-Architektur. Diese Entwurfsfakten erklären das Langkontext-Textprofil, ohne die Kontextangabe zu einer separaten Spezifikation für maximale Ausgabe zu machen.
Der Modus ohne Denken bereitet eine direkte Antwort vor, während der Denkmodus vor der Antwort eine Reasoning-Phase beginnt. Die Herstellervorlage verwendet für direkte Antworten einen schließenden Denkmarker und für die aktuelle Reasoning-Runde einen öffnenden Denkmarker. In einem Gespräch über mehrere Runden werden frühere Reasoning-Inhalte verworfen, während endgültige Antworten und der schließende Marker im Kontext bleiben. Dies ist die ursprüngliche Verlaufsregel von V3.1, getrennt von der späteren V3.2-Regel, die Reasoning über werkzeugbezogene Nachrichten hinweg bewahrt.
Standardmäßige Werkzeugaufrufe sind im 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 gibt ihr Ergebnis zurück. Geben Sie Werkzeugen konkrete Zwecke und halten Sie die zurückgegebene Beobachtung mit dem Aufruf verbunden, damit der nächste Modellschritt Evidenz erhält statt der Annahme, dass eine Aktion stattgefunden hat.
Die Suche im Denkmodus verwendet ein separates 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 Runden. Suche ist daher Teil des umgebenden Ablaufs und keine Behauptung, dass eine Textantwort selbstständig das Web durchsucht habe. Definieren Sie vor Beginn der Suchaufgabe die Frage, die Quellenkriterien und die benötigte endgültige Antwort.
Stellen Sie für Programmieraufgaben das relevante Fragment oder die relevanten Dateien, beobachtetes und erwartetes Verhalten sowie die zu bewahrenden Einschränkungen bereit. Ein beispielhafter Auftrag lautet: „Ermittle die Ursache dieses Fehlers für die bereitgestellte Eingabe, schlage eine gezielte Korrektur vor und erkläre die Bedingung, die die Änderung behandelt.“ Kennzeichnen Sie bei einer Dokumentenaufgabe die Quellenabschnitte und bitten Sie um einen Vergleich anhand ausdrücklicher Anforderungen. Verlangen Sie, dass die endgültige Antwort die quellenbelegte Schlussfolgerung von einer vorgeschlagenen nächsten Aktion unterscheidet.
Der Hersteller trainiert V3.1 mit dem UE8M0-FP8-Skalierungsformat für Gewichte und Aktivierungen. Seine lokalen Empfehlungen benennen außerdem präzisionsempfindliche Parameter, die korrekt behandelt werden müssen. Dies sind Eigenschaften der veröffentlichten Herstellerreferenz, keine Aussage über die gewählte Präzision oder Implementierung jeder Anwendung. Ein Derivat, eine quantisierte Variante und der spätere Terminus-Checkpoint bleiben separate Optionen gegenüber der benannten ursprünglichen Edition V3.1.
Bereiten Sie längere Aufgaben mit einer klaren Frage, Quellenkennzeichnungen und einem definierten endgültigen Arbeitsergebnis vor. Planen Sie Gespräch, Quelltext, Reasoning und Ausgabe innerhalb des dokumentierten Kontexts ein und bewahren Sie bei wachsender Aufgabe nur relevante Evidenz. Geben Sie für einen Agenten die zulässigen Aktionen und das Kriterium an, das den Abschluss des Ergebnisses bestimmt. Das nützliche Arbeitsergebnis ist eine überprüfbare Textantwort, ein Codevorschlag oder eine quellenbelegte Analyse, die an die Eingabe und die von der Anwendung tatsächlich zurückgegebenen Beobachtungen gebunden ist.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions deepseek-v3.1-thinking
deepseek-v3.1-thinkingStart
DeepSeek V3.1 ist ein hybrides Textmodell mit Denkmodus und direktem Antwortmodus in einer Edition. Sein Kontext von 128K und das verbesserte Profil für den Werkzeugeinsatz unterstützen Programmieren, Dokumentenanalyse 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
- Eingabetypen
text- Ausgabetypen
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 Token Ausgabe · Ausgabetoken $0.0023 / 1K Token Eingabe · Cache-Lesen $0 / 1K Token Eingabe · Cache-Schreiben $0 / 1K Token Eingabe · Cache-Schreiben, 1 Stunde — / 1K Token |
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