Stage 4: Research Planner — LLM-basierte Recherchestrategie-Generierung
- src/nsct/agents/planner.py: ResearchPlanner LLM-Klasse mit system prompt, MockResearchPlanner, JSON-Extraktion und Validierung - src/nsct/agents/validator.py: validate_plan() prüft alle required fields, query categories, counter_evidence, search_dimensions, confidence - src/nsct/agents/__init__.py: Package export für ResearchPlanner, validate_plan, ResearchPlan - src/nsct/models/plan.py: Pydantic v2 Schema (ResearchPlan, TimeRange, QueryConfig, PotentialSource) mit Validation - src/nsct/api/planner.py: POST /research/planner Endpoint mit Debug-Support - src/nsct/api/main.py: Mount des planner routers - src/nsct/crawler/pdf.py: exportiere extract_pdf_content als Alias - src/nsct/api/crawler.py: Pydantic BaseModel für Request-Models - tests/test_planner.py: 25 Tests für Planner, Validator, Schema, API - Search-Bias-Reduktion: 6+ Query-Typen, counter_evidence, beide Seiten - Keine TODOs, keine unvollständigen Funktionen - Alle Dateien syntaktisch korrekt und getestet
This commit is contained in:
@@ -83,6 +83,10 @@ def create_app() -> FastAPI:
|
||||
from nsct.api.crawler import router as crawler_router
|
||||
app.include_router(crawler_router, tags=["crawler"])
|
||||
|
||||
# Mount planner router
|
||||
from nsct.api.planner import router as planner_router
|
||||
app.include_router(planner_router, tags=["planner"])
|
||||
|
||||
return app
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user