Files
duffyduckandClaude Opus 5.5 48fc88d430 fix(openai-wrapper): Kontext-Ueberlauf als OpenAI-400 context_length_exceeded
Bisher kam context_exceeded als 502 an — OpenAI-Clients (litellm/OpenHands)
hielten das fuer einen Serverfehler statt zu kuerzen/verdichten. Jetzt 400
mit code context_length_exceeded und dem OpenAI-ueblichen Text inkl. Zahlen.

Doku: Abschnitt "Den Verlauf verwaltet das Programm" (Kuerzen, Verdichten,
Gedaechtnis) fuer Drittprogramme.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 15:04:09 +01:00
..

OpenAI-RVS-Wrapper

Macht den ARIA-LLM-Cluster für Programme, die nur „OpenAI-kompatibel" können (OpenHands, Continue, Open WebUI …), zu einem ganz normalen OpenAI-Endpunkt auf diesem Rechner:

Programm ──HTTP──▶ Wrapper (127.0.0.1:8099) ──RVS──▶ ARIA-Bridge ──▶ KI-Box / Karte

Der Wrapper braucht nur eine ausgehende Verbindung zum RVS. Das Programm kann also stehen, wo es will — keine Portfreigabe, kein VPN.

Einrichten

cp .env.example .env      # RVS_HOST, RVS_PORT, RVS_TOKEN eintragen
docker compose up -d --build

Dann im Browser http://127.0.0.1:8099/ öffnen. Die Hilfsseite zeigt, ob die Verbindung steht, welche Modelle es gibt und was man einträgt.

Im Programm eintragen

Feld Wert
Base URL http://127.0.0.1:8099/v1
API-Key beliebig — oder WRAPPER_API_KEY, falls gesetzt
Modell ein Name von der Hilfsseite, z.B. qwen3-8b
Kontextfenster der Wert von der Hilfsseite (nicht mehr eintragen, die Box gibt nur so viel her)

Läuft das Programm selbst in Docker, ist 127.0.0.1 dort der eigene Container. Dann das Netz aria-llm anhängen und http://openai-rvs-wrapper:8099/v1 nehmen:

services:
  openhands:
    # …
    networks: [default, aria-llm]
networks:
  aria-llm:
    external: true

Was der Cluster dahinter macht

  • Jedes Modell steht in der Liste einmal, egal auf wie vielen Karten es liegt.
  • Liegt es auf mehreren Karten, verteilt der Cluster bei Last. Fällt eine Box mitten in der Anfrage aus, übernimmt eine andere mit demselben Modell.
  • Welche Modelle es gibt, legt nur die ARIA-Diagnostic fest (Einstellungen → LLM-Karten). Ein Programm kann nichts laden oder entladen.
  • Fehler (Modell nicht geladen, Cluster nicht erreichbar) kommen als HTTP-Fehler mit OpenAI-Fehlerobjekt, nie als normale Antwort.
  • stream: true geht; die Antwort kommt derzeit in einem Rutsch statt Wort für Wort.

Endpunkte: GET /v1/models, POST /v1/chat/completions, GET /health, GET / (Hilfsseite). Die Schnittstelle dahinter: docs/LLM-SCHNITTSTELLE.md.