Das GalaxyQuest Glossar nutzt jetzt Ollama LLM mit Wikipedia RAG für wissenschaftliche Definitionen.
# Install Ollama (von https://ollama.ai)
ollama pull mistral # oder: ollama pull neural-chat, llama2
# Start Ollama Server (läuft auf http://localhost:11434)
ollama serveIn .env oder Systemumgebung setzen:
OLLAMA_URL=http://localhost:11434
OLLAMA_MODEL=mistralFalls nicht gesetzt, werden Defaults verwendet.
Die glossary_cache Tabelle wird beim ersten Zugriff automatisch erstellt:
GET /api/glossary.php?action=generate&term=white_dwarfTerm Query
↓
[DB Cache Check] → Nur 5d gültig
↓
[Wikipedia API] → Contextual excerpt abrufen
↓
[Ollama LLM] → Definition mit Context generieren
↓
[Cache] → 5-Tage Speicherung
↓
UI: Toggle zwischen Static/AI Definition
Generiert eine LLM-Definitionen mit Wikipedia RAG.
Response:
{
"term": "White Dwarf",
"term_key": "white_dwarf",
"category": "Stellar Type",
"short": "...",
"full": "...",
"wikipedia_url": "https://...",
"source": "ollama_rag",
"generated_at": "2026-03-28T...",
"tokens_used": 142
}- Wenn Ollama nicht verfügbar: Nutzt statische Definitionen
- Wenn Wikipedia nicht erreichbar: Nutzt Ollama ohne Context (schwächer)
- Wenn LLM timeout: Zeigt statische Definition + Warnung
- mistral ⭐ Empfohlen (schnell, 8B)
neural-chat(spezialisiert auf Q&A)llama2(13B, qualitativ hochwertig)phi(small, schnell)
# Alternative Modelle testen:
OLLAMA_MODEL=neural-chat php api/glossary.php?action=generate&term=habitable_zone- Erstmaliger Aufruf: ~3–8 Sekunden (LLM Inference)
- Cache Hit: ~50ms
- Cache TTL: 5 Tage
- Parallel Requests: OK (Queue-basiert in Ollama)
# Ollama läuft nicht auf :11434
ollama serve// In glossary.php: timeout auf 60s erhöhen
'timeout' => 60- Andere Modelle testen:
OLLAMA_MODEL=neural-chat - Prompt in glossary.php anpassen (line ~120)
// In fetch_wikipedia_context(): SSL-Verifizierung deaktivieren
$ctx = stream_context_create([
'ssl' => ['verify_peer' => false],
'http' => ['timeout' => 5]
]);- 🟣 Statische Definition + "AI Enhanced" Button
- Klick → Lädt LLM-Version & togglet Anzeige
- Loading-Spinner während Generierung
- Badge "with AI" im Header
// Nutzer kann anklicken zum Umschalten
Static ↔️ AI-Enhanced DefinitionCREATE TABLE glossary_cache (
id INT AUTO_INCREMENT PRIMARY KEY,
term_key VARCHAR(30) UNIQUE NOT NULL,
definition_json LONGTEXT NOT NULL,
generated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
INDEX idx_termkey (term_key),
INDEX idx_generated (generated_at)
) ENGINE=InnoDB;
-- Max Cache Size: ~5MB für 1000 Einträge á 5KB
-- Auto-Cleanup: DELETE WHERE generated_at < DATE_SUB(NOW(), INTERVAL 5 DAY)Jede Definition enthält Links zu:
- 📖 Wikipedia – Kontextueller Überblick
- 📄 ArXiv Papers – Tiefgreifende Forschung
- 🤖 LLM-Synthese – Interdisziplinäre Erklärung
Siehe: ARCHITECTURE.md
Last Updated: 28. März 2026
Status: ✅ Phase E.1 Complete + RAG Integration