AI Service¶
Unified interface for AI providers with runtime switching.
Provider Pattern¶
The AI service abstracts two providers behind a common interface:
Claude Provider — Anthropic Claude API (cloud)
Ollama Provider — Local Ollama instance (private)
Both implement: summarize(), explain_term(), generate_mindmap(), deep_dive()
Switching Providers¶
The active provider is set in backend/infra/config.py via AI_PROVIDER and can be changed at runtime.
Source Code¶
- async backend.services.ai_service.deep_dive(node_label: str, node_detail: str, context: str) list[dict][source]¶
Generiert Unterknoten für einen Mindmap-Knoten (Reinzoomen). Gibt eine Liste von Kind-Knoten zurück.
- async backend.services.ai_service.explain_term(term: str, context: str) str[source]¶
Erklärt einen Fachbegriff im Kontext des Dokuments. Gibt eine verständliche Erklärung zurück.
- async backend.services.ai_service.generate_mindmap(text: str) list[dict][source]¶
Generiert eine Mindmap-Struktur aus einem Text. Gibt eine Liste von Knoten zurück: [{“label”: str, “detail”: str, “children”: […]}]
- backend.services.ai_service.get_active_provider_name() str[source]¶
Gibt den Namen des aktuell aktiven Providers zurück.