Wiss-KI-Pur befindet sich in der Vorbereitung für den Markteintritt und ist derzeit noch nicht regulär bestellbar. Gespräche mit interessierten Unternehmen, Automatisierungspartnern und KI-Integratoren sind bereits jetzt ausdrücklich willkommen. Kontakt aufnehmen
← Technik
Technik /

API und Agentenabläufe.

Hier findest du konkrete Aufrufbeispiele für Chats, laufende Antworten, , Bildanalysen und selbst definierte Funktionen. Die Diagramme erklären, wie daraus mehrstufige KI-Agenten werden.

Modelle Chat Streaming Reasoning Tool Calling Agentenfluss Dateien & Vision Serverstatus Funktionen 10 Diagramme
Übersicht

Die verfügbaren Schnittstellen auf einen Blick.

Deine Anwendung kommuniziert über die Wiss-KI-Pur-API. Im Hintergrund übernimmt der lokale Inferenzserver die Verarbeitung.

GET /v1/models

Modelle abfragen

Liefert die über die OpenAI-kompatible API sichtbaren Modellinformationen und eignet sich zugleich als einfacher Erreichbarkeitstest.

POST /v1/chat/completions

Chat, Streaming, Reasoning, Tool Calling und Vision

Ein zentraler Endpunkt für Text-Chats, , Reasoning, strukturierte Tool-Aufrufe und nachgewiesene Bildanalyse per multimodaler Nachricht.

GET /wisskipur/capabilities

Wiss-KI-Pur-Fähigkeiten

Der Statusendpunkt informiert über wichtige Serverfähigkeiten, etwa über die Unterstützung strukturierter Funktionsaufrufe und die Reasoning-Voreinstellung.

Hinweis zum Funktionsumfang:

Ein separater Datei-Upload über /v1/files sowie native PDF- und Office-Dateieingaben sind derzeit nicht als unterstützte Funktionen dokumentiert . Für Textdateien und Bilder gibt es unten Beispiele zur Übergabe innerhalb einer Chat-Anfrage.

GET

/v1/models

Ein einfacher Aufruf ohne Nutzdaten.

curl -s https://<Wiss-KI-Pur-host>/v1/models

Die konkrete Modellkennung wird aus der Antwort übernommen und anschließend im Chat-Request verwendet.

Bei aktiviertem Zugriffsschutz muss der Client die dafür vorgesehenen Zugangsdaten mitsenden. Die erreichbare Basisadresse hängt von der jeweiligen Installation ab.

POST

/v1/chat/completions : normaler Chat

curl -s https://<Wiss-KI-Pur-host>/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "<modellkennung>",
    "messages": [
      {"role": "user", "content": "Fasse diesen Text kurz zusammen."}
    ],
    "stream": false
  }'
model Modellkennung aus /v1/models .
messages OpenAI-kompatible Nachrichtenfolge mit Rollen wie system , user , assistant und im Tool-Flow tool .
stream false für eine vollständige Antwort oder true für Streaming.
temperature / max_tokens Übliche Sampling- bzw. Ausgabelimits, soweit vom Modell/Backend akzeptiert.

Antwortformat: OpenAI-artiges JSON mit choices[].message.content und usage . Auch Bilder und Tool-Schemata werden als zusätzliche Felder an diesen Endpunkt gesendet.

Streaming

Antwort während der Erzeugung lesen.

curl -N https://<Wiss-KI-Pur-host>/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "<modellkennung>",
    "messages": [{"role": "user", "content": "Erkläre den Ablauf."}],
    "stream": true
  }'

Der Endpunkt bleibt derselbe. Der Client verarbeitet die Antwort stückweise, anstatt auf die vollständige Fertigstellung zu warten.

Der Client empfängt Streaming-Ereignisse schrittweise (Server-Sent Events). Für lokale Tests kann statt HTTPS die freigegebene LAN-Adresse mit dem dafür vorgesehenen Port genutzt werden.

Reasoning

Den Denkaufwand explizit steuern.

{
  "model": "<modellkennung>",
  "messages": [{"role":"user","content":"Prüfe die Angaben auf Widersprüche."}],
  "reasoning_effort": "medium",
  "stream": false
}
off low medium high

Wiss-KI-Pur verwendet standardmäßig Reasoning aus, sofern der Client keinen anderen Modus vorgibt. Höhere Stufen können die Ergebnisqualität bei komplexen Aufgaben verbessern, benötigen aber mehr Zeit und .

Die Werte off , low , medium und high gelten für die Reasoning-Steuerung über den Wiss-KI-Pur-Proxy. Modellabhängige Zusatzoptionen wie chat_template_kwargs.reasoning_effort = "xhigh" und enable_thinking = true werden im Bildbeispiel gezeigt.

Tools deklarieren, Ausführung bleibt bei der Anwendung.

Das Modell führt keine Funktionen auf dem Wiss-KI-Pur-Server aus. Es kann einen strukturierten Funktionsaufruf anfordern. Die aufrufende Anwendung führt die Funktion aus und sendet das Ergebnis anschließend wieder an denselben Chat-Endpunkt.

{
  "model": "<modellkennung>",
  "messages": [{"role":"user","content":"Wo befindet sich Auftrag A-000123?"}],
  "tools": [{
    "type": "function",
    "function": {
      "name": "get_order",
      "description": "Liest einen Auftrag.",
      "parameters": {
        "type": "object",
        "properties": {"order_id":{"type":"string"}},
        "required": ["order_id"],
        "additionalProperties": false
      }
    }
  }],
  "tool_choice": "auto"
}

Bei einer Werkzeugentscheidung enthält die Modellantwort einen strukturierten tool_calls -Eintrag. Nach der lokalen Ausführung wird das Ergebnis mit passender tool_call_id als Nachricht mit role: "tool" zurückgesendet.

{
  "model": "<modellkennung>",
  "messages": [
    {"role":"user","content":"Wo befindet sich Auftrag A-000123?"},
    {"role":"assistant","tool_calls":[{"id":"<call-id>","type":"function","function":{"name":"get_order","arguments":"{\"order_id\":\"A-000123\"}"}}]},
    {"role":"tool","tool_call_id":"<call-id>","content":"{\"shipment_id\":\"SHIP-000123\"}"}
  ],
  "tools": [{
    "type": "function",
    "function": {
      "name": "get_order",
      "description": "Liest einen Auftrag.",
      "parameters": {
        "type": "object",
        "properties": {"order_id":{"type":"string"}},
        "required": ["order_id"],
        "additionalProperties": false
      }
    }
  }],
  "tool_choice": "auto"
}
Agenten-Loop

Typischer Ablauf eines Agenten-Aufrufs.

Schritte 3 bis 5 können sich mehrfach wiederholen. Genau diese Schleife macht aus einfachem Function Calling einen mehrstufigen Agentenablauf.

Welche API-Aufrufe führt der Client dabei tatsächlich aus?

  1. Optional: GET /v1/models zur Modellkennung und GET /wisskipur/capabilities zur Proxy-Funktionsprüfung.
  2. Erster Aufruf: POST /v1/chat/completions mit messages , tools und tool_choice: "auto" ; optional mit Bildinhalt oder Reasoning-Parametern.
  3. Antwort: choices[].message.tool_calls mit Name, Argumenten und id ; alternativ direkte Textantwort ohne Werkzeugbedarf.
  4. Lokal: Die Kundenanwendung prüft Name und Parameter und führt die Funktion aus, z. B. get_order . Das ist kein HTTP-Aufruf auf einen Wiss-KI-Pur-Funktionsendpunkt.
  5. Fortsetzung: POST /v1/chat/completions erneut mit bisheriger Historie, der ursprünglichen Assistant-Tool-Anforderung und role: "tool" samt passender tool_call_id .
  6. Wiederholung/Ende: Bei weiteren Tool-Anforderungen werden die Schritte wiederholt; sonst wird die endgültige Antwort ausgegeben. Schleifen und Zahl der Aufrufe begrenzt der Client.
Dateien & Bilder

Dateiinhalte und Bilder übergeben, ohne eigenen Upload-Endpunkt.

Textdatei als Nachrichteninhalt

Für UTF-8-Text liest der Client die Datei lokal ein und sendet den Text als Bestandteil der nächsten messages-Nachricht an POST /v1/chat/completions. Damit wird kein Dateiobjekt auf dem Server abgelegt.

Ein eigenständiger POST /v1/files-Upload ist für diese Wiss-KI-Pur-API nicht bestätigt.

Bilder direkt in der Chat-Anfrage (Vision)

Bestätigt: Ein PNG-Bild wird auf Clientseite als Base64-kodierte data:image/png;base64,… -URL erzeugt und als type: "image_url" zusammen mit Text in messages[].content an POST /v1/chat/completions gesendet. Das ist eine multimodale Eingabe, kein separater Bild-Upload-Endpunkt.

Die Bilddatei wird in der Anfrage übertragen. Ob weitere Bildformate oder Größen unterstützt werden, hängt von der jeweiligen Modellkonfiguration ab.

Beispiel: lokale UTF-8-Datei als Text mitsenden

Die Datei wird vom aufrufenden Client eingelesen und der Inhalt als Text übertragen. Es findet kein multipart/form-data -Upload statt.

jq -n --rawfile txt beispiel.txt '{
  "model": "<modellkennung>",
  messages: [{role:"user",content:("Bitte fasse zusammen:\n" + $txt)}]
}' > /tmp/text-request.json
curl -sS http://localhost:9000/v1/chat/completions \
  -H 'Content-Type: application/json' \
  --data-binary @/tmp/text-request.json

Beispiel: PNG-Bild mit Text analysieren

Dieses Beispiel zeigt, wie ein Bild zusammen mit einer Frage übermittelt wird. Die Bilddatei liegt auf dem Client und wird in die JSON-Anfrage eingebettet.

base64 -w0 r.png > /tmp/r.b64

jq -n --rawfile img /tmp/r.b64 '{
  "model": "<modellkennung>",
  messages: [{
    role: "user",
    content: [
      {type:"image_url",image_url:{url:("data:image/png;base64," + $img)}},
      {type:"text",text:"Was ist zu sehen und in welcher Anordnung?"}
    ]
  }],
  max_tokens: 4096,
  chat_template_kwargs: {
    enable_thinking: true,
    reasoning_effort: "xhigh"
  }
}' > /tmp/vision-request-high.json

curl -sS http://localhost:9000/v1/chat/completions \
  -H 'Content-Type: application/json' \
  --data-binary @/tmp/vision-request-high.json | jq

Die chat_template_kwargs steuern das Modellverhalten in der gezeigten Konfiguration. Je nach Modell können die unterstützten Zusatzoptionen abweichen. Für Zugriffe außerhalb des lokalen Netzes ist eine passend geschützte HTTPS-Adresse erforderlich.

Rom-Collage mit links drei Bildern, rechts einem zweireihigen Petersdom-Bild und unten einem Panoramafoto
Beispielbild: Rom-Collage mit unregelmäßiger Anordnung.
Beispielbild (PNG) herunterladen

Bildnachweis: Rome Montage 2017 . Urheber: AlexTref871, Jebulon, Diliff, Keith Yahl und Thomas Wolf (foto-tw.de). Lizenz: CC BY-SA 2.5 . Für die Webdarstellung als WebP konvertiert und komprimiert.

Beispiel: Bildaufbau und Anordnung beschreiben

In dieser Collage muss die KI nicht nur einzelne Motive erkennen, sondern auch deren Anordnung zueinander beschreiben. Bei solchen Aufgaben kann aktiviertes Reasoning helfen, komplexe Bildstrukturen genauer zu erfassen.

Komplexe Bildanalysen können zusätzliche Reasoning- und Ausgabe-Token beanspruchen. Der tatsächliche Bedarf hängt von Bildgröße, Inhalt, Anfrage und Konfiguration ab.

Dateiformate: PDF- und Office-Dokumente werden nicht nativ über image_url als Dokumente verarbeitet. Für diese Formate ist eine vorherige Aufbereitung in Text- oder Bildinhalte erforderlich. Ein separater /v1/files -Upload ist nicht als unterstützter API-Aufruf dokumentiert.
Wiss-KI-Pur Status

/wisskipur/capabilities

Dieser Endpunkt gehört zur Wiss-KI-Pur-Schicht und nicht zum OpenAI-Standard. Er dient dazu, den tatsächlich wirksamen Funktionsumfang des Servers sichtbar zu machen.

curl -s https://<Wiss-KI-Pur-host>/wisskipur/capabilities

Praktisch genutzt wird der Status unter anderem für die Prüfung, ob natives Tool Calling erfolgreich verifiziert wurde, welcher Reasoning-Standard gilt und wie der vorgesehene Zugriffsschutz konfiguriert ist.

Benchmark-Werkzeuge

Alle zehn Beispiel-Funktionen.

Diese Funktionen stammen aus dem synthetischen Agenten-Benchmark. Sie sind keine eingebauten Wiss-KI-Pur-Endpunkte , sondern zeigen, wie eine Kundenanwendung eigene Werkzeuge an das Modell übergeben kann.

Funktion Parameter Beispielhafte Rolle
get_order order_id Auftragsdaten lesen
get_stock item_id Bestand prüfen
get_supplier supplier_id Lieferantendaten lesen
get_customer customer_id Kundendaten lesen
get_policy policy_id Regel/Policy prüfen
get_quality item_id Qualitätsstatus prüfen
get_ticket ticket_id Support-/Vorgangsdaten lesen
get_document document_id Dokumentinhalt lesen
get_shipping shipment_id Versandstatus lesen
get_invoice invoice_id Rechnungsdaten lesen
Ablaufdiagramme

Zehn Agenten-Szenen im Detail.

Die Diagramme stammen aus dem veröffentlichten Agenten-Benchmark und zeigen unterschiedliche Werkzeugketten, Kontrollprüfungen und Fehlerfälle.

Die Diagramme stellen Szenen aus dem Benchmark dar, keine automatisch mitgelieferten Serverfunktionen. Jede im Diagramm genannte get_… -Funktion muss der jeweilige Client selbst bereitstellen.