Dieses Modul ist ein Bestandteil des Lernassistenten. Es stellt eine API bereit, um mit verschiedenen LLM-Modellen zu interagieren, sowohl lokal als auch über externe Anbieter.
- REST-API Server zur Kommunikation mit LLMs
- Unterstützung für lokale Modelle über Ollama
- Unterstützung für externe Modelle über Groq API
- Modellverwaltung: Laden, Entladen und Auflisten von Modellen
- Nicht-streaming Generierung von Antworten
- Java 17
- HttpServer (Java SE) für die API-Schnittstelle
- JSON (org.json) für Datenverarbeitung
- Docker (optional für Deployment)
Methode | Endpunkt | Beschreibung |
---|---|---|
GET |
/api/ping |
Prüft, ob der Server läuft |
POST |
/api/generateResponseNonStreaming |
Generiert eine Antwort basierend auf einer Eingabe |
GET |
/api/listModels |
Gibt eine Liste aller verfügbaren Modelle zurück |
GET |
/api/listRunningModels |
Listet aktuell laufende Modelle auf |
POST |
/api/loadModel |
Lädt ein spezifisches Modell |
Stelle sicher, dass du Java 17+ installiert hast.
javac -d out -cp . $(find . -name "*.java")
java -cp out Main
Nach dem Start des Servers kann die API z. B. mit curl
oder Postman getestet werden:
curl -X GET http://localhost:9191/api/ping
Der API-Key für externe Modelle mussen in der Datei groqAPIKey.ini
hinterlegt werden. Diese Datei muss sich im selben Verzeichnis wie die .jar
-Datei befinden und wie folgt aufgebaut sein:
[API]
key=SecretKEY...