Files
diarization-ui/doc/interfaces.md

105 lines
2.4 KiB
Markdown
Raw Permalink Normal View History

# Externe Schnittstellen
## Transcription-API (`API_BASE`)
Wird für Audio-/Videotranskription mit Diarisierung verwendet.
**Standard-URL:** `http://gx10.aquantico.lan:8093`
### `POST /transcribe-diarize`
Upload der Mediendatei als `multipart/form-data`.
**Request:**
```
Content-Type: multipart/form-data
field: file (binary, application/octet-stream)
```
Unterstützte Formate: alle gängigen Audio- und Videoformate (MP3, WAV, M4A, OGG, MP4, MKV, MOV, …). Die API extrahiert den Audiotrack selbst.
**Response (JSON):**
```json
{
"formatted_text": "Speaker 1: Hallo...\nSpeaker 2: ...",
...
}
```
Das Feld `formatted_text` wird als Markdown-Inhalt des `transcript`-Dokuments gespeichert. Die vollständige JSON-Antwort landet in `documents.raw_json`.
**Timeout:** 1800 s (30 Minuten, für lange Aufnahmen)
---
## Ollama (`OLLAMA_BASE_URL`)
Wird für die LLM-Analyse von Transkripten verwendet.
**Standard-URL:** `http://gx10.aquantico.lan:11434`
### `POST /api/generate`
**Request (JSON):**
```json
{
"model": "qwen3.5:9b",
"prompt": "...",
"stream": true,
"think": true,
"options": {
"num_ctx": 16384,
"num_predict": 16384,
"repeat_penalty": 1.15,
"repeat_last_n": 128
}
}
```
- `stream: true` — Antwort wird zeilenweise als JSON-Objekte gestreamt
- `think` — aktiviert Extended Thinking / Chain-of-Thought (modellabhängig)
- `num_ctx` — wird dynamisch berechnet (`_estimate_num_ctx`) oder aus den Einstellungen gelesen
- Alle `options`-Parameter sind über die Einstellungsseite oder pro Prompt konfigurierbar
**Response (NDJSON-Stream):**
```json
{"response": "Teil der Antwort", "thinking": "...", "done": false}
...
{"response": "", "done": true, "total_duration": ...}
```
Chunks werden in `_JOB_STREAMS[job_id]` gepuffert für die Live-Anzeige auf der Jobs-Seite.
**Timeout:** 1200 s
### `GET /api/tags`
Wird von `GET /settings/models` aufgerufen, um verfügbare Modelle zu listen.
**Response (JSON):**
```json
{
"models": [
{ "name": "qwen3.5:9b", ... },
...
]
}
```
**Timeout:** 5 s
---
## KI-Einstellungen (Prioritäten)
Beim Analyse-Job gelten folgende Prioritäten für die LLM-Parameter:
```
Prompt-spezifische Einstellungen (llm_use_default=0)
→ Werte aus prompts.llm_* Spalten
Globale Einstellungen (llm_use_default=1, Standard)
→ Werte aus der settings-Tabelle
Fallback
→ Umgebungsvariablen (OLLAMA_MODEL, OLLAMA_THINK, …)
```