Files
breakpilot-lehrer/klausur-service/backend/dsfa_rag_api.py
Benjamin Admin 34da9f4cda [split-required] Split 700-870 LOC files across all services
backend-lehrer (11 files):
- llm_gateway/routes/schools.py (867 → 5), recording_api.py (848 → 6)
- messenger_api.py (840 → 5), print_generator.py (824 → 5)
- unit_analytics_api.py (751 → 5), classroom/routes/context.py (726 → 4)
- llm_gateway/routes/edu_search_seeds.py (710 → 4)

klausur-service (12 files):
- ocr_labeling_api.py (845 → 4), metrics_db.py (833 → 4)
- legal_corpus_api.py (790 → 4), page_crop.py (758 → 3)
- mail/ai_service.py (747 → 4), github_crawler.py (767 → 3)
- trocr_service.py (730 → 4), full_compliance_pipeline.py (723 → 4)
- dsfa_rag_api.py (715 → 4), ocr_pipeline_auto.py (705 → 4)

website (6 pages):
- audit-checklist (867 → 8), content (806 → 6)
- screen-flow (790 → 4), scraper (789 → 5)
- zeugnisse (776 → 5), modules (745 → 4)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-25 08:01:18 +02:00

68 lines
1.6 KiB
Python

"""
DSFA RAG API Endpoints — Barrel Re-export.
Split into submodules:
- dsfa_rag_models.py — Pydantic request/response models
- dsfa_rag_embedding.py — Embedding service integration & text extraction
- dsfa_rag_routes.py — Route handlers (search, sources, ingest, stats)
Endpoints:
- GET /api/v1/dsfa-rag/search - Semantic search with attribution
- GET /api/v1/dsfa-rag/sources - List all registered sources
- POST /api/v1/dsfa-rag/sources/{code}/ingest - Trigger source ingestion
- GET /api/v1/dsfa-rag/chunks/{id} - Get single chunk with attribution
- GET /api/v1/dsfa-rag/stats - Get corpus statistics
"""
# Models
from dsfa_rag_models import (
DSFASourceResponse,
DSFAChunkResponse,
DSFASearchResultResponse,
DSFASearchResponse,
DSFASourceStatsResponse,
DSFACorpusStatsResponse,
IngestRequest,
IngestResponse,
LicenseInfo,
)
# Embedding utilities
from dsfa_rag_embedding import (
get_embedding,
get_embeddings_batch,
extract_text_from_url,
EMBEDDING_SERVICE_URL,
)
# Routes (router + set_db_pool)
from dsfa_rag_routes import (
router,
set_db_pool,
get_store,
get_qdrant,
)
__all__ = [
# Router
"router",
"set_db_pool",
"get_store",
"get_qdrant",
# Models
"DSFASourceResponse",
"DSFAChunkResponse",
"DSFASearchResultResponse",
"DSFASearchResponse",
"DSFASourceStatsResponse",
"DSFACorpusStatsResponse",
"IngestRequest",
"IngestResponse",
"LicenseInfo",
# Embedding
"get_embedding",
"get_embeddings_batch",
"extract_text_from_url",
"EMBEDDING_SERVICE_URL",
]