# apply4jobs RAG Stack KI-basierter Chat-Assistent für apply4jobs.de – beantwortet Recruiter-Fragen zu Sebastian Fröhlich auf Basis seiner Bewerbungsunterlagen. ## Architektur \`\`\` apply4jobs.de (Next.js) └── ChatWidget → https://ai.apply4jobs.de/api/v1/chat/completions └── FastAPI RAG-Bridge (Port 8000) ├── multilingual-e5-small (Embeddings) ├── pgvector / PostgreSQL (Vektordatenbank) └── OpenAI GPT-4o-mini (Generierung) \`\`\` ## Stack | Service | Image | Port | |---------|-------|------| | PostgreSQL + pgvector | pgvector/pgvector:pg16 | 5432 | | Ollama | ollama/ollama:latest | 11434 | | Open WebUI | ghcr.io/open-webui/open-webui:main | 3000 | | RAG API | python:3.11-slim (custom) | 8000 | ## Voraussetzungen - Docker + Docker Compose v2 - Ubuntu 22.04 LTS - Domain mit SSL (Let's Encrypt) - OpenAI API Key (GPT-4o-mini) ## Setup ### 1. Repository klonen \`\`\`bash git clone /opt/apply4jobs cd /opt/apply4jobs \`\`\` ### 2. Umgebungsvariablen konfigurieren \`\`\`bash cp .env.example .env nano .env \`\`\` \`\`\`env OPENAI_API_KEY=sk-proj-... POSTGRES_PASSWORD=dein-sicheres-passwort \`\`\` ### 3. Stack starten \`\`\`bash docker compose up -d \`\`\` ### 4. Ollama-Modelle pullen \`\`\`bash docker exec ollama ollama pull llama3.2:3b docker exec ollama ollama pull nomic-embed-text \`\`\` ### 5. Datenbank importieren \`\`\`bash docker exec -i postgres psql -U anythingllm -d anythingllm < backup.sql \`\`\` ## RAG API Endpunkte | Methode | Endpoint | Beschreibung | |---------|----------|-------------| | GET | /health | Health Check | | GET | /v1/models | Verfügbare Modelle | | POST | /retrieve | Kontext aus pgvector abrufen | | POST | /v1/chat/completions | OpenAI-kompatibler Chat-Endpunkt | ## Kosten | Posten | Kosten/Monat | |--------|-------------| | Hetzner CPX42 | ~22 € | | OpenAI GPT-4o-mini | ~1-3 € | | **Gesamt** | **~23-25 €** | ## Wartung \`\`\`bash # Logs anzeigen docker compose logs -f rag-api # Container neu starten docker compose restart rag-api # Nach Code-Änderungen neu bauen docker compose up -d --build rag-api # SSL-Zertifikat testen certbot renew --dry-run \`\`\` ## Sicherheitshinweise - .env niemals ins Git-Repository committen - DSGVO: Datenschutzhinweis auf apply4jobs.de erforderlich - Chat-Logs werden nicht persistiert - Hetzner Rechenzentrum Deutschland = DSGVO-konform