diff --git a/admin-compliance/app/sdk/architecture/architecture-data.ts b/admin-compliance/app/sdk/architecture/architecture-data.ts index 4840cf5..2fefc66 100644 --- a/admin-compliance/app/sdk/architecture/architecture-data.ts +++ b/admin-compliance/app/sdk/architecture/architecture-data.ts @@ -188,7 +188,7 @@ export const ARCH_SERVICES: ArchService[] = [ url: 'https://macmini:8093', container: 'bp-compliance-ai-sdk', description: 'KI-konforme Compliance-Analyse: UCCA, Training, RAG-Suche, IACE, Portfolio, Roadmap, Workshop.', - descriptionLong: 'Der AI Compliance SDK Service ist in Go geschrieben und bietet KI-gestuetzte Compliance-Analysen. Er fuehrt UCCA-Bewertungen (Use Case Compliance Assessments) durch, verwaltet Schulungsmodule mit Fortschrittstracking und durchsucht Rechtstexte per RAG (Retrieval Augmented Generation) ueber Qdrant. Als LLM wird primaer Ollama (qwen3:30b-a3b) lokal genutzt, mit Fallback auf Claude Sonnet ueber die Anthropic API.', + descriptionLong: 'Der AI Compliance SDK Service ist in Go geschrieben und bietet KI-gestuetzte Compliance-Analysen. Er fuehrt UCCA-Bewertungen (Use Case Compliance Assessments) durch, verwaltet Schulungsmodule mit Fortschrittstracking und durchsucht Rechtstexte per RAG (Retrieval Augmented Generation) ueber Qdrant. Als LLM wird primaer Ollama (qwen3.5:35b-a3b) lokal genutzt, mit Fallback auf Claude Sonnet ueber die Anthropic API.', dbTables: [ 'ai_assessments', 'ai_training_modules', 'ai_training_progress', ], @@ -323,8 +323,8 @@ export const ARCH_SERVICES: ArchService[] = [ port: 11434, url: null, container: 'bp-core-ollama', - description: 'Lokaler LLM-Server. Modell: qwen3:30b-a3b. Fallback: Claude Sonnet via Anthropic API.', - descriptionLong: 'Ollama hostet ein lokales Large Language Model (qwen3:30b-a3b) fuer Compliance-Analysen, Textgenerierung und UCCA-Bewertungen. Durch die lokale Ausfuehrung bleiben alle Daten im eigenen Netzwerk — ein zentraler Vorteil fuer DSGVO-Konformitaet. Ist das lokale Modell nicht verfuegbar oder die Aufgabe zu komplex, wird automatisch auf Claude Sonnet ueber die Anthropic API zurueckgegriffen.', + description: 'Lokaler LLM-Server. Modell: qwen3.5:35b-a3b. Fallback: Claude Sonnet via Anthropic API.', + descriptionLong: 'Ollama hostet ein lokales Large Language Model (qwen3.5:35b-a3b) fuer Compliance-Analysen, Textgenerierung und UCCA-Bewertungen. Durch die lokale Ausfuehrung bleiben alle Daten im eigenen Netzwerk — ein zentraler Vorteil fuer DSGVO-Konformitaet. Ist das lokale Modell nicht verfuegbar oder die Aufgabe zu komplex, wird automatisch auf Claude Sonnet ueber die Anthropic API zurueckgegriffen.', dbTables: [], ragCollections: [], apiEndpoints: [], diff --git a/backend-compliance/compliance/api/import_routes.py b/backend-compliance/compliance/api/import_routes.py index b280bf3..14d8044 100644 --- a/backend-compliance/compliance/api/import_routes.py +++ b/backend-compliance/compliance/api/import_routes.py @@ -22,7 +22,7 @@ logger = logging.getLogger(__name__) router = APIRouter(prefix="/v1/import", tags=["document-import"]) OLLAMA_URL = os.getenv("OLLAMA_URL", "http://host.docker.internal:11434") -LLM_MODEL = os.getenv("COMPLIANCE_LLM_MODEL", "qwen3:30b-a3b") +LLM_MODEL = os.getenv("COMPLIANCE_LLM_MODEL", "qwen3.5:35b-a3b") # ============================================================================= # DOCUMENT TYPE DETECTION diff --git a/docker-compose.yml b/docker-compose.yml index 84db1f5..27cce42 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -55,7 +55,7 @@ services: CONSENT_SERVICE_URL: http://bp-core-consent-service:8081 SDK_URL: http://ai-compliance-sdk:8090 OLLAMA_URL: ${OLLAMA_URL:-http://host.docker.internal:11434} - COMPLIANCE_LLM_MODEL: ${COMPLIANCE_LLM_MODEL:-qwen3:30b-a3b} + COMPLIANCE_LLM_MODEL: ${COMPLIANCE_LLM_MODEL:-qwen3.5:35b-a3b} extra_hosts: - "host.docker.internal:host-gateway" depends_on: @@ -102,7 +102,7 @@ services: SESSION_TTL_HOURS: ${SESSION_TTL_HOURS:-24} COMPLIANCE_LLM_PROVIDER: ${COMPLIANCE_LLM_PROVIDER:-ollama} SELF_HOSTED_LLM_URL: ${SELF_HOSTED_LLM_URL:-http://host.docker.internal:11434} - SELF_HOSTED_LLM_MODEL: ${SELF_HOSTED_LLM_MODEL:-qwen3:30b-a3b} + SELF_HOSTED_LLM_MODEL: ${SELF_HOSTED_LLM_MODEL:-qwen3.5:35b-a3b} COMPLIANCE_LLM_MAX_TOKENS: ${COMPLIANCE_LLM_MAX_TOKENS:-4096} COMPLIANCE_LLM_TEMPERATURE: ${COMPLIANCE_LLM_TEMPERATURE:-0.3} COMPLIANCE_LLM_TIMEOUT: ${COMPLIANCE_LLM_TIMEOUT:-120} @@ -140,7 +140,7 @@ services: LLM_PROVIDER: ${COMPLIANCE_LLM_PROVIDER:-ollama} LLM_FALLBACK_PROVIDER: ${LLM_FALLBACK_PROVIDER:-} OLLAMA_URL: ${OLLAMA_URL:-http://host.docker.internal:11434} - OLLAMA_DEFAULT_MODEL: ${OLLAMA_DEFAULT_MODEL:-qwen3:30b-a3b} + OLLAMA_DEFAULT_MODEL: ${OLLAMA_DEFAULT_MODEL:-qwen3.5:35b-a3b} ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-} ANTHROPIC_DEFAULT_MODEL: ${ANTHROPIC_DEFAULT_MODEL:-claude-sonnet-4-5-20250929} PII_REDACTION_ENABLED: ${PII_REDACTION_ENABLED:-true}