← Entwickler-Anleitungen

Raw-Prompt-Modus

Senden Sie einen benutzerdefinierten System-/User-Prompt direkt an das Modell statt an eine benannte Pipeline — Anfrageform und die Einschränkungen, die für benannte Pipelines nicht gelten.

Jede andere Anleitung in diesem Abschnitt ruft eine benannte Pipeline auf (translate-string, summarize usw.) — eine feste Prompt-Vorlage mit deklarierten Eingaben. Raw mode überspringt die Vorlage: Sie senden Ihren eigenen system_prompt und user_prompt direkt, und die Plattform führt ihn unverändert aus. Verwenden Sie es, um einen Prompt zu prototypisieren, bevor es sich lohnt, ihn zu einer echten Pipeline zu machen, oder für einen einmaligen Aufruf, der in keines der eingebauten Tools passt.

Aktivierung

Raw mode wird getrennt von benannten Pipelines freigeschaltet. Die pipelines[]-Claim Ihres JWT benötigt einen expliziten "raw"-Eintrag — dieselbe Claim, die für benannte Pipeline-IDs verwendet wird, nur mit diesem einen zusätzlichen String. Er wird nicht standardmäßig gewährt, und die meisten Endnutzer-Session-Tokens sollten ihn niemals haben: Die Kosten einer benannten Pipeline sind durch ihre Vorlage begrenzt, aber die Kosten eines Raw-Prompts sind nur dadurch begrenzt, wie lang ein Prompt Sie zu senden bereit sind und wie viele Tokens Sie das Modell generieren lassen.

Wenn Ihre App selbst Session-Tokens erstellt (siehe den Abschnitt POST /auth/token in Node.js server integration), fordern Sie "raw" nur für die spezifischen Tokens an, die es benötigen — z. B. ein internes Admin-Tool, nicht Tokens, die beliebigen Endnutzern ausgehändigt werden. Bitten Sie Ihren Plattformbetreiber zu bestätigen, dass allowed_pipelines Ihrer Application "raw" enthält, bevor Sie ein Token mit dieser Claim anfordern; eine Claim, die Ihre Application nicht gewähren darf, wird stillschweigend aus dem ausgestellten Token entfernt.

Ein statischer x-api-key (ungebunden, Operator-Scope — siehe Holen Sie sich Ihren API-Schlüssel) umgeht die Pipeline-Listen-Prüfung vollständig, genau wie bei benannten Pipelines. Ein über die Console ausgestellter, App-gebundener x-api-key und ein JWT-/Webtoken-Aufrufer benötigen beide die explizite "raw"-Freigabe.

Aufruf — SDK

const out = await ai.run({
  raw: {
    system_prompt: "You are a terse assistant. Answer in one sentence.",
    user_prompt: "What does raw mode skip that a named pipeline has?",
    temperature: 0.2,       // optional
    max_tokens: 500,        // optional, up to 32768
  },
});
console.log(out.text);

user_prompt kann auch eine Funktion von inputs sein, wenn zusammen mit ai.runMany(...) verwendet — siehe den ausführlicheren Integration Guide des SDK (fragen Sie Ihren Plattformbetreiber nach einer Kopie — er ist nicht öffentlich) für dieses Muster. ai.button(...) akzeptiert ebenfalls eine raw-Konfiguration anstelle von pipeline.

Aufruf — direktes HTTP

Erfordert Authorization: Bearer <jwt> mit der "raw"-Freigabe (ein statischer x-api-key funktioniert ebenfalls, sofern es sich um die ungebundene Operator-Art handelt — siehe oben). params ist optional, und beide Felder darin sind optional:

curl -X POST "https://api.quravin.com/tickets" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <your-jwt>" \
  -d '{
    "mode": "raw",
    "system_prompt": "You are a terse assistant. Answer in one sentence.",
    "user_prompt": "What does raw mode skip that a named pipeline has?",
    "params": { "temperature": 0.2, "max_tokens": 500 }
  }'

Antwort (202), dann genauso pollen wie bei jedem anderen Ticket — siehe Direkte API-Integration, falls Sie diese Schleife noch nicht gebaut haben:

{ "ticket_id": "01J...ULID", "status": "QUEUED" }
curl "https://api.quravin.com/tickets/01J...ULID" \
  -H "Authorization: Bearer <your-jwt>"

Antwort nach Abschluss — die Form ist immer nur text:

{
  "ticket_id": "01J...ULID",
  "status": "DONE",
  "mode": "raw",
  "result": {
    "text": "It skips the fixed prompt template and declared input schema."
  },
  "created_at": "2026-07-10T12:00:00.000Z",
  "updated_at": "2026-07-10T12:00:02.000Z"
}

Es gibt kein Pipeline-spezifisches Feld nachzuschlagen (kein translation, kein tldr) — result.text ist immer der Ort, an dem die Modellausgabe landet.

Was sich von einer benannten Pipeline unterscheidet

Fehler

Dieselbe Fehlertabelle für den authentifizierten Pfad wie bei jedem anderen Aufruf — siehe Direkte API-Integration für die vollständige Liste. Raw mode hat keine eigenen Fehler mehr — model ist nicht mehr Teil des Vertrags, also gibt es dort nichts mehr zu validieren.

Wenn Ihr JWT die "raw"-Freigabe nicht trägt, erhalten Sie denselben 403 wie beim Aufruf einer benannten Pipeline, die Sie nicht verwenden dürfen — siehe Wählen Sie Ihren Auth-Modus dafür, wie Zugangsdaten-Freigaben funktionieren.