
Qwen3.8 Max verwenden: Python, TypeScript und cURL
qwen3.8-max für Chat Completions, Responses und Messages. Die Dokumentations-URL behält den historischen Preview-Slug; verwenden Sie die Produktions-ID und führen Sie vor Traffic einen Smoke Test im eigenen Konto aus.QwenCloud-Release und EvoLink-Status
| Oberfläche | ID | Status |
|---|---|---|
| QwenCloud | qwen3.8-max | Offizielles Upstream-Flaggschiff |
| Token Plan | qwen3.8-max-preview | Preview-Kanal |
| EvoLink | qwen3.8-max | Produktionsroute verfügbar; Dokumentations-URL behält den Preview-Slug |
Voraussetzungen für den ersten Request
| Voraussetzung | Vorbereitung | Zweck |
|---|---|---|
| EvoLink API-Key | Key im API-Key-Dashboard erstellen | Bearer-Authentifizierung |
| Base URL | https://direct.evolink.ai/v1 für Text und lange Verbindungen | SDK-Konfiguration bleibt vom Endpoint getrennt |
| Multimodal Base URL | https://api.evolink.ai/v1 für Bild, Audio oder Video | Dokumentierter Multimodal-Endpunkt |
| Modellvariable | Exakte ID aus dem EvoLink-Konto | Preview-zu-GA-Wechsel ohne Codeänderung |
| Smoke Test | Ein kurzer deterministischer Prompt | Auth, Route, Format und Billing prüfen |
| Fallback | Ein bereits verifiziertes EvoLink-Modell | Verfügbarkeit bei Aktivierungs- oder Kapazitätsänderungen |
export EVOLINK_API_KEY="your-evolink-api-key"
export EVOLINK_BASE_URL="https://direct.evolink.ai/v1"
export EVOLINK_QWEN_MODEL="qwen3.8-max-preview"Protokoll-Entscheidungsbaum
Bestehende OpenAI-Chats nutzen Chat Completions; neue Agents mit Tools oder serverseitigem Zustand nutzen Responses; bestehende Anthropic-Stacks nutzen Messages.
Existing OpenAI-compatible chat application?
├─ Yes → Chat Completions
└─ No
├─ New agent needs built-in tools or server-linked turns? → Responses
└─ Existing Anthropic Messages stack? → MessagesErsetzen Sie den letzten Wert bei Aktivierung durch die exakte EvoLink-ID. Leiten Sie nicht aus der Upstream-ID ab, dass beide IDs identisch sein müssen.
Chat, Responses oder Messages wählen
| Protokoll | Endpoint | Geeignet für | Wichtiger Unterschied |
|---|---|---|---|
| Chat Completions | /v1/chat/completions | Bestehende OpenAI-kompatible Chats | messages; Thinking in reasoning_content |
| Responses | /v1/responses | Neue Agents, Built-in Tools, verknüpfte Turns | input, previous_response_id, Session Cache |
| Messages | /v1/messages | Anthropic-SDKs und Messages-Stacks | Top-Level-system, max_tokens erforderlich |
Starten Sie mit Chat, wenn die Anwendung bereits OpenAI Chat Completions nutzt. Responses eignet sich für Tools und serverseitigen Turn-State; Messages für Anthropic-kompatible Content Blocks und Events.
Erster cURL-Call
curl --request POST \
--url "${EVOLINK_BASE_URL}/chat/completions" \
--header "Authorization: Bearer ${EVOLINK_API_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"model\": \"${EVOLINK_QWEN_MODEL}\",
\"messages\": [
{
\"role\": \"system\",
\"content\": \"You are a concise software architecture assistant.\"
},
{
\"role\": \"user\",
\"content\": \"Return three checks for a safe API rollout.\"
}
]
}"id, das aufgelöste model, mindestens einen choices-Eintrag und Usage. Speichern Sie während des Aktivierungstests die zurückgegebene Modell-ID.Python mit dem OpenAI SDK
pip install openaiimport os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["EVOLINK_API_KEY"],
base_url=os.getenv("EVOLINK_BASE_URL", "https://direct.evolink.ai/v1"),
)
response = client.chat.completions.create(
model=os.environ["EVOLINK_QWEN_MODEL"],
messages=[
{
"role": "system",
"content": "You are a concise software architecture assistant.",
},
{
"role": "user",
"content": "Return three checks for a safe API rollout.",
},
],
)
print(response.choices[0].message.content)
print(response.model)API-Key, Base URL und Modell-ID bilden die Integrationsgrenze. Ändern Sie zuerst die Konfiguration und vergleichen Sie dann Output und Betriebseigenschaften, bevor Prompts oder Geschäftslogik angepasst werden.
TypeScript-Integration
npm install openaiimport OpenAI from "openai";
const apiKey = process.env.EVOLINK_API_KEY;
const model = process.env.EVOLINK_QWEN_MODEL;
if (!apiKey || !model) {
throw new Error("EVOLINK_API_KEY and EVOLINK_QWEN_MODEL are required");
}
const client = new OpenAI({
apiKey,
baseURL: process.env.EVOLINK_BASE_URL ?? "https://direct.evolink.ai/v1",
});
const response = await client.chat.completions.create({
model,
messages: [
{
role: "system",
content: "You are a concise software architecture assistant.",
},
{
role: "user",
content: "Return three checks for a safe API rollout.",
},
],
});
console.log(response.choices[0].message.content);
console.log(response.model);Thinking und finale Ausgabe getrennt streamen
reasoning_content und content getrennt.import os
from openai import OpenAI
model = os.environ.get("EVOLINK_QWEN_MODEL")
if not model:
raise RuntimeError("EVOLINK_QWEN_MODEL is required")
client = OpenAI(
api_key=os.environ["EVOLINK_API_KEY"],
base_url=os.getenv("EVOLINK_BASE_URL", "https://direct.evolink.ai/v1"),
)
stream = client.chat.completions.create(
model=model,
messages=[
{"role": "user", "content": "Review this rollout plan for failure modes."}
],
stream=True,
extra_body={"enable_thinking": True},
)
for chunk in stream:
delta = chunk.choices[0].delta
reasoning = getattr(delta, "reasoning_content", None)
if reasoning:
print(reasoning, end="", flush=True)
if delta.content:
print(delta.content, end="", flush=True)EVOLINK_QWEN_MODEL beim Anwendungsstart. Ein stiller Fallback macht Rollout und Rollback schwer auditierbar.Responses API für Tools und Multi-Turn-State
input statt messages. EvoLink dokumentiert außerdem previous_response_id und den optionalen Header x-dashscope-session-cache: enable.curl --request POST \
--url "${EVOLINK_BASE_URL}/responses" \
--header "Authorization: Bearer ${EVOLINK_API_KEY}" \
--header "Content-Type: application/json" \
--header "x-dashscope-session-cache: enable" \
--data "{
\"model\": \"${EVOLINK_QWEN_MODEL}\",
\"input\": \"List the production checks for a model-route canary.\"
}"Responses: Folgeturn und Session Cache
previous_response_id. Der Header beweist keinen Cache-Hit; prüfen Sie Usage-Felder.curl --request POST \
--url "${EVOLINK_BASE_URL}/responses" \
--header "Authorization: Bearer ${EVOLINK_API_KEY}" \
--header "Content-Type: application/json" \
--header "x-dashscope-session-cache: enable" \
--data "{
\"model\": \"${EVOLINK_QWEN_MODEL}\",
\"previous_response_id\": \"resp_FROM_FIRST_CALL\",
\"input\": \"Turn those checks into a five-step canary plan.\"
}"id nur, wenn Datenschutz und Aufbewahrung serververknüpfte Gespräche erlauben. Laut aktueller Dokumentation gilt sie sieben Tage; prüfen Sie diesen Vertrag vor dauerhaften Workflows erneut.Messages API für Anthropic-kompatible Stacks
messages heraus und verlangt max_tokens.curl --request POST \
--url "${EVOLINK_BASE_URL}/messages" \
--header "Authorization: Bearer ${EVOLINK_API_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"model\": \"${EVOLINK_QWEN_MODEL}\",
\"max_tokens\": 1024,
\"system\": \"You are a concise software architecture assistant.\",
\"messages\": [
{
\"role\": \"user\",
\"content\": \"Return three checks for a safe API rollout.\"
}
]
}"Tool-Validierung, begrenzte Retries und Fallback
Tool-Argumente sind nicht vertrauenswürdig. Name, Schema, Berechtigung und Umgebung vor Seiteneffekten prüfen.
import { z } from "zod";
const createCanarySchema = z.object({
workload: z.string().min(1).max(80),
trafficPercent: z.number().min(0.1).max(10),
});
function validateToolCall(name: string, rawArguments: string) {
if (name !== "create_canary") {
throw new Error(`Blocked unknown tool: ${name}`);
}
return createCanarySchema.parse(JSON.parse(rawArguments));
}Nur Timeouts, Verbindungsfehler, 429 und temporäre 5xx begrenzt wiederholen; 400/401/402 nicht unverändert wiederholen.
import os
import random
import time
from openai import APIConnectionError, APIStatusError, APITimeoutError, OpenAI
client = OpenAI(
api_key=os.environ["EVOLINK_API_KEY"],
base_url=os.getenv("EVOLINK_BASE_URL", "https://direct.evolink.ai/v1"),
)
def complete_with_fallback(messages):
models = [
os.environ["EVOLINK_QWEN_MODEL"],
os.environ["EVOLINK_FALLBACK_MODEL"],
]
for model in models:
for attempt in range(3):
try:
return client.chat.completions.create(
model=model,
messages=messages,
timeout=60,
)
except APIStatusError as error:
if error.status_code != 429 and error.status_code < 500:
raise
except (APIConnectionError, APITimeoutError):
pass
time.sleep((2 ** attempt) + random.random())
raise RuntimeError("Primary and fallback routes failed")Produktionsvalidierungs-Ledger
| Fähigkeit | Routenstatus | Im Konto erfassen |
|---|---|---|
| Chat / Responses / Messages | Verfügbar; prüfen | ID, Modell, HTTP, Stop-Grund, Usage |
| Streaming / Thinking | Verfügbar; prüfen | Erstes Event, finales Event, Reasoning und Inhalt |
| Tools / Cache / Multimodal | Am Ziel-Endpoint prüfen | Argumente, Fortsetzung, Cache-Usage, Medienvertrag |
system, Content Blocks, Cache-Felder und Anthropic-Streaming-Events.
Thinking, Streaming, Tools und Cache kontrolliert aktivieren
| Funktion | Chat Completions | Responses | Messages | Produktionsprüfung |
|---|---|---|---|---|
| Thinking | enable_thinking; reasoning_content parsen | reasoning.effort | thinking-Blocks | Qualität, Latenz und Output-Tokens messen |
| Streaming | stream: true; SSE-Chunks | Responses-Events | Anthropic-Events | Abbrüche und Teil-Output behandeln |
| Tools | Funktionen in tools | Built-in und Custom Tools | Tool-Blocks | Argumente vor Side Effects validieren |
| Caching | cache_control auf unterstütztem Inhalt | Session-Cache-Header | cache_control-Blocks | Usage prüfen, Treffer nicht annehmen |
| Multimodal | https://api.evolink.ai/v1 | Multimodal Base URL | Unterstützte Bild-Blöcke | Format und Größe live testen |
Übernehmen Sie weder QwenCloud-Preise noch Cache-Rabatte in eine EvoLink-Kalkulation. Nutzen Sie den Live-Preis der EvoLink-Produktseite.
Fehlerbehebung
| Symptom | Ursache | Nächster Schritt |
|---|---|---|
400 | Falsches Protokoll oder Pflichtfeld fehlt | Auf minimales Beispiel reduzieren |
401 | Bearer Token fehlt oder ist ungültig | Key und Header prüfen |
402 | Guthaben fehlt | Credits prüfen |
404 / Modell nicht gefunden | Route fehlt, ID geändert oder Pfad falsch | Exakte EvoLink-ID und Endpoint prüfen |
429 | Rate Limit | Exponentielles Backoff mit Jitter, weniger Parallelität |
5xx | Transienter Gateway-Fehler | Begrenzt erneut versuchen, dann Fallback |
| Leerer Text mit Thinking | Falsches Response-Feld gelesen | Reasoning- und Final-Felder prüfen |
400, 401 oder 402 nicht unverändert wiederholen. 429 und transiente 5xx nur begrenzt retryen, damit Agent-Loops Kosten und Last nicht vervielfachen.
Checkliste für den Produktions-Rollout
- Exakte EvoLink-ID in
EVOLINK_QWEN_MODELeintragen. - Einen kurzen, nicht gestreamten Call ausführen und Modell plus Usage speichern.
- Streaming, Tools, Thinking, Cache und Multimodalität einzeln testen.
- 20–50 repräsentative Aufgaben gegen die Produktionsbaseline replayen.
- Erfolgsrate, akzeptierte Latenz, Retries, Tokens und Korrekturzeit messen.
- Mit Shadow Traffic beginnen, dann einen kleinen Canary aktivieren.
- Einen verifizierten Fallback hinter demselben Gateway behalten.
- Bei Verletzung von Fehler-, Latenz-, Kosten- oder Qualitätsgrenzen zurückrollen.
Vor dem ersten Produktionsaufruf die Route prüfen
Registrieren Sie sich nicht allein wegen einer Release-Meldung. Prüfen Sie zuerst diese Punkte und erstellen Sie erst dann einen API-Key.
- 01
Veröffentlicht?
Ja. Qwen3.8 Max ist das Produktionsmodell; Preview bleibt historischer Kanalkontext.
- 02
Verfügbar?
Ja, auf EvoLink. Live-Route und Modell-ID stehen auf der Produktseite.
- 03
Für mich geeignet?
Für Long-Context-Reasoning, große Repositories und tool-intensive Agents; einfache Aufgaben gehören auf kleinere Routen.
- 04
Was kostet es?
Maßgeblich ist das Live-Preismodul der Produktseite, nicht ein Upstream- oder Preview-Preis.
- 05
Wie aufrufen?
Wählen Sie Chat Completions, Responses oder Messages und folgen Sie Integrationsleitfaden und Parameterreferenz.
Alle fünf Punkte geklärt? API-Key erstellen.
Häufig gestellte Fragen
Ist Qwen3.8 Max bereits über EvoLink aufrufbar?
qwen3.8-max, prüfen Sie die Anzeige im Konto und verlangen Sie vor Produktionsverkehr einen erfolgreichen Smoke Test.Welche Modell-ID soll ich verwenden?
qwen3.8-max, die aktuelle EvoLink-Dokumentation qwen3.8-max-preview. Halten Sie sie konfigurierbar.Welche Base URL gilt?
https://direct.evolink.ai/v1 für Text und lange Verbindungen; https://api.evolink.ai/v1 für Bild-, Audio- oder Video-Input.Chat oder Responses für eine neue Anwendung?
Chat für vorhandene OpenAI-kompatible Apps; Responses für serververknüpfte Turns, Built-in Tools und Responses-Events.
Kann ich ein Anthropic SDK verwenden?
/v1/messages und bewahren Sie Top-Level-system, max_tokens, Content Blocks und Anthropic-Events.Enthält der Leitfaden Preise?
Nein. Preise gehören zur Modellseite und Live-Preisoberfläche, damit keine veralteten Duplikate oder Keyword-Überschneidungen entstehen.
Wie behandle ich Rate Limits?
Parallelität begrenzen, bei 429 exponentielles Backoff mit Jitter verwenden, Retries begrenzen und einen Fallback halten.
Was muss vor Produktion getestet werden?
Auth, Modellauflösung, Parsing, Streaming, Tools, Thinking, Cache, Multimodalität, Timeouts, Retry-Limits, Billing und Fallback sowie Shadow- und Canary-Tests.


