Das Backend führt beim Start Readiness-Checks, Datenbankinitialisierung für LLM-Quotas und ein Embedding-Warmup aus. Stelle deshalb sicher, dass Datenbank und Provider-Konfiguration erreichbar sind.
Backend:
```powershell
```powershell
cdmath-tutor/backend
cdmath-tutor/backend
...
@@ -55,16 +89,30 @@ cd math-tutor/backend
...
@@ -55,16 +89,30 @@ cd math-tutor/backend
python-muvicornapp.main:app--reload
python-muvicornapp.main:app--reload
```
```
Frontend (Vite):
Frontend:
```powershell
```powershell
cdmath-tutor/frontend
cdmath-tutor/frontend
pnpmrundev
pnpmrundev
```
```
### Task Deep Links
Das Vite-Dev-Frontend läuft auf `http://localhost:5173`. API-Aufrufe gehen im Development über den Vite-Proxy an das Backend.
## Dev-Proxy
Das Frontend ruft APIs relativ über `/api/...` auf. Im Development leitet Vite diese Reqüsts an das Backend weiter.
Sie können einen Aufgaben-Chat direkt über URL-Abfrageparameter öffnen:
Optional in `math-tutor/frontend/.env`:
```env
VITE_API_BASE_URL="http://localhost:8000"
```
Ohne diese Variable wird standardmäßig `http://localhost:8000` verwendet.
## Task Deep Links
Ein Aufgaben-Chat kann direkt per URL geöffnet werden:
-`topic_key` muss mit einem vorhandenen Sokratischen Thema aus dem Aufgabenkatalog übereinstimmen.
-`topic_key` muss im sokratischen Themenkatalog vorhanden sein.
- Die Links verwenden normalisierte Themen-Schlüssel in der URL, und die App löst diese wieder in den Katalog-Schlüssel auf.
- Die App verwendet normalisierte Themen-Schlüssel in der URL.
- Die Fallback-Seite `/select-socratic` zeigt nur das Themen-Dropdown-Menü und die Start-Schaltfläche an.
- Bei ungültigen Werten fällt das Frontend auf `/select-socratic` zurück.
- Wenn der Link ungültig ist, weicht das Frontend auf `/select-socratic` aus.
- Der Deep Link sperrt die Themenauswahl nicht daürhaft.
- Der Sokratische Dialog ist nicht durch einen Deep Link gesperrt, sodass Benutzer das Thema auch nachträglich noch wechseln können.
Um den Zugriff über das Netzwerk zu ermöglichen.
## Datenbank und Retrieval
Füge die Frontend- und Backend-Adressen in die Datei `backend/.env` im Frontend- und Backend-Ordner ein. Verwende den folgenden Befehl, um das Frontend und Backend auszuführen.
```powershell
Stelle sicher, dass `POSTGRES_URL` und die benötigten Embedding-Provider-Variablen in `backend/.env` gesetzt sind.
- Edit`math-tutor/backend/app/api/chat.py` and update `SYSTEM_PROMPT`.
Der aktülle Compose-Stack in`math-tutor/docker/docker-compose.yaml` ist ein Deployment-Template für einen externen Docker-Network-Namen `web`.
Retrieval settings:
Aktüll definiert die Datei:
- Frontend-Anfrageparameter befinden sich in `math-tutor/frontend/src/pages/App.tsx`:
- einen Service `backend-openai`
-`k`
- einen Service `frontend-openai`
-`expand_links`
- keine direkten Port-Mappings nach außen
-`neighbor_expand`
- ein externes Netzwerk `web`
- Die Backend-Standardeinstellungen sind enthalten `math-tutor/backend/app/api/retrieval.py` (`QueryRequest`).
- Die Kernlogik für das Abrufen ist vorhanden `math-tutor/backend/app/services/vector_store.py` (`retrieve`).
## Testing
Starten:
Derzeit gibt es mehrere Tests, um bestimmte Komponenten separat zu prüfen. Die genauen Aufrufe finden Sie in den Testdateien. Hier sind einige Beispielaufrufe.