From d841fb823a4f61a2e2cede982d9382f89aa14177 Mon Sep 17 00:00:00 2001 From: lasta Date: Fri, 22 May 2026 00:22:03 +0900 Subject: [PATCH] graph --- .gitignore | 2 + docs/PHASE_PLANNING.md | 13 +- docs/PHASE_WORKFLOW.md | 2 +- .../crawler_platform/app/api/routes.py | 131 +++- .../crawler_platform/app/cli/main.py | 4 + .../app/core/crawler/pipeline.py | 21 + .../app/core/crawler/site_crawler.py | 21 + .../app/core/database/repository.py | 10 +- .../app/core/extractor/ai_provider.py | 12 +- .../app/core/extractor/factory.py | 57 +- .../app/core/extractor/hybrid.py | 438 ++++++++++++ .../app/core/extractor/validation.py | 152 ++++- .../app/core/ontology/relation_schema.py | 16 +- .../app/core/research/graph_research_loop.py | 15 + .../app/domains/perfume/extractor.py | 42 +- ontology_platform/data/crawler_platform.db | Bin 25300992 -> 25300992 bytes ...phase_07_001_hybrid_rule_llm_extraction.md | 415 +++++++++++ ontology_platform/docs/phases/PHASE_INDEX.md | 11 + ontology_platform/ont_platform/api/main.py | 43 +- ontology_platform/pyproject.toml | 2 +- .../test_perfume_extraction_brand_price.py | 79 +++ .../unit/test_phase7_hybrid_extraction.py | 144 ++++ .../web/frontend/src/lib/api/claims.ts | 5 + .../web/frontend/src/lib/api/crawl.ts | 20 + .../web/frontend/src/lib/api/platform.ts | 14 + .../web/frontend/src/lib/api/research.ts | 2 + .../web/frontend/src/pages/CrawlPage.tsx | 69 ++ .../web/frontend/src/pages/GraphViewPage.tsx | 643 +++++++++++++++--- .../frontend/src/pages/PageAnalysisPage.tsx | 89 +++ .../web/frontend/src/pages/ResearchPage.tsx | 73 ++ .../web/frontend/src/pages/ReviewPage.tsx | 124 +++- restart_all_servers.bat | 240 ++++++- tests/api/test_phase5_app.py | 448 ------------ tests/core/__init__.py | 0 tests/core/graph/__init__.py | 0 tests/core/graph/test_entity_resolver.py | 338 --------- tests/core/graph/test_rdf_converter.py | 30 - tests/core/graph/test_subgraph_retriever.py | 458 ------------- tests/fixtures/sample_perfume.html | 17 - .../test_phase5_phase7_integration.py | 221 ------ tests/test_config_loader.py | 12 - tests/test_content_quality.py | 457 ------------- tests/test_generic_ontology_core.py | 208 ------ tests/test_perfume_extractor.py | 31 - tests/test_phase7_llm_integration.py | 541 --------------- tests/test_phase8_enterprise.py | 491 ------------- tests/test_research.py | 151 ---- tests/test_site_crawler.py | 162 ----- tests/test_smoke_unittest.py | 21 - 49 files changed, 2732 insertions(+), 3763 deletions(-) create mode 100644 ontology_platform/crawler_platform/app/core/extractor/hybrid.py create mode 100644 ontology_platform/docs/phases/26_05_19_engine_respect_plan/phase_07_001_hybrid_rule_llm_extraction.md create mode 100644 ontology_platform/tests/unit/test_perfume_extraction_brand_price.py create mode 100644 ontology_platform/tests/unit/test_phase7_hybrid_extraction.py delete mode 100644 tests/api/test_phase5_app.py delete mode 100644 tests/core/__init__.py delete mode 100644 tests/core/graph/__init__.py delete mode 100644 tests/core/graph/test_entity_resolver.py delete mode 100644 tests/core/graph/test_rdf_converter.py delete mode 100644 tests/core/graph/test_subgraph_retriever.py delete mode 100644 tests/fixtures/sample_perfume.html delete mode 100644 tests/integration/test_phase5_phase7_integration.py delete mode 100644 tests/test_config_loader.py delete mode 100644 tests/test_content_quality.py delete mode 100644 tests/test_generic_ontology_core.py delete mode 100644 tests/test_perfume_extractor.py delete mode 100644 tests/test_phase7_llm_integration.py delete mode 100644 tests/test_phase8_enterprise.py delete mode 100644 tests/test_research.py delete mode 100644 tests/test_site_crawler.py delete mode 100644 tests/test_smoke_unittest.py diff --git a/.gitignore b/.gitignore index 071b10b..ea31646 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,6 @@ __pycache__/ *.sqlite3-* uvicorn.*.log .server-logs/ +.env +ontology_platform/.env /ontology_platform/data/ui_projects.json diff --git a/docs/PHASE_PLANNING.md b/docs/PHASE_PLANNING.md index bc2e2d4..d9e646f 100644 --- a/docs/PHASE_PLANNING.md +++ b/docs/PHASE_PLANNING.md @@ -2,12 +2,13 @@ PHASE_PLANNING.md 요청된 작업을 다음 순서로 진행한다. -0. 이전 PHASE_INDEX.md 다른이름 으로 변경. (예 : 26_05_19_PHASE_INDEX.md) -1. 요청된 작업 폴더 생성 (예 : 26_05_19_기능개선 ) -2. 해당 작업을 분석후 Phase 계획 -3. Phase별로 상세 작업 계획을 세운후 PHASE_INDEX.md 새로 생성후 작성. 작성 방법은 아래 # PHASE INDEX EXAMPLE 참조 -4. Phase별 상세작업 계획은 1에 의해 생성된 폴더아래 파일을 만들어 저장( 예 : phase_01_001_pipeline.md) -5. 생성된 파일은 PHASE_INDEX.md의 해당 PHASE의 FILE: 에 기록 +0. 이전 PHASE_INDEX.md 파일은 백업을 목적으로 다른이름 으로 변경. (예 : 26_05_19_PHASE_INDEX.md) +1. 새로운 PHASE_INDEX.md 파일 생성. 이전 내용은 완전히 삭제된 상태로 시작. +2. 새로운 작업은 반드시 새로운 폴더를 생성해서 요청된 작업 폴더 생성 (예 : 26_05_19_기능개선 ) +3. 해당 작업을 분석후 Phase 계획 +4. Phase별로 상세 작업 계획을 세운후 PHASE_INDEX.md 파일에 작성. 작성 방법은 아래 # PHASE INDEX EXAMPLE 참조. 세부 항목의 끝에는 반드시 [TODO] 표시를 해서 작업이 완료되지 않았음을 명확히 한다. (예 : 1) Source Crawl, Page Clean [TODO]) +5. Phase별 상세작업 계획은 2에 의해 생성된 폴더아래 파일을 만들어 저장( 예 : phase_01_001_pipeline.md) +6. 5번 항목에 의해 생성된 파일은 PHASE_INDEX.md의 해당 PHASE의 FILE: 에 기록해 참조 하도록 한다. (예 : FILE: ./26_05_19_기능개선/phase_01_001_pipeline.md) # PHASE INDEX EXAMPLE diff --git a/docs/PHASE_WORKFLOW.md b/docs/PHASE_WORKFLOW.md index 793e74b..154f03e 100644 --- a/docs/PHASE_WORKFLOW.md +++ b/docs/PHASE_WORKFLOW.md @@ -64,7 +64,7 @@ phase 파일은 상태 기록 용도로 사용하지 않는다. 를 의미한다. -이 경우 반드시 작업 전,후 PHASE_INDEX.md에 아래 예처럼 기록한다. +이 경우 반드시 작업 전,후 PHASE_INDEX.md파일의 해당 phase의 세부항목인 [진행중] 항목 아래에 다음 예 처럼 기록한다. PHASE 3. Claim Review 개선 FILE: ./26_05_19_기능개선/phase_03_002_metadata_display.md diff --git a/ontology_platform/crawler_platform/app/api/routes.py b/ontology_platform/crawler_platform/app/api/routes.py index 56e9e64..bfb20d3 100644 --- a/ontology_platform/crawler_platform/app/api/routes.py +++ b/ontology_platform/crawler_platform/app/api/routes.py @@ -4,12 +4,14 @@ import csv import io import json import re +import time from dataclasses import asdict from typing import Any from fastapi import BackgroundTasks, HTTPException, Response from pydantic import BaseModel, Field from sqlalchemy import select +from sqlalchemy.exc import OperationalError from crawler_platform.app.config.loader import ( ProjectConfig, @@ -41,15 +43,18 @@ from crawler_platform.app.core.research.memory_store import ResearchMemoryStore, DOMAIN_NAME_PATTERN = re.compile(r"^[a-z0-9][a-z0-9_-]{1,79}$") +SITE_CRAWL_CANCEL_REQUESTS: set[int] = set() class CrawlRequest(BaseModel): config_path: str source_name: str url: str + extraction_mode: str = "hybrid" extractor_provider: str = "lm_studio" extractor_model: str | None = None extractor_base_url: str | None = "http://localhost:1234/v1" + fallback_to_rules: bool = True check_robots_txt: bool = False respect_robots_txt: bool | None = None @@ -67,9 +72,11 @@ class SiteCrawlByProjectRequest(BaseModel): project_name: str source_name: str url: str + extraction_mode: str = "hybrid" extractor_provider: str = "lm_studio" extractor_model: str | None = None extractor_base_url: str | None = "http://localhost:1234/v1" + fallback_to_rules: bool = True check_robots_txt: bool = False respect_robots_txt: bool | None = None max_depth: int = 2 @@ -85,9 +92,11 @@ class SiteCrawlByProjectRequest(BaseModel): config_path=config_path_placeholder, source_name=self.source_name, url=self.url, + extraction_mode=self.extraction_mode, extractor_provider=self.extractor_provider, extractor_model=self.extractor_model, extractor_base_url=self.extractor_base_url, + fallback_to_rules=self.fallback_to_rules, check_robots_txt=self.check_robots_txt, respect_robots_txt=self.respect_robots_txt, max_depth=self.max_depth, @@ -535,9 +544,11 @@ class ResearchRunByProjectRequest(BaseModel): url: str | None = None seed_entity_id: int | None = None goal: str = "Semantic ontology exploration" + extraction_mode: str = "hybrid" extractor_provider: str = "lm_studio" extractor_model: str | None = None extractor_base_url: str | None = "http://localhost:1234/v1" + fallback_to_rules: bool = True check_robots_txt: bool = False respect_robots_txt: bool | None = None max_depth: int = 2 @@ -622,6 +633,20 @@ def site_crawl_progress_payload(result, latest_page=None) -> dict[str, Any]: payload = asdict(result) if latest_page is not None: payload["latest_page"] = asdict(latest_page) + pages = payload.get("pages") or [] + payload["extraction_summary"] = { + "llm_skipped_count": sum(1 for page in pages if page.get("llm_skipped")), + "fallback_count": sum(1 for page in pages if page.get("fallback_used")), + "conflict_claim_count": sum(int(page.get("conflict_claim_count") or 0) for page in pages), + "agreement_claim_count": sum(int(page.get("agreement_claim_count") or 0) for page in pages), + "llm_call_count": sum( + 1 + for page in pages + if page.get("extraction_mode") in {"hybrid", "llm_only", "compare"} + and not page.get("llm_skipped") + and not page.get("fallback_used") + ), + } return payload @@ -696,7 +721,58 @@ def update_site_crawl_job_metadata(job: models.CrawlJob, **updates: Any) -> None job.metadata_json = metadata +def mark_orphan_site_crawl_jobs_canceled(database_url: str) -> None: + with session_scope(database_url) as session: + rows = session.scalars( + select(models.CrawlJob).where( + models.CrawlJob.status.in_(["running", "cancel_requested"]), + ) + ).all() + for job in rows: + if (job.metadata_json or {}).get("kind") != "site_crawl": + continue + job.status = "canceled" + job.error = job.error or "canceled after server restart/interrupted crawl" + job.finished_at = models.utcnow() + + +def request_site_crawl_cancel(database_url: str, job_id: int) -> dict[str, Any]: + SITE_CRAWL_CANCEL_REQUESTS.add(job_id) + last_error: Exception | None = None + for attempt in range(3): + try: + with session_scope(database_url) as session: + job = session.get(models.CrawlJob, job_id) + if job is None or (job.metadata_json or {}).get("kind") != "site_crawl": + raise HTTPException(status_code=404, detail="site crawl job not found") + if job.status in {"completed", "failed", "canceled"}: + SITE_CRAWL_CANCEL_REQUESTS.discard(job_id) + return crawl_job_response(job) + job.status = "cancel_requested" + job.error = "cancel requested by user" + payload = crawl_job_response(job) + return payload + except OperationalError as exc: + last_error = exc + if "database is locked" not in str(exc).lower(): + raise + time.sleep(0.25 * (attempt + 1)) + return { + "job_id": job_id, + "status": "cancel_requested", + "url": None, + "error": f"cancel requested in memory; database was locked: {last_error}", + "scheduled_at": None, + "started_at": None, + "finished_at": None, + "progress": {}, + "request": {}, + } + + def is_site_crawl_cancel_requested(session, job_id: int) -> bool: + if job_id in SITE_CRAWL_CANCEL_REQUESTS: + return True session.expire_all() job = session.get(models.CrawlJob, job_id) return job is None or job.status == "cancel_requested" @@ -744,6 +820,8 @@ def run_site_crawl_job(database_url: str, job_id: int, request_data: dict[str, A provider=request.extractor_provider, model=request.extractor_model, base_url=request.extractor_base_url, + extraction_mode=request.extraction_mode, + fallback_to_rules=request.fallback_to_rules, ), ) @@ -775,12 +853,17 @@ def run_site_crawl_job(database_url: str, job_id: int, request_data: dict[str, A finished_job = session.get(models.CrawlJob, job_id) if finished_job is not None: - finished_job.status = "canceled" if finished_job.status == "cancel_requested" else "completed" + finished_job.status = ( + "canceled" + if finished_job.status == "cancel_requested" or job_id in SITE_CRAWL_CANCEL_REQUESTS + else "completed" + ) finished_job.finished_at = models.utcnow() update_site_crawl_job_metadata( finished_job, progress=site_crawl_progress_payload(result), ) + SITE_CRAWL_CANCEL_REQUESTS.discard(job_id) except Exception as exc: with session_scope(database_url) as session: job = session.get(models.CrawlJob, job_id) @@ -792,10 +875,12 @@ def run_site_crawl_job(database_url: str, job_id: int, request_data: dict[str, A progress = dict(metadata.get("progress") or {}) progress["errors"] = [*progress.get("errors", []), str(exc)] update_site_crawl_job_metadata(job, progress=progress) + SITE_CRAWL_CANCEL_REQUESTS.discard(job_id) def register_routes(app, database_url: str) -> None: recover_interrupted_domain_discovery_jobs(database_url) + mark_orphan_site_crawl_jobs_canceled(database_url) @app.get("/health") def health(): @@ -1536,6 +1621,8 @@ def register_routes(app, database_url: str) -> None: provider=request.extractor_provider, model=request.extractor_model, base_url=request.extractor_base_url, + extraction_mode=request.extraction_mode, + fallback_to_rules=request.fallback_to_rules, ), ) try: @@ -1546,6 +1633,13 @@ def register_routes(app, database_url: str) -> None: "page_id": result.page_id, "claim_count": result.claim_count, "entity_count": result.entity_count, + "extraction_mode": result.extraction_mode, + "effective_extraction_mode": result.effective_extraction_mode, + "llm_skipped": result.llm_skipped, + "llm_skip_reason": result.llm_skip_reason, + "fallback_used": result.fallback_used, + "agreement_claim_count": result.agreement_claim_count, + "conflict_claim_count": result.conflict_claim_count, "crawl_status": result.crawl_status, "extraction_status": result.extraction_status, "page_type": result.page_type, @@ -1648,15 +1742,7 @@ def register_routes(app, database_url: str) -> None: @app.post("/crawl-site/jobs/{job_id}/cancel") def cancel_crawl_site_job(job_id: int): - with session_scope(database_url) as session: - job = session.get(models.CrawlJob, job_id) - if job is None or (job.metadata_json or {}).get("kind") != "site_crawl": - raise HTTPException(status_code=404, detail="site crawl job not found") - if job.status in {"completed", "failed", "canceled"}: - return crawl_job_response(job) - job.status = "cancel_requested" - job.error = "cancel requested by user" - return crawl_job_response(job) + return request_site_crawl_cancel(database_url, job_id) @app.post("/discover") def discover(request: DiscoverRequest): @@ -1705,6 +1791,8 @@ def register_routes(app, database_url: str) -> None: provider=request.extractor_provider, model=request.extractor_model, base_url=request.extractor_base_url, + extraction_mode=request.extraction_mode, + fallback_to_rules=request.fallback_to_rules, ), ) try: @@ -1749,6 +1837,8 @@ def register_routes(app, database_url: str) -> None: provider=request.extractor_provider, model=request.extractor_model, base_url=request.extractor_base_url, + extraction_mode=request.extraction_mode, + fallback_to_rules=request.fallback_to_rules, ), ) try: @@ -2080,6 +2170,11 @@ def register_routes(app, database_url: str) -> None: "graph_merge_status": (claim.metadata_json or {}).get("graph_merge_status"), "graph_merge_reason": (claim.metadata_json or {}).get("graph_merge_reason"), "confidence_breakdown": (claim.metadata_json or {}).get("confidence_breakdown"), + "agreement": (claim.metadata_json or {}).get("agreement"), + "extraction_source": (claim.metadata_json or {}).get("extraction_source"), + "claim_kind": (claim.metadata_json or {}).get("claim_kind"), + "rule_confidence": (claim.metadata_json or {}).get("rule_confidence"), + "llm_confidence": (claim.metadata_json or {}).get("llm_confidence"), "review_required": (claim.metadata_json or {}).get("review_required"), "review_reason": (claim.metadata_json or {}).get("review_reason"), "conflict_status": (claim.metadata_json or {}).get("conflict_status"), @@ -2243,9 +2338,11 @@ def register_routes(app, database_url: str) -> None: config_path="", source_name=source.name, url=url, + extraction_mode=str(latest_request.get("extraction_mode") or "hybrid"), extractor_provider=str(latest_request.get("extractor_provider") or "lm_studio"), extractor_model=latest_request.get("extractor_model"), extractor_base_url=latest_request.get("extractor_base_url") or "http://localhost:1234/v1", + fallback_to_rules=bool(latest_request.get("fallback_to_rules", True)), check_robots_txt=bool(latest_request.get("check_robots_txt") or False), respect_robots_txt=latest_request.get("respect_robots_txt"), max_depth=int(latest_request.get("max_depth") or 2), @@ -2404,6 +2501,20 @@ def register_routes(app, database_url: str) -> None: "validation": (log.raw_output or {}).get("validation"), "page_context": (log.raw_output or {}).get("page_context"), "candidate_count": len((log.raw_output or {}).get("candidate_claims") or []), + "extraction_mode": (log.raw_output or {}).get("extraction_mode"), + "effective_extraction_mode": (log.raw_output or {}).get("effective_extraction_mode"), + "comparison": (log.raw_output or {}).get("comparison"), + "rule_entity_count": (log.raw_output or {}).get("rule_entity_count"), + "rule_claim_count": (log.raw_output or {}).get("rule_claim_count"), + "llm_entity_count": (log.raw_output or {}).get("llm_entity_count"), + "llm_claim_count": (log.raw_output or {}).get("llm_claim_count"), + "agreement_claim_count": (log.raw_output or {}).get("agreement_claim_count"), + "rule_only_claim_count": (log.raw_output or {}).get("rule_only_claim_count"), + "llm_only_claim_count": (log.raw_output or {}).get("llm_only_claim_count"), + "conflict_claim_count": (log.raw_output or {}).get("conflict_claim_count"), + "llm_skipped": (log.raw_output or {}).get("llm_skipped"), + "llm_skip_reason": (log.raw_output or {}).get("llm_skip_reason"), + "fallback": (log.raw_output or {}).get("fallback"), "raw_output": log.raw_output, } for log, page in rows diff --git a/ontology_platform/crawler_platform/app/cli/main.py b/ontology_platform/crawler_platform/app/cli/main.py index 2d00ba0..d71b62b 100644 --- a/ontology_platform/crawler_platform/app/cli/main.py +++ b/ontology_platform/crawler_platform/app/cli/main.py @@ -37,6 +37,8 @@ def build_parser() -> argparse.ArgumentParser: crawl.add_argument("--extractor-provider", default="rule_based", choices=["rule_based", "openai", "ollama", "lm_studio"]) crawl.add_argument("--extractor-model") crawl.add_argument("--extractor-base-url") + crawl.add_argument("--extraction-mode", default=None, choices=["rule_only", "llm_only", "hybrid", "compare"]) + crawl.add_argument("--no-rule-fallback", action="store_true") claims = sub.add_parser("claims") claims.add_argument("--project", required=True) @@ -81,6 +83,8 @@ def main() -> None: provider=args.extractor_provider, model=args.extractor_model, base_url=args.extractor_base_url, + extraction_mode=args.extraction_mode, + fallback_to_rules=not args.no_rule_fallback, ), ) result = pipeline.crawl_url(config, args.source, args.url) diff --git a/ontology_platform/crawler_platform/app/core/crawler/pipeline.py b/ontology_platform/crawler_platform/app/core/crawler/pipeline.py index 0c98373..596d2b3 100644 --- a/ontology_platform/crawler_platform/app/core/crawler/pipeline.py +++ b/ontology_platform/crawler_platform/app/core/crawler/pipeline.py @@ -16,6 +16,13 @@ class CrawlResult: page_id: int claim_count: int entity_count: int + extraction_mode: str | None = None + effective_extraction_mode: str | None = None + llm_skipped: bool = False + llm_skip_reason: str | None = None + fallback_used: bool = False + agreement_claim_count: int = 0 + conflict_claim_count: int = 0 crawl_status: str = "success" extraction_status: str = "success" page_type: str = "UnknownPage" @@ -112,10 +119,12 @@ class CrawlPipeline: bundle = self.extractor.extract_from_context(context, project_config) bundle = attach_page_context(bundle, context) claims = self.repository.save_extraction_bundle(project.id, source, page, bundle, project_config) + extraction_summary = extraction_summary_from_raw(bundle.raw_output) return CrawlResult( page_id=page.id, claim_count=len(claims), entity_count=len(bundle.entities), + **extraction_summary, crawl_status=fetch_result.crawl_status, extraction_status=parsed.extraction_status, page_type=page_type, @@ -125,3 +134,15 @@ class CrawlPipeline: robots_status=robots_decision.status, robots_reason=robots_decision.reason, ) + + +def extraction_summary_from_raw(raw_output: dict[str, object]) -> dict[str, object]: + return { + "extraction_mode": raw_output.get("extraction_mode"), + "effective_extraction_mode": raw_output.get("effective_extraction_mode"), + "llm_skipped": bool(raw_output.get("llm_skipped")), + "llm_skip_reason": raw_output.get("llm_skip_reason"), + "fallback_used": bool(raw_output.get("fallback")), + "agreement_claim_count": int(raw_output.get("agreement_claim_count") or 0), + "conflict_claim_count": int(raw_output.get("conflict_claim_count") or 0), + } diff --git a/ontology_platform/crawler_platform/app/core/crawler/site_crawler.py b/ontology_platform/crawler_platform/app/core/crawler/site_crawler.py index f6016a9..281e2e6 100644 --- a/ontology_platform/crawler_platform/app/core/crawler/site_crawler.py +++ b/ontology_platform/crawler_platform/app/core/crawler/site_crawler.py @@ -28,6 +28,13 @@ class SiteCrawlPageResult: page_id: int | None = None claim_count: int = 0 entity_count: int = 0 + extraction_mode: str | None = None + effective_extraction_mode: str | None = None + llm_skipped: bool = False + llm_skip_reason: str | None = None + fallback_used: bool = False + agreement_claim_count: int = 0 + conflict_claim_count: int = 0 discovered_count: int = 0 crawl_status: str = "success" extraction_status: str = "unknown" @@ -331,6 +338,7 @@ class SiteCrawler: bundle = self.extractor.extract_from_context(context, project_config) bundle = attach_page_context(bundle, context) claims = self.repository.save_extraction_bundle(source.project_id, source, page, bundle, project_config) + extraction_summary = extraction_summary_from_raw(bundle.raw_output) self._finish_job(job, "completed") result.analyzed_count += 1 page_result = SiteCrawlPageResult( @@ -338,6 +346,7 @@ class SiteCrawler: status="completed", claim_count=len(claims), entity_count=len(bundle.entities), + **extraction_summary, ) else: self._finish_job(job, "discovered") @@ -441,3 +450,15 @@ def classify_page( source_zones: list[dict[str, object]] | None = None, ) -> str: return classify_page_type(url, title, text, html=html, source_zones=source_zones) + + +def extraction_summary_from_raw(raw_output: dict[str, object]) -> dict[str, object]: + return { + "extraction_mode": raw_output.get("extraction_mode"), + "effective_extraction_mode": raw_output.get("effective_extraction_mode"), + "llm_skipped": bool(raw_output.get("llm_skipped")), + "llm_skip_reason": raw_output.get("llm_skip_reason"), + "fallback_used": bool(raw_output.get("fallback")), + "agreement_claim_count": int(raw_output.get("agreement_claim_count") or 0), + "conflict_claim_count": int(raw_output.get("conflict_claim_count") or 0), + } diff --git a/ontology_platform/crawler_platform/app/core/database/repository.py b/ontology_platform/crawler_platform/app/core/database/repository.py index 00906b2..411878b 100644 --- a/ontology_platform/crawler_platform/app/core/database/repository.py +++ b/ontology_platform/crawler_platform/app/core/database/repository.py @@ -197,6 +197,7 @@ class KnowledgeRepository: claims: list[models.Claim] = [] for extracted_claim in bundle.claims: + claim_status_for_row = claim_status subject = self._entity_for_claim(project_id, extracted_claim.subject_type, extracted_claim.subject_name, entity_index) object_entity = None if extracted_claim.object_name and extracted_claim.object_type: @@ -211,6 +212,9 @@ class KnowledgeRepository: **extracted_claim.metadata, "source_trust": source.trust_level, } + metadata_status = str(claim_metadata.get("validation_status") or "") + if metadata_status in {"active", "validated_claim", "candidate_claim", "rule_candidate"}: + claim_status_for_row = metadata_status claim_metadata["source_history"] = [ { "source_id": source.id, @@ -272,7 +276,7 @@ class KnowledgeRepository: confidence=confidence, confidence_reason=extracted_claim.confidence_reason, extraction_method=bundle.extractor_name, - status=claim_status, + status=claim_status_for_row, metadata_json=claim_metadata, ) self.session.add(claim) @@ -284,8 +288,8 @@ class KnowledgeRepository: claim.last_seen_at = models.utcnow() claim.confidence = max(claim.confidence, confidence) claim.confidence_reason = extracted_claim.confidence_reason or claim.confidence_reason - if claim_status == "active" or claim.status != "active": - claim.status = claim_status + if claim_status_for_row == "active" or claim.status != "active": + claim.status = claim_status_for_row claim.metadata_json = {**existing_metadata, **claim_metadata} claim.metadata_json["source_history"] = merge_source_history( existing_history, diff --git a/ontology_platform/crawler_platform/app/core/extractor/ai_provider.py b/ontology_platform/crawler_platform/app/core/extractor/ai_provider.py index ce38d2a..bf71fe3 100644 --- a/ontology_platform/crawler_platform/app/core/extractor/ai_provider.py +++ b/ontology_platform/crawler_platform/app/core/extractor/ai_provider.py @@ -31,6 +31,8 @@ class LLMJsonExtractor(AIExtractor): model: str | None = None, base_url: str | None = None, timeout_seconds: int = 300, + fallback_to_rules: bool = True, + merge_rule_claims: bool = True, ): # Local LM Studio runs on consumer hardware; keep a shorter timeout so # we can quickly fallback instead of stalling a crawl worker for 5+ min. @@ -41,6 +43,8 @@ class LLMJsonExtractor(AIExtractor): self.model = model self.base_url = base_url self.timeout_seconds = timeout_seconds + self.fallback_to_rules = fallback_to_rules + self.merge_rule_claims = merge_rule_claims def extract(self, page_text: str, project_config: ProjectConfig) -> ExtractionBundle: return self._extract_text(page_text, project_config, context=None) @@ -64,7 +68,11 @@ class LLMJsonExtractor(AIExtractor): try: raw = self.complete_json(page_text, project_config, compact=compact_mode, context=context) bundle = self._bundle_from_raw(raw, mode_name) - enriched = self._merge_rule_fallback_claims(bundle, page_text, project_config, mode_name) + enriched = ( + self._merge_rule_fallback_claims(bundle, page_text, project_config, mode_name) + if self.merge_rule_claims + else bundle + ) if enriched.entities and enriched.claims: return self.normalize_to_ontology(enriched, project_config.ontology) if bundle.entities and bundle.claims: @@ -72,6 +80,8 @@ class LLMJsonExtractor(AIExtractor): errors.append(f"{mode_name}: AI returned no usable entities or claims") except Exception as exc: errors.append(f"{mode_name}: {exc}") + if not self.fallback_to_rules: + raise RuntimeError(" | ".join(errors)) return self._fallback_bundle(page_text, project_config, " | ".join(errors)) def extract_entities(self, page_text: str, project_config: ProjectConfig) -> list[ExtractedEntity]: diff --git a/ontology_platform/crawler_platform/app/core/extractor/factory.py b/ontology_platform/crawler_platform/app/core/extractor/factory.py index e50b62d..96525bd 100644 --- a/ontology_platform/crawler_platform/app/core/extractor/factory.py +++ b/ontology_platform/crawler_platform/app/core/extractor/factory.py @@ -2,18 +2,71 @@ from __future__ import annotations from crawler_platform.app.core.extractor.ai_provider import LLMJsonExtractor from crawler_platform.app.core.extractor.base import Extractor +from crawler_platform.app.core.extractor.hybrid import HybridExtractor from crawler_platform.app.core.extractor.rule_based import GenericRuleBasedExtractor from crawler_platform.app.domains.perfume.extractor import PerfumeRuleBasedExtractor +LLM_PROVIDERS = {"openai", "ollama", "lm_studio"} + + def extractor_for_domain( domain: str, provider: str = "rule_based", model: str | None = None, base_url: str | None = None, + extraction_mode: str | None = None, + fallback_to_rules: bool = True, ) -> Extractor: - if provider in {"openai", "ollama", "lm_studio"}: - return LLMJsonExtractor(domain=domain, provider=provider, model=model, base_url=base_url) + mode = normalize_extraction_mode(provider, extraction_mode) + llm_provider = normalize_llm_provider(provider) + if mode in {"hybrid", "compare"}: + return HybridExtractor( + domain=domain, + llm_provider=llm_provider, + model=model, + base_url=base_url, + mode=mode, + fallback_to_rules=fallback_to_rules, + ) + if mode == "llm_only": + return LLMJsonExtractor( + domain=domain, + provider=llm_provider, + model=model, + base_url=base_url, + fallback_to_rules=fallback_to_rules, + merge_rule_claims=False, + ) + return rule_extractor_for_domain(domain) + + +def normalize_extraction_mode(provider: str, extraction_mode: str | None = None) -> str: + if extraction_mode: + value = extraction_mode.strip().lower().replace("-", "_") + else: + value = provider.strip().lower().replace("-", "_") + aliases = { + "rule": "rule_only", + "rules": "rule_only", + "rule_based": "rule_only", + "llm": "llm_only", + "ai": "llm_only", + } + value = aliases.get(value, value) + if value in {"rule_only", "llm_only", "hybrid", "compare"}: + return value + if value in LLM_PROVIDERS: + return "hybrid" + return "rule_only" + + +def normalize_llm_provider(provider: str) -> str: + value = provider.strip().lower() + return value if value in LLM_PROVIDERS else "lm_studio" + + +def rule_extractor_for_domain(domain: str) -> Extractor: if domain == "perfume": return PerfumeRuleBasedExtractor() return GenericRuleBasedExtractor() diff --git a/ontology_platform/crawler_platform/app/core/extractor/hybrid.py b/ontology_platform/crawler_platform/app/core/extractor/hybrid.py new file mode 100644 index 0000000..f5cde9a --- /dev/null +++ b/ontology_platform/crawler_platform/app/core/extractor/hybrid.py @@ -0,0 +1,438 @@ +from __future__ import annotations + +import json +from dataclasses import replace +from typing import Any + +from crawler_platform.app.config.loader import ProjectConfig +from crawler_platform.app.core.extractor.ai_provider import LLMJsonExtractor, dedupe_entities +from crawler_platform.app.core.extractor.base import ( + ExtractedClaim, + ExtractedEntity, + ExtractionBundle, + ExtractionPageContext, + Extractor, +) +from crawler_platform.app.core.extractor.rule_based import GenericRuleBasedExtractor +from crawler_platform.app.domains.perfume.extractor import PerfumeRuleBasedExtractor + + +LLM_PAGE_TYPES = {"ProductPage", "BrandStoryPage", "ReviewPage"} +SKIP_LLM_PAGE_TYPES = {"CategoryPage", "SearchPage", "ListingPage"} +RULE_ONLY_PAGE_TYPES = {"BoardPage", "CommunityPage", "UnknownPage"} +MIN_CLEAN_TEXT_CHARS_FOR_LLM = 300 +MAX_CLEAN_TEXT_CHARS_FOR_LLM = 60000 + + +class HybridExtractor(Extractor): + """Run rule extraction first, then LLM extraction, then merge with agreement metadata.""" + + name = "hybrid_rule_llm_extractor" + provider = "hybrid" + + def __init__( + self, + domain: str, + llm_provider: str = "lm_studio", + model: str | None = None, + base_url: str | None = None, + mode: str = "hybrid", + fallback_to_rules: bool = True, + ): + self.domain = domain + self.llm_provider = llm_provider + self.model = model + self.base_url = base_url + self.mode = normalize_mode(mode) + self.fallback_to_rules = fallback_to_rules + self.rule_extractor = rule_extractor_for_domain(domain) + self.llm_extractor = LLMJsonExtractor( + domain=domain, + provider=llm_provider, + model=model, + base_url=base_url, + fallback_to_rules=False, + merge_rule_claims=False, + ) + + def extract(self, page_text: str, project_config: ProjectConfig) -> ExtractionBundle: + return self._extract_text(page_text, project_config, context=None) + + def extract_from_context( + self, + context: ExtractionPageContext, + project_config: ProjectConfig, + ) -> ExtractionBundle: + return self._extract_text(context.clean_text, project_config, context=context) + + def _extract_text( + self, + page_text: str, + project_config: ProjectConfig, + context: ExtractionPageContext | None, + ) -> ExtractionBundle: + rule_bundle = self._rule_bundle(page_text, project_config, context) + mark_bundle(rule_bundle, source="rule", mode=self.mode) + + if self.mode == "rule_only": + rule_bundle.extractor_name = "rule_only_extractor" + rule_bundle.raw_output = { + **rule_bundle.raw_output, + "extraction_mode": self.mode, + "effective_extraction_mode": "rule_only", + "llm_skipped": True, + "llm_skip_reason": "rule_only mode", + } + return rule_bundle + + skip_reason = llm_skip_reason(context, page_text, self.mode) + if skip_reason: + return llm_skipped_bundle(rule_bundle, self, skip_reason, context) + + try: + llm_bundle = self._llm_bundle(page_text, project_config, context) + mark_bundle(llm_bundle, source="llm", mode=self.mode) + except Exception as exc: + if not self.fallback_to_rules: + raise + return fallback_bundle(rule_bundle, self, exc) + + if self.mode == "llm_only": + llm_bundle.extractor_name = "llm_only_extractor" + llm_bundle.raw_output = { + **llm_bundle.raw_output, + "extraction_mode": self.mode, + "effective_extraction_mode": "llm_only", + "rule_entity_count": len(rule_bundle.entities), + "rule_claim_count": len(rule_bundle.claims), + } + return llm_bundle + + return merge_bundles(rule_bundle, llm_bundle, self) + + def _rule_bundle( + self, + page_text: str, + project_config: ProjectConfig, + context: ExtractionPageContext | None, + ) -> ExtractionBundle: + if context is not None: + return self.rule_extractor.extract_from_context(context, project_config) + return self.rule_extractor.extract(page_text, project_config) + + def _llm_bundle( + self, + page_text: str, + project_config: ProjectConfig, + context: ExtractionPageContext | None, + ) -> ExtractionBundle: + if context is not None: + return self.llm_extractor.extract_from_context(context, project_config) + return self.llm_extractor.extract(page_text, project_config) + + def extract_entities(self, page_text: str, project_config: ProjectConfig) -> list[ExtractedEntity]: + return self.extract(page_text, project_config).entities + + def extract_attributes( + self, + entity: ExtractedEntity, + page_text: str, + project_config: ProjectConfig, + ) -> dict[str, Any]: + return entity.attributes + + def extract_relations( + self, + entities: list[ExtractedEntity], + page_text: str, + project_config: ProjectConfig, + ) -> list[ExtractedClaim]: + return [] + + def normalize_to_ontology(self, bundle: ExtractionBundle, ontology: dict[str, Any]) -> ExtractionBundle: + return bundle + + +def normalize_mode(mode: str | None) -> str: + value = (mode or "hybrid").strip().lower().replace("-", "_") + aliases = { + "rule": "rule_only", + "rules": "rule_only", + "rule_based": "rule_only", + "llm": "llm_only", + "ai": "llm_only", + } + return aliases.get(value, value) + + +def rule_extractor_for_domain(domain: str) -> Extractor: + if domain == "perfume": + return PerfumeRuleBasedExtractor() + return GenericRuleBasedExtractor() + + +def mark_bundle(bundle: ExtractionBundle, *, source: str, mode: str) -> None: + for entity in bundle.entities: + entity.metadata = { + **entity.metadata, + "extraction_source": source, + f"{source}_confidence": entity.confidence, + } + for claim in bundle.claims: + claim.metadata = { + **claim.metadata, + "extraction_source": source, + "agreement": f"{source}_only", + f"{source}_confidence": claim.confidence, + "extraction_mode": mode, + } + + +def fallback_bundle(rule_bundle: ExtractionBundle, extractor: HybridExtractor, exc: Exception) -> ExtractionBundle: + reason = str(exc) + bundle = clone_bundle(rule_bundle) + bundle.extractor_name = "hybrid_rule_fallback" + bundle.provider = extractor.llm_provider + bundle.raw_output = { + **bundle.raw_output, + "extraction_mode": "fallback", + "effective_extraction_mode": "rule_only", + "requested_extraction_mode": extractor.mode, + "ai_provider": extractor.llm_provider, + "ai_model": extractor.model, + "ai_warning": reason, + "fallback": "rule_based", + } + for entity in bundle.entities: + entity.metadata["ai_fallback_reason"] = reason + for claim in bundle.claims: + claim.metadata = { + **claim.metadata, + "ai_fallback_reason": reason, + "fallback": "rule_based", + "agreement": "rule_only", + } + claim.confidence_reason = ( + f"{claim.confidence_reason}; AI fallback: {reason}" + if claim.confidence_reason + else f"AI fallback: {reason}" + ) + return bundle + + +def llm_skipped_bundle( + rule_bundle: ExtractionBundle, + extractor: HybridExtractor, + reason: str, + context: ExtractionPageContext | None, +) -> ExtractionBundle: + bundle = clone_bundle(rule_bundle) + bundle.extractor_name = "hybrid_rule_only_routed" + bundle.provider = extractor.llm_provider + bundle.raw_output = { + **bundle.raw_output, + "extraction_mode": extractor.mode, + "effective_extraction_mode": "rule_only", + "requested_extraction_mode": extractor.mode, + "ai_provider": extractor.llm_provider, + "ai_model": extractor.model, + "llm_skipped": True, + "llm_skip_reason": reason, + "page_type": context.page_type if context is not None else None, + "rule_entity_count": len(bundle.entities), + "rule_claim_count": len(bundle.claims), + "llm_entity_count": 0, + "llm_claim_count": 0, + "agreement_claim_count": 0, + "rule_only_claim_count": len(bundle.claims), + "llm_only_claim_count": 0, + "conflict_claim_count": 0, + "comparison": { + "both_agree": 0, + "rule_only": len(bundle.claims), + "llm_only": 0, + "conflict": 0, + "rejected_by_validation": 0, + }, + } + for claim in bundle.claims: + claim.metadata = { + **claim.metadata, + "llm_skipped": True, + "llm_skip_reason": reason, + "agreement": "rule_only", + } + return bundle + + +def llm_skip_reason( + context: ExtractionPageContext | None, + page_text: str, + mode: str, +) -> str | None: + if mode != "hybrid" or context is None: + return None + page_type = str(context.page_type or "UnknownPage") + clean_length = len(context.clean_text or page_text or "") + if page_type in SKIP_LLM_PAGE_TYPES: + return f"page type {page_type} is configured to skip LLM extraction" + if page_type in RULE_ONLY_PAGE_TYPES: + return f"page type {page_type} is routed to rule-only extraction" + if page_type not in LLM_PAGE_TYPES: + return f"page type {page_type} is not in the LLM page-type allowlist" + if clean_length < MIN_CLEAN_TEXT_CHARS_FOR_LLM: + return f"clean text is too short for LLM extraction: {clean_length} chars" + if clean_length > MAX_CLEAN_TEXT_CHARS_FOR_LLM: + return f"clean text is too long for LLM extraction: {clean_length} chars" + return None + + +def merge_bundles( + rule_bundle: ExtractionBundle, + llm_bundle: ExtractionBundle, + extractor: HybridExtractor, +) -> ExtractionBundle: + merged_claims: dict[tuple[str, str, str], ExtractedClaim] = {} + rule_by_subject_predicate: dict[tuple[str, str], list[ExtractedClaim]] = {} + comparison = { + "both_agree": 0, + "rule_only": 0, + "llm_only": 0, + "conflict": 0, + "rejected_by_validation": 0, + } + + for claim in clone_claims(rule_bundle.claims): + key = claim_key(claim) + merged_claims[key] = claim + rule_by_subject_predicate.setdefault(subject_predicate_key(claim), []).append(claim) + + for llm_claim in clone_claims(llm_bundle.claims): + key = claim_key(llm_claim) + existing = merged_claims.get(key) + if existing is not None: + comparison["both_agree"] += 1 + merge_agreement(existing, llm_claim) + continue + + possible_conflicts = rule_by_subject_predicate.get(subject_predicate_key(llm_claim), []) + if possible_conflicts: + comparison["conflict"] += 1 + mark_conflict(llm_claim, possible_conflicts) + for rule_claim in possible_conflicts: + rule_claim.metadata = { + **rule_claim.metadata, + "agreement": "conflict", + "conflict_status": "rule_llm_conflict", + "review_required": True, + "review_reason": "Rule and LLM produced different objects for the same subject and predicate", + } + else: + comparison["llm_only"] += 1 + llm_claim.metadata = { + **llm_claim.metadata, + "agreement": "llm_only", + "review_reason": "LLM-only claim; evidence and ontology validation required", + } + merged_claims[key] = llm_claim + + for claim in merged_claims.values(): + if claim.metadata.get("agreement") == "rule_only": + comparison["rule_only"] += 1 + + mode = extractor.mode + return ExtractionBundle( + entities=dedupe_entities([*clone_entities(rule_bundle.entities), *clone_entities(llm_bundle.entities)]), + claims=list(merged_claims.values()), + extractor_name="hybrid_rule_llm_extractor" if mode == "hybrid" else "compare_rule_llm_extractor", + provider=extractor.llm_provider, + raw_output={ + "extraction_mode": mode, + "provider": extractor.llm_provider, + "model": extractor.model, + "rule_entity_count": len(rule_bundle.entities), + "rule_claim_count": len(rule_bundle.claims), + "llm_entity_count": len(llm_bundle.entities), + "llm_claim_count": len(llm_bundle.claims), + "agreement_claim_count": comparison["both_agree"], + "rule_only_claim_count": comparison["rule_only"], + "llm_only_claim_count": comparison["llm_only"], + "conflict_claim_count": comparison["conflict"], + "comparison": comparison, + "rule_raw_output": safe_raw_output(rule_bundle.raw_output), + "llm_raw_output": safe_raw_output(llm_bundle.raw_output), + }, + ) + + +def merge_agreement(rule_claim: ExtractedClaim, llm_claim: ExtractedClaim) -> None: + rule_confidence = rule_claim.metadata.get("rule_confidence", rule_claim.confidence) + llm_confidence = llm_claim.metadata.get("llm_confidence", llm_claim.confidence) + rule_claim.confidence = max(rule_claim.confidence, llm_claim.confidence) + rule_claim.evidence_text = llm_claim.evidence_text or rule_claim.evidence_text + rule_claim.evidence_summary = llm_claim.evidence_summary or rule_claim.evidence_summary + rule_claim.metadata = { + **rule_claim.metadata, + **llm_claim.metadata, + "agreement": "rule_and_llm", + "rule_confidence": rule_confidence, + "llm_confidence": llm_confidence, + "rule_claim_merge": True, + } + reasons = [rule_claim.confidence_reason, llm_claim.confidence_reason, "Rule and LLM agreed"] + rule_claim.confidence_reason = "; ".join(reason for reason in reasons if reason) + + +def mark_conflict(llm_claim: ExtractedClaim, rule_claims: list[ExtractedClaim]) -> None: + llm_claim.metadata = { + **llm_claim.metadata, + "agreement": "conflict", + "conflict_status": "rule_llm_conflict", + "review_required": True, + "review_reason": "Rule and LLM produced different objects for the same subject and predicate", + "conflicting_rule_objects": [claim_object_key(claim) for claim in rule_claims], + } + + +def clone_bundle(bundle: ExtractionBundle) -> ExtractionBundle: + return ExtractionBundle( + entities=clone_entities(bundle.entities), + claims=clone_claims(bundle.claims), + extractor_name=bundle.extractor_name, + provider=bundle.provider, + raw_output=dict(bundle.raw_output), + ) + + +def clone_entities(entities: list[ExtractedEntity]) -> list[ExtractedEntity]: + return [replace(entity, attributes=dict(entity.attributes), metadata=dict(entity.metadata)) for entity in entities] + + +def clone_claims(claims: list[ExtractedClaim]) -> list[ExtractedClaim]: + return [replace(claim, metadata=dict(claim.metadata)) for claim in claims] + + +def subject_predicate_key(claim: ExtractedClaim) -> tuple[str, str]: + return ( + claim.subject_name.strip().lower(), + claim.predicate.strip().lower(), + ) + + +def claim_key(claim: ExtractedClaim) -> tuple[str, str, str]: + subject, predicate = subject_predicate_key(claim) + return subject, predicate, claim_object_key(claim) + + +def claim_object_key(claim: ExtractedClaim) -> str: + if claim.object_name: + return claim.object_name.strip().lower() + return json.dumps(claim.object_value, ensure_ascii=False, sort_keys=True, default=str).strip().lower() + + +def safe_raw_output(raw_output: dict[str, Any]) -> dict[str, Any]: + return { + key: value + for key, value in raw_output.items() + if key not in {"candidate_entities", "candidate_claims"} + } diff --git a/ontology_platform/crawler_platform/app/core/extractor/validation.py b/ontology_platform/crawler_platform/app/core/extractor/validation.py index a8e5fe2..bcba0f6 100644 --- a/ontology_platform/crawler_platform/app/core/extractor/validation.py +++ b/ontology_platform/crawler_platform/app/core/extractor/validation.py @@ -1,6 +1,7 @@ from __future__ import annotations from dataclasses import dataclass, field +import re from typing import Any from crawler_platform.app.config.loader import ProjectConfig @@ -134,6 +135,9 @@ def validate_extraction_bundle(bundle: ExtractionBundle, config: ProjectConfig) claims = [] rejected_claims = [] for claim in bundle.claims: + agreement = str(claim.metadata.get("agreement") or "") + extraction_source = str(claim.metadata.get("extraction_source") or "") + claim_status_for_row = status_for_claim(claim_status, agreement) claim.predicate = normalize_predicate(claim.predicate, config.ontology) claim.subject_type = normalize_entity_type(claim.subject_type, config.domain) claim.subject_name = normalize_entity_name(claim.subject_name, claim.subject_type, config.domain) @@ -147,36 +151,52 @@ def validate_extraction_bundle(bundle: ExtractionBundle, config: ProjectConfig) } reason = invalid_claim_reason(claim, config, allowed_types, page_context) if reason: - rejected_claims.append( - { - "subject": claim.subject_name, - "predicate": claim.predicate, - "object": claim.object_name if claim.object_name is not None else claim.object_value, - "reason": reason, - "page_type": claim.metadata.get("page_type") or page_context.get("page_type"), - "source_zone": claim.metadata.get("source_zone"), + rejected = rejected_claim_payload(claim, reason, page_context) + rejected_claims.append(rejected) + if is_reviewable_claim_reason(reason): + claim.metadata = { + **claim.metadata, + "claim_kind": claim_kind_for(claim_status_for_row, agreement), + "validation_status": "candidate_claim", + "review_required": True, + "review_reason": reason, + "schema_validated": False, } - ) + claim.metadata["confidence_breakdown"] = claim_confidence_breakdown( + claim, + agreement, + extraction_source, + ontology_compatible=True, + ) + claim.confidence = claim.metadata["confidence_breakdown"]["final_confidence"] + claims.append(claim) continue claim.metadata = { **claim.metadata, - "claim_kind": "rule_candidate" if claim_status == "rule_candidate" else "ai_claim", - "validation_status": claim_status, + "claim_kind": claim_kind_for(claim_status_for_row, agreement), + "validation_status": claim_status_for_row, } - breakdown = confidence_breakdown( - llm_confidence=claim.confidence, - evidence_found=bool(claim.metadata.get("evidence_found")), - ontology_compatible=True, - source_zone_allowed=bool(claim.metadata.get("source_zone_allowed")), - ) + if agreement == "conflict": + claim.metadata = { + **claim.metadata, + "validation_status": "candidate_claim", + "review_required": True, + "review_reason": claim.metadata.get("review_reason") + or "Rule and LLM produced conflicting claims", + } + breakdown = claim_confidence_breakdown(claim, agreement, extraction_source) claim.metadata["confidence_breakdown"] = breakdown claim.confidence = breakdown["final_confidence"] claims.append(claim) + comparison = dict(bundle.raw_output.get("comparison") or {}) + if comparison: + comparison["rejected_by_validation"] = len(rejected_claims) bundle.entities = entities bundle.claims = claims bundle.raw_output = { **bundle.raw_output, + **({"comparison": comparison} if comparison else {}), "validation": { "claim_status": claim_status, "accepted_claim_count": len(claims), @@ -196,9 +216,19 @@ def validate_extraction_bundle(bundle: ExtractionBundle, config: ProjectConfig) def claim_status_for_bundle(bundle: ExtractionBundle) -> str: mode = str(bundle.raw_output.get("extraction_mode", "")).lower() + effective_mode = str(bundle.raw_output.get("effective_extraction_mode", "")).lower() fallback = str(bundle.raw_output.get("fallback", "")).lower() - if bundle.provider == "rule_based" or "rule_fallback" in bundle.extractor_name or mode == "fallback" or fallback: + if ( + bundle.provider == "rule_based" + or "rule_fallback" in bundle.extractor_name + or mode == "fallback" + or effective_mode == "rule_only" + or bundle.raw_output.get("llm_skipped") + or fallback + ): return "rule_candidate" + if mode == "compare": + return "candidate_claim" page_context = dict(bundle.raw_output.get("page_context") or {}) page_type = str(page_context.get("page_type") or "") if page_type in {"UnknownPage", "SearchPage", "CategoryPage", "BoardPage"}: @@ -206,6 +236,77 @@ def claim_status_for_bundle(bundle: ExtractionBundle) -> str: return "validated_claim" +def status_for_claim(bundle_status: str, agreement: str) -> str: + if bundle_status in {"rule_candidate", "candidate_claim"}: + return bundle_status + if agreement == "rule_only": + return "rule_candidate" + if agreement == "conflict": + return "candidate_claim" + return bundle_status + + +def claim_kind_for(claim_status: str, agreement: str) -> str: + if claim_status == "rule_candidate" or agreement == "rule_only": + return "rule_candidate" + if agreement == "conflict": + return "conflict_candidate" + return "ai_claim" + + +def claim_confidence_breakdown( + claim: ExtractedClaim, + agreement: str, + extraction_source: str, + *, + ontology_compatible: bool = True, +) -> dict[str, float]: + rule_confidence = _optional_float(claim.metadata.get("rule_confidence")) + llm_confidence = _optional_float(claim.metadata.get("llm_confidence")) + if llm_confidence is None: + llm_confidence = 0.0 if extraction_source == "rule" else claim.confidence + return confidence_breakdown( + llm_confidence=llm_confidence, + evidence_found=bool(claim.metadata.get("evidence_found")), + ontology_compatible=ontology_compatible, + source_zone_allowed=bool(claim.metadata.get("source_zone_allowed")), + rule_confidence=rule_confidence, + rule_agreement=agreement == "rule_and_llm", + ) + + +def rejected_claim_payload( + claim: ExtractedClaim, + reason: str, + page_context: dict[str, Any], +) -> dict[str, Any]: + return { + "subject": claim.subject_name, + "predicate": claim.predicate, + "object": claim.object_name if claim.object_name is not None else claim.object_value, + "reason": reason, + "page_type": claim.metadata.get("page_type") or page_context.get("page_type"), + "source_zone": claim.metadata.get("source_zone"), + } + + +def is_reviewable_claim_reason(reason: str) -> bool: + return reason in { + "claim has no source zone", + "evidence was not found in clean source zones", + "claim has no evidence", + } or reason.startswith("source zone is not claim-allowed") + + +def _optional_float(value: Any) -> float | None: + if value is None: + return None + try: + return float(value) + except (TypeError, ValueError): + return None + + def allowed_entity_types(config: ProjectConfig) -> set[str]: configured = set(config.target_entities) ontology_types = set((config.ontology or {}).get("entity_types", [])) @@ -267,6 +368,8 @@ def invalid_claim_reason( if claim.object_name is not None: if claim.object_type not in allowed_types: return "object type is outside ontology" + if claim.object_type == "Brand" and looks_like_price_text(claim.object_name): + return "brand object looks like a price" if not is_meaningful_text(claim.object_name): return "object is empty, generic, or boilerplate" if canonical_entity_key(claim.subject_name, claim.subject_type) == canonical_entity_key( @@ -316,6 +419,19 @@ def is_meaningful_value(value: Any) -> bool: return True +def looks_like_price_text(value: str | None) -> bool: + if not value: + return False + clean = " ".join(str(value).strip().split()) + return bool( + re.fullmatch( + r"(?:[$€£]\s*)?\d{1,3}(?:,\d{3})*(?:\.\d+)?\s*(?:원|KRW|USD|EUR|JPY|\$|€|£)?", + clean, + flags=re.IGNORECASE, + ) + ) + + def is_meaningful_text(value: str | None, allow_short: bool = False) -> bool: if value is None: return False diff --git a/ontology_platform/crawler_platform/app/core/ontology/relation_schema.py b/ontology_platform/crawler_platform/app/core/ontology/relation_schema.py index 102c075..ee492d4 100644 --- a/ontology_platform/crawler_platform/app/core/ontology/relation_schema.py +++ b/ontology_platform/crawler_platform/app/core/ontology/relation_schema.py @@ -110,23 +110,31 @@ def confidence_breakdown( evidence_found: bool, ontology_compatible: bool, source_zone_allowed: bool, + rule_confidence: float | None = None, + rule_agreement: bool = False, source_trust: float | None = None, ) -> dict[str, float]: schema_confidence = 1.0 evidence_confidence = 0.95 if evidence_found else 0.0 ontology_confidence = 0.95 if ontology_compatible else 0.0 zone_confidence = 0.9 if source_zone_allowed else 0.0 + rule_value = rule_confidence if rule_confidence is not None else 0.0 + agreement_confidence = 0.95 if rule_agreement else 0.0 trust = source_trust if source_trust is not None else 0.8 final = ( - llm_confidence * 0.35 - + schema_confidence * 0.15 - + evidence_confidence * 0.2 - + ontology_confidence * 0.2 + llm_confidence * 0.30 + + rule_value * 0.10 + + agreement_confidence * 0.10 + + schema_confidence * 0.10 + + evidence_confidence * 0.18 + + ontology_confidence * 0.12 + zone_confidence * 0.05 + trust * 0.05 ) return { "llm_confidence": round(llm_confidence, 4), + "rule_confidence": round(rule_value, 4), + "rule_agreement_confidence": agreement_confidence, "schema_confidence": schema_confidence, "evidence_confidence": evidence_confidence, "ontology_confidence": ontology_confidence, diff --git a/ontology_platform/crawler_platform/app/core/research/graph_research_loop.py b/ontology_platform/crawler_platform/app/core/research/graph_research_loop.py index 1abf197..10ac097 100644 --- a/ontology_platform/crawler_platform/app/core/research/graph_research_loop.py +++ b/ontology_platform/crawler_platform/app/core/research/graph_research_loop.py @@ -284,6 +284,7 @@ class GraphResearchLoop: analyzed = False claim_count = 0 entity_count = 0 + extraction_summary: dict[str, Any] = {} if ( fetch_result.crawl_status == "success" and parser_result.extraction_status != "failed" @@ -311,6 +312,7 @@ class GraphResearchLoop: analyzed = True claim_count = len(claims) entity_count = len(bundle.entities) + extraction_summary = extraction_summary_from_raw(bundle.raw_output) return { "status": "explored", @@ -320,6 +322,7 @@ class GraphResearchLoop: "analyzed": analyzed, "claim_count": claim_count, "entity_count": entity_count, + "extraction": extraction_summary, "enqueued": enqueued, "scored_links": scored_links[:20], } @@ -369,3 +372,15 @@ def normalize_url(url: str) -> str: def normalized_host(url: str) -> str: return urlparse(str(url)).netloc.lower() + + +def extraction_summary_from_raw(raw_output: dict[str, Any]) -> dict[str, Any]: + return { + "extraction_mode": raw_output.get("extraction_mode"), + "effective_extraction_mode": raw_output.get("effective_extraction_mode"), + "llm_skipped": bool(raw_output.get("llm_skipped")), + "llm_skip_reason": raw_output.get("llm_skip_reason"), + "fallback_used": bool(raw_output.get("fallback")), + "agreement_claim_count": int(raw_output.get("agreement_claim_count") or 0), + "conflict_claim_count": int(raw_output.get("conflict_claim_count") or 0), + } diff --git a/ontology_platform/crawler_platform/app/domains/perfume/extractor.py b/ontology_platform/crawler_platform/app/domains/perfume/extractor.py index 6eba95b..013cacc 100644 --- a/ontology_platform/crawler_platform/app/domains/perfume/extractor.py +++ b/ontology_platform/crawler_platform/app/domains/perfume/extractor.py @@ -167,6 +167,7 @@ class PerfumeRuleBasedExtractor(GenericRuleBasedExtractor): brand = next((entity for entity in entities if entity.entity_type == "Brand"), None) for card in product_cards: if brand: + evidence = brand_evidence_for_product(brand, str(card["name"]), page_text) or brand.evidence_text or brand.name claims.append( ExtractedClaim( str(card["name"]), @@ -174,7 +175,7 @@ class PerfumeRuleBasedExtractor(GenericRuleBasedExtractor): "hasBrand", brand.name, "Brand", - evidence_text=brand.evidence_text or brand.name, + evidence_text=evidence, confidence=0.72, confidence_reason="site brand inferred from listing page", ) @@ -199,6 +200,7 @@ class PerfumeRuleBasedExtractor(GenericRuleBasedExtractor): claims: list[ExtractedClaim] = [] brand = next((entity for entity in entities if entity.entity_type == "Brand"), None) if brand: + evidence = brand_evidence_for_product(brand, perfume.name, page_text) or brand.evidence_text or brand.name claims.append( ExtractedClaim( perfume.name, @@ -206,7 +208,7 @@ class PerfumeRuleBasedExtractor(GenericRuleBasedExtractor): "hasBrand", brand.name, "Brand", - evidence_text=brand.evidence_text or brand.name, + evidence_text=evidence, confidence=0.78, confidence_reason="brand pattern matched", ) @@ -273,14 +275,16 @@ def extract_brand(page_text: str, product_name: str) -> str | None: for pattern in patterns: match = re.search(pattern, page_text, flags=re.IGNORECASE) if match: - return cleanup_value(match.group("brand")) - inferred = infer_site_brand(page_text) + brand = valid_brand(cleanup_value(match.group("brand"))) + if brand: + return brand + inferred = infer_site_brand(page_text, product_name) if inferred: return inferred lines = [line.strip() for line in page_text.splitlines() if line.strip()] if len(lines) >= 2 and lines[1].lower() not in product_name.lower(): candidate = cleanup_value(lines[1]) - if len(candidate) <= 80 and not looks_like_navigation(candidate) and product_line_score(candidate) <= 0: + if valid_brand(candidate) and len(candidate) <= 80 and not looks_like_navigation(candidate) and product_line_score(candidate) <= 0: return candidate return None @@ -301,6 +305,19 @@ def product_line_score(value: str) -> int: return score +def looks_like_price(value: str | None) -> bool: + if not value: + return False + clean = cleanup_value(str(value)) + return bool( + re.fullmatch( + r"(?:[$€£]\s*)?\d{1,3}(?:,\d{3})*(?:\.\d+)?\s*(?:원|KRW|USD|EUR|JPY|\$|€|£)?", + clean, + flags=re.IGNORECASE, + ) + ) + + def looks_like_metric_or_price(value: str) -> bool: clean = value.replace(",", "").strip() if re.fullmatch(r"\d+(?:\.\d+)?", clean): @@ -385,7 +402,10 @@ def dedupe_product_cards(cards: list[dict[str, object]]) -> list[dict[str, objec return result -def infer_site_brand(page_text: str) -> str | None: +def infer_site_brand(page_text: str, product_name: str = "") -> str | None: + brand_context = f"{product_name}\n{page_text[:1200]}".lower() + if "forment" in brand_context or "포맨트" in brand_context: + return "FORMENT" if "912 공식 홈페이지" in page_text or "912" in page_text[:500]: return "912" return None @@ -394,9 +414,19 @@ def infer_site_brand(page_text: str) -> str | None: def valid_brand(value: str | None) -> str | None: if not value or is_template_placeholder(value): return None + if looks_like_price(value) or looks_like_metric_or_price(value): + return None return value +def brand_evidence_for_product(brand: ExtractedEntity, product_name: str, page_text: str) -> str | None: + if brand.name == "FORMENT" and "포맨트" in product_name: + return product_name + if brand.name.lower() in page_text.lower(): + return brand.name + return None + + def extract_field_values(field: str, page_text: str) -> list[tuple[str, str]]: if field in NOTE_LABELS: return extract_labeled_values(page_text, NOTE_LABELS[field]) diff --git a/ontology_platform/data/crawler_platform.db b/ontology_platform/data/crawler_platform.db index ae2a58b611d84620d13f6ad7394b92b0d996d877..b546ca17106d0924bdc92439e1ac246f079c0d08 100644 GIT binary patch delta 837713 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%0A^ebELU}S>)I8EBGS5 zg8za)%^v5E7XUMSM%iNK#NWgp_yYcReumrx_?4M`2W~+gRMv}MiJyz7_*?l*ew?hA zu1G(!Zz-#k<>GPi9X^#GDpg2d00Yez-x6Qp`|%0VY3U+6d{F3My?wy5HFf8n9k`Z=_itvOIGC_@>8Z0remfu{TTgl{UGyq=8NWn zPdSJDxa^njH@#u{r|EfpZ+&;Y(|pqWf%zyGC$E)P$ak7{o1QUk)_2yo)5n{kOSnjR zynM5qVwz)`ZkojH;-2OnH|H0?Dw@kRfc2`6+|xACG{!WXdzi!AYV%}s8aJC0We==k zolJvFy-nS@<=i4}J~xfa=F&J$ZY#%dKXc!57r1lW39c8{jdPd;6Jz|v_?_`0EXXH~ z9~hw#Tw5;Mc+mKYai8&7;|}9iLjf;&7jB{Y!o@AV89K&(! zZ|o1)IrH$60&}tXepm$83oC^?g+gH-EQ8a8Ny0>kAP>{XjW!T)q4fmpXdM9?T1%ik zx|cv3w1z+wT1}t@T1B8aT1lW8TEQLB34^J4*&O|oB=$p(66lK_0Vn{GZWDRzjfx5M zLVf~C=wSkh=ph0LXd{6h=s^PA(E|j!q5BDRLH7~xAWWbil`s2I`LZ7sFZ)vQvLCZc zdxhCaVFv-cdNy26cxZ*ph)sg3o3uNpz?Qf)QBWPj93a`1e#H4ycudhpF#;lq7VX&kwQTx z5QZcIAqe=2hNAg?^og1^_wX;AR-?W|XeL>Gso30yip_nf*xZMT&An@g&ArihXsA4r z^39P{dhSJ~=U!BL?nR~NBq}{8QRz8}O3#T@dQJ>T&xurePN33r0+pTEO3yv1 z^xT6=&poL0+=EKb-Kq54ol4K$sr1~9O3&S>^xTa~&t0kX+?7htT~HUT{avW^+=WWd z9x6S1sPyci(zBaN&u%I`yQ%c-qSCXAO3yATJ=>}DY)73)kJ{-z&PMlfHoA|q(S4i+ zwd4E1J00nMt|Q&gb)fsX4s<`)p6=(`)BRj~x}R%9_j7INey$B_p~fsce3~g>=IQ6^ zlz|`^cT*hvFG^>P;Wksk6vR9q}tSDI?ASdyk%H3qAY?0f`u^=gj$&$=VSEb9+*ZfJ4md{Bi zr4I_EqtcroFux$};XjbJOHa}jfpULo9)A>s=V{U;X`(bn8csG5Qg{AM$pu@84pJ+r zxuLV6ogv21gnvnjFoYRogJ94JKMCIm=Y_NU3&IKE1L18DyI&Sw6iS8d!V~-+;SphD zCD*w_7&{x-PPULHj22Rafv`yT5L|*qXfMPH&4flmh+q_u6at%!RmNrfHpwJ$<}2nO z%@yV^j6UNX###Ip^BMCe=40kE^Bd-Wnx8lCHa}y0()ft-6JLz&g@-MzjH8fxYuIFXzyQY&re96pn=TpdF)TGK zrj@25KFzeybem~9f3qpuG{H2AA7&bA>TBx3_cJ+7ai%tWPg4t1 zBa_U#OuX@m@dv)M@e=U)6MS3Pb{#gpYTV058G0C;%GV&MoKijnf#eP4fbyKOgO5<2 z1bO0qUQyO4%M~9lDDyx%$kAU_(v{X@lob7s`mgk#=}*GieMJA7exF{|Z`W^uMHuT> z>F?AR=;x|GFFKr0#WD6)y5|AZ_B?>^6RC?GPxn0RSi0u{)b>2=Ep*Srj-h)Vb~N4d z0BU<4KyA;%-c0vA>?peD0o3+9fZCpiO+^LTo(KN%x>n#&y2oIL&^-n_nC>yyL4iHS zw{(xeGz;u4ng;e3O#*w1NV>OR8q>Xn?lRq5=zgSo3*8TNZ=w4hJx3<}LR9c9!F;3= zSb$0i%tw0&WTM>!GLW{COhDR7G8$Brq5~L0}NtLSP`;tSuA+(BtH>KYEP7C`QH;=N|5BtYq1E)7-=V#5uPgZl*ey z9iGHkfurm7I4S>U2`%0D2lU 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

qjKjJhxmJ;)?> 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 delta 296927 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%0AJfB`x+8jgh`~8_ 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 O0?WY)5C;ulrT8C`n+*E^ diff --git a/ontology_platform/docs/phases/26_05_19_engine_respect_plan/phase_07_001_hybrid_rule_llm_extraction.md b/ontology_platform/docs/phases/26_05_19_engine_respect_plan/phase_07_001_hybrid_rule_llm_extraction.md new file mode 100644 index 0000000..7ef26d5 --- /dev/null +++ b/ontology_platform/docs/phases/26_05_19_engine_respect_plan/phase_07_001_hybrid_rule_llm_extraction.md @@ -0,0 +1,415 @@ +# Phase 7. Hybrid Rule + LLM Extraction + +작성일: 2026-05-21 + +범위: `ontology_platform`에 포함된 product backend, 특히 `crawler_platform/app/core/extractor`, crawl/research API, Review/Page Analysis UI. + +주의: 이 phase는 OntoCast core engine을 바꾸지 않는다. 룰 기반 product extraction과 LLM JSON extraction을 product backend 레벨에서 결합한다. `/process` OntoCast workflow는 후처리/RDF 변환 후보로만 연결한다. + +## 목표 + +룰 기반 추출의 장점인 빠름, 비용 없음, 예측 가능성, 명확한 패턴 인식을 살리고, LLM 추출의 장점인 의미 해석, 타입 추론, 관계 추출, 한국어/비정형 문장 대응력을 더한다. + +핵심 원칙: + +- 룰은 먼저 실행되는 baseline extractor이자 검증 가드레일이다. +- LLM은 의미 추출기이며, evidence/ontology/source zone 검증을 통과해야 한다. +- LLM 실패는 전체 실패가 아니라 rule fallback으로 처리한다. +- 룰과 LLM이 같은 claim을 찾으면 신뢰도를 올린다. +- 룰과 LLM이 충돌하면 자동 승인하지 않고 review로 보낸다. + +## 현재 기준선 + +현재 확인된 동작: + +- `ont_platform/api/routes/extraction.py` + - `/api/v1/extract/url`, `/api/v1/process/url`, `/process/url` + - `LightweightExtractor(use_llm=False)` 고정 + - 룰 기반 기초 후보만 생성 + +- `ont_platform/core/crawler/jobs.py` + - `/api/v1/crawl/jobs` + - `LightweightExtractor(use_llm=False)` 고정 + - 기본 수집 + 기초 후보 저장 + +- `crawler_platform/app/core/extractor/factory.py` + - `provider in {"openai", "ollama", "lm_studio"}`이면 `LLMJsonExtractor` + - 그 외에는 domain별 rule extractor + +- `crawler_platform/app/core/extractor/ai_provider.py` + - LLM primary, compact retry, JSON repair, rule fallback이 이미 일부 존재 + - LLM 결과에 rule claim을 merge하는 `_merge_rule_fallback_claims()`가 이미 존재 + +- `crawler_platform/app/core/extractor/validation.py` + - evidence zone, ontology predicate, source zone, confidence breakdown 검증이 존재 + +- `web/frontend/src/pages/CrawlPage.tsx`, `ResearchPage.tsx` + - request type에는 `extractor_provider` 필드가 있으나 화면에서 선택 UI는 없음 + +## Phase 7.1 Baseline Audit + +목표: 기존 동작을 깨지 않기 위해 현재 추출 결과와 저장 구조를 고정한다. + +작업: + +- `rule_based`, `lm_studio`, `openai`, `ollama` provider별 request/response 샘플을 만든다. +- crawl, crawl-site, research/run 경로에서 extractor가 어떻게 선택되는지 문서화한다. +- `Claim`, `Entity`, `ExtractionLog`에 저장되는 `extractor_name`, `provider`, `metadata_json`, `confidence_breakdown` 구조를 샘플로 기록한다. +- LM Studio가 꺼진 상태, 켜진 상태, 모델명 누락 상태를 각각 재현한다. + +주요 파일: + +- `crawler_platform/app/core/extractor/factory.py` +- `crawler_platform/app/core/extractor/ai_provider.py` +- `crawler_platform/app/core/extractor/rule_based.py` +- `crawler_platform/app/core/database/repository.py` +- `crawler_platform/app/api/routes.py` + +완료 기준: + +- 기존 `rule_based`와 `lm_studio` 동작이 재현 가능하다. +- 최소 1개 상품 페이지 fixture로 rule 결과와 LLM 결과 샘플이 있다. +- LM Studio 장애 시 현재 fallback 결과가 확인되어 있다. + +## Phase 7.2 Extraction Mode Contract + +목표: provider와 실행 전략을 분리한다. + +현재 문제: + +- `extractor_provider`가 provider이면서 실행 전략 역할도 한다. +- 사용자는 rule only, LLM only, hybrid, compare를 명시적으로 선택할 수 없다. + +제안 계약: + +```json +{ + "extraction_mode": "hybrid", + "extractor_provider": "lm_studio", + "extractor_model": "deepseek-r1-distill-qwen-7b", + "extractor_base_url": "http://localhost:1234/v1", + "fallback_to_rules": true +} +``` + +지원 mode: + +- `rule_only`: rule extractor만 실행 +- `llm_only`: LLM extractor만 실행, fallback 선택 가능 +- `hybrid`: rule 먼저 실행, LLM 실행, 병합/검증 +- `compare`: rule 결과와 LLM 결과를 모두 보존하고 차이를 metadata/log에 저장 + +호환성: + +- 기존 `extractor_provider: "rule_based"`는 `extraction_mode="rule_only"`로 해석한다. +- 기존 `extractor_provider: "lm_studio" | "openai" | "ollama"`는 당분간 `extraction_mode="hybrid"`로 해석한다. +- 기존 UI가 provider를 보내지 않는 경우 기본값은 `hybrid + lm_studio`로 유지한다. + +수정 파일: + +- `crawler_platform/app/api/routes.py` +- `web/frontend/src/lib/api/crawl.ts` +- `web/frontend/src/lib/api/research.ts` + +완료 기준: + +- 기존 요청이 깨지지 않는다. +- 새 요청 필드로 `rule_only`, `llm_only`, `hybrid`, `compare`가 구분된다. +- API response/log에 실제 실행 mode가 남는다. + +## Phase 7.3 Hybrid Extractor + +목표: 명시적인 `HybridExtractor`를 추가한다. + +신규 파일: + +- `crawler_platform/app/core/extractor/hybrid.py` + +실행 순서: + +1. domain에 맞는 rule extractor 실행 +2. LLM extractor 실행 +3. entity dedupe +4. claim dedupe +5. rule-LLM agreement 계산 +6. conflict 계산 +7. metadata에 extraction mode와 comparison 결과 기록 +8. validation pipeline으로 전달 + +필수 metadata: + +```json +{ + "extraction_mode": "hybrid", + "rule_entity_count": 12, + "rule_claim_count": 8, + "llm_entity_count": 15, + "llm_claim_count": 13, + "agreement_claim_count": 6, + "rule_only_claim_count": 2, + "llm_only_claim_count": 7, + "conflict_claim_count": 1 +} +``` + +병합 규칙: + +- 동일 subject/predicate/object claim은 하나로 합친다. +- rule과 LLM이 모두 찾은 claim은 `agreement="rule_and_llm"`로 표시한다. +- rule만 찾은 claim은 `agreement="rule_only"`와 `claim_kind="rule_candidate"`로 표시한다. +- LLM만 찾은 claim은 evidence 검증 전까지 `agreement="llm_only"`로 표시한다. +- 같은 subject/predicate인데 object가 다르면 `conflict_status="rule_llm_conflict"`로 표시하고 review로 보낸다. + +수정 파일: + +- `crawler_platform/app/core/extractor/factory.py` +- `crawler_platform/app/core/extractor/ai_provider.py` +- `crawler_platform/app/core/extractor/base.py` + +완료 기준: + +- `extractor_provider="hybrid"` 또는 `extraction_mode="hybrid"`로 실행 가능하다. +- LLM 실패 시 rule 결과만으로 성공 response가 나온다. +- rule/LLM agreement가 claim metadata에 남는다. + +## Phase 7.4 Confidence And Validation Upgrade + +목표: LLM hallucination을 줄이고, rule agreement를 신뢰도에 반영한다. + +현재 confidence 구성: + +- `llm_confidence` +- `schema_confidence` +- `evidence_confidence` +- `ontology_confidence` +- `source_zone_confidence` +- `source_trust` +- `final_confidence` + +추가 항목: + +```json +{ + "rule_confidence": 0.75, + "rule_agreement_confidence": 0.95, + "llm_confidence": 0.82, + "evidence_confidence": 0.95, + "ontology_confidence": 0.95, + "source_zone_confidence": 0.9, + "final_confidence": 0.89 +} +``` + +정책: + +- rule+LLM agreement가 있으면 confidence bonus를 준다. +- LLM-only claim은 evidence가 없으면 자동 승인하지 않는다. +- source zone을 찾지 못한 claim은 review로 보낸다. +- ontology에 없는 predicate는 reject한다. +- rule-only claim은 기본적으로 `rule_candidate`로 남긴다. +- 충돌 claim은 `review_required=true`로 남긴다. + +수정 파일: + +- `crawler_platform/app/core/ontology/relation_schema.py` +- `crawler_platform/app/core/extractor/validation.py` +- `crawler_platform/app/core/database/repository.py` + +완료 기준: + +- Review 화면에서 `confidence_breakdown.rule_agreement_confidence`를 볼 수 있다. +- evidence 없는 LLM-only claim이 `validated_claim`으로 자동 저장되지 않는다. +- rule+LLM 일치 claim은 더 높은 final confidence를 받는다. + +## Phase 7.5 Compare Mode + +목표: rule 결과와 LLM 결과를 나란히 비교하여 품질 튜닝에 사용한다. + +작업: + +- `compare` mode에서 rule bundle과 LLM bundle을 모두 실행한다. +- 최종 저장은 병합 결과로 하되, `ExtractionLog.raw_output`에 원본 두 결과를 보존한다. +- Page Analysis에서 diff summary를 표시한다. + +diff category: + +- `both_agree` +- `rule_only` +- `llm_only` +- `conflict` +- `rejected_by_validation` + +UI 표시: + +- Page Analysis: page별 extractor run 요약, rule/LLM candidate count, conflict count +- Review: claim detail에서 agreement badge 표시 + +수정 파일: + +- `crawler_platform/app/core/database/models.py` +- `crawler_platform/app/core/database/repository.py` +- `crawler_platform/app/api/routes.py` +- `web/frontend/src/pages/PageAnalysisPage.tsx` +- `web/frontend/src/pages/ReviewPage.tsx` +- `web/frontend/src/lib/api/platform.ts` + +완료 기준: + +- 같은 페이지에서 rule과 LLM의 차이를 확인할 수 있다. +- `llm_only`와 `conflict` claim을 review에서 필터링할 수 있다. + +## Phase 7.6 UI Controls + +목표: 사용자가 화면에서 mode/provider/model/base URL을 선택할 수 있게 한다. + +대상 화면: + +- Crawl Page +- Research Page + +추가 컨트롤: + +- Extraction mode select + - Rule only + - Hybrid + - LLM only + - Compare +- LLM provider select + - LM Studio + - OpenAI + - Ollama +- Model input +- Base URL input +- Fallback to rules toggle +- Optional model list refresh button + +동작: + +- mode가 `rule_only`이면 provider/model/base URL 입력을 숨긴다. +- provider가 `lm_studio`이면 기본 base URL은 `http://localhost:1234/v1`이다. +- provider가 `ollama`이면 기본 base URL은 `http://localhost:11434/api/chat`이다. +- 모델 목록은 `/extractors/models`를 사용한다. + +수정 파일: + +- `web/frontend/src/pages/CrawlPage.tsx` +- `web/frontend/src/pages/ResearchPage.tsx` +- `web/frontend/src/lib/api/crawl.ts` +- `web/frontend/src/lib/api/research.ts` + +완료 기준: + +- UI에서 mode/provider/model/base URL을 지정할 수 있다. +- 지정한 값이 `/crawl-site/by-project`, `/research/run/by-project` 요청에 포함된다. +- rule only 선택 시 LM Studio가 꺼져 있어도 작업이 시작된다. + +## Phase 7.7 Smart Routing Policy + +목표: 모든 페이지에 LLM을 쓰지 않고 가치 있는 페이지에 집중한다. + +정책: + +- `ProductPage`: hybrid 기본 +- `BrandStoryPage`: hybrid 기본 +- `ReviewPage`: hybrid 또는 llm_only +- `CategoryPage`: rule_only 또는 skip LLM +- `SearchPage`: skip LLM +- `BoardPage`: rule_only 또는 review 후보 +- 본문 길이가 너무 짧으면 rule_only +- rule 결과가 충분하고 deterministic field만 필요한 경우 LLM 생략 가능 +- research goal이 있으면 LLM 우선 + +추가 설정: + +```json +{ + "llm_page_types": ["ProductPage", "BrandStoryPage", "ReviewPage"], + "skip_llm_page_types": ["CategoryPage", "SearchPage"], + "min_clean_text_chars_for_llm": 300, + "max_llm_pages_per_job": 30 +} +``` + +수정 파일: + +- `crawler_platform/app/core/crawler/site_crawler.py` +- `crawler_platform/app/core/crawler/pipeline.py` +- `crawler_platform/app/core/research/graph_research_loop.py` + +완료 기준: + +- LLM 호출 수가 page type 정책에 따라 제한된다. +- 중요 페이지는 hybrid 추출을 받는다. +- crawl job metadata에 LLM skipped reason이 남는다. + +## Phase 7.8 OntoCast `/process` Handoff + +목표: product crawl/research 결과를 OntoCast RDF 변환과 연결한다. + +역할 분리: + +- product crawl/research: web acquisition, entity/claim 후보 수집 +- validation/review: claim 품질 관리 +- `/process`: 검증된 문서나 claim 묶음을 RDF/Turtle로 정리하는 후처리 + +작업: + +- validated claim 묶음을 OntoCast input JSON으로 변환한다. +- 프로젝트 단위 또는 selected document 단위로 `/process`를 호출할 수 있게 한다. +- `/process` 결과 Turtle을 export/graph view와 연결한다. + +완료 기준: + +- 사용자가 검증된 claim subset을 RDF/Turtle로 내보낼 수 있다. +- `/process`는 모든 crawl page마다 자동 실행되지 않는다. +- 비용 큰 LLM workflow는 명시적 후처리로만 실행된다. + +## Phase 7.9 Tests And Observability + +목표: rule/LLM/hybrid/compare 동작을 재현 가능하게 만든다. + +테스트: + +- rule only는 LM Studio 없이 통과 +- llm only는 mock LLM으로 deterministic response 검증 +- hybrid는 rule+LLM agreement metadata 생성 +- LLM 실패 시 fallback으로 성공 +- evidence 없는 LLM-only claim은 자동 승인되지 않음 +- conflict claim은 review_required가 true +- UI payload에 mode/provider/model/base URL 포함 + +관측성: + +- ExtractionLog에 mode/provider/model/base URL 저장 +- job metadata에 LLM call count, fallback count, skipped count 저장 +- Review/Page Analysis에서 agreement/fallback/conflict를 표시 + +완료 기준: + +- local LM Studio가 꺼져 있어도 rule/hybrid fallback 테스트가 통과한다. +- mock LLM 기반 테스트가 CI에서 안정적으로 돈다. +- crawl/research 결과에서 어떤 extractor가 어떤 이유로 사용됐는지 추적 가능하다. + +## 최종 Acceptance Gate + +- [ ] UI에서 Rule only, Hybrid, LLM only, Compare 선택 가능 +- [ ] Hybrid mode가 rule baseline과 LLM semantic extraction을 병합 +- [ ] LLM 장애 시 rule fallback으로 job이 실패하지 않음 +- [ ] evidence 없는 LLM-only claim이 자동 validated로 들어가지 않음 +- [ ] rule+LLM agreement가 confidence에 반영됨 +- [ ] conflict claim이 review_required로 표시됨 +- [ ] Page Analysis에서 rule/LLM 비교 결과 확인 가능 +- [ ] Review에서 extraction method, agreement, confidence breakdown 확인 가능 +- [ ] `/process`는 후처리 RDF 변환 경로로 분리 유지 + +## 권장 구현 순서 + +1. Phase 7.1 Baseline Audit +2. Phase 7.2 Extraction Mode Contract +3. Phase 7.3 Hybrid Extractor +4. Phase 7.4 Confidence And Validation Upgrade +5. Phase 7.6 UI Controls +6. Phase 7.5 Compare Mode +7. Phase 7.7 Smart Routing Policy +8. Phase 7.8 OntoCast `/process` Handoff +9. Phase 7.9 Tests And Observability diff --git a/ontology_platform/docs/phases/PHASE_INDEX.md b/ontology_platform/docs/phases/PHASE_INDEX.md index fd82835..e51c766 100644 --- a/ontology_platform/docs/phases/PHASE_INDEX.md +++ b/ontology_platform/docs/phases/PHASE_INDEX.md @@ -87,3 +87,14 @@ FILE: ./26_05_19_engine_respect_plan/phase_06_001_maintenance_loop_operations.md 2) Analyst/Researcher/Curator/Auditor/Fixer/Advisor 梨낆엫 ?뺤쓽 [?꾨즺] 3) `auth`, `audit`, `billing`, `realtime` 珥덉븞 紐⑤뱢???댁쁺 寃쎄퀎 ?뺣━ [?꾨즺] 4) destructive fix???щ엺 ?뱀씤 寃뚯씠?몃? 諛섎뱶???듦낵?섎룄濡??ㅺ퀎 [?꾨즺] + +--- + +PHASE 7. Hybrid Rule + LLM Extraction +FILE: ./26_05_19_engine_respect_plan/phase_07_001_hybrid_rule_llm_extraction.md + +1) rule baseline, LLM extraction, fallback, validation, Review UI 흐름을 기준선으로 고정 [신규] +2) `rule_only`, `llm_only`, `hybrid`, `compare` extraction mode 계약 정의 [신규] +3) product backend에 명시적 HybridExtractor와 rule/LLM agreement metadata 추가 [신규] +4) confidence breakdown에 rule agreement와 conflict/review 정책 반영 [신규] +5) Crawl/Research UI에서 mode/provider/model/base URL 선택 지원 [신규] diff --git a/ontology_platform/ont_platform/api/main.py b/ontology_platform/ont_platform/api/main.py index 3245ea4..4627c13 100644 --- a/ontology_platform/ont_platform/api/main.py +++ b/ontology_platform/ont_platform/api/main.py @@ -49,6 +49,7 @@ from ont_platform.api.product_backend import include_product_backend # noqa: E4 platform_config = importlib.import_module("ont_platform.config") logger = logging.getLogger(__name__) +_startup_error: str | None = None def _resolve_ontocast_version() -> str: @@ -124,8 +125,14 @@ def _include_phase_routers(app: FastAPI) -> None: @asynccontextmanager async def lifespan(app: FastAPI) -> AsyncIterator[None]: """FastAPI lifespan: build ToolBox + workflow once on startup.""" + global _startup_error settings = platform_config.load_settings() - await initialize_app_context(settings) + try: + await initialize_app_context(settings) + _startup_error = None + except Exception as exc: # noqa: BLE001 + _startup_error = str(exc) + logger.exception("App context initialization failed; product backend will remain available") try: yield finally: @@ -149,8 +156,23 @@ def create_app() -> FastAPI: # ─── /health ────────────────────────────────────────────────────── @app.get("/health", tags=["meta"]) - async def health(ctx: Annotated[AppContext, Depends(get_app_context)]) -> JSONResponse: - """Liveness check. 503 if the LLM isn't wired.""" + async def health() -> JSONResponse: + """Liveness check for the HTTP service and optional LLM readiness.""" + settings = platform_config.load_settings() + if _startup_error: + return JSONResponse( + status_code=503, + content={ + "status": "degraded", + "error": _startup_error, + "platform_version": PLATFORM_VERSION, + "ontocast_version": ONTOCAST_VERSION, + "phase": int(settings.phase), + "storage_backend": settings.storage_backend, + }, + ) + + ctx = get_app_context() if ctx.tools.llm is None: return JSONResponse( status_code=503, @@ -170,8 +192,16 @@ def create_app() -> FastAPI: # ─── /info ──────────────────────────────────────────────────────── @app.get("/info", tags=["meta"]) - async def info(ctx: Annotated[AppContext, Depends(get_app_context)]) -> JSONResponse: + async def info() -> JSONResponse: """Service-level capabilities (mirrors OntoCast /info semantics).""" + settings = platform_config.load_settings() + phase = int(settings.phase) + storage_backend = settings.storage_backend + if not _startup_error: + ctx = get_app_context() + phase = int(ctx.settings.phase) + storage_backend = ctx.settings.storage_backend + return JSONResponse( status_code=200, content={ @@ -185,8 +215,9 @@ def create_app() -> FastAPI: "capabilities": ["text-to-triples", "ontology-extraction"], "input_types": ["text", "json", "pdf", "markdown"], "output_types": ["turtle", "json"], - "phase": int(ctx.settings.phase), - "storage_backend": ctx.settings.storage_backend, + "phase": phase, + "storage_backend": storage_backend, + "startup_error": _startup_error, }, ) diff --git a/ontology_platform/pyproject.toml b/ontology_platform/pyproject.toml index a74f552..c6d01d8 100644 --- a/ontology_platform/pyproject.toml +++ b/ontology_platform/pyproject.toml @@ -71,7 +71,7 @@ dependencies = [ # PHASE3 Acceptance Gate 통과 후 활성화 # 버전 고정: experimental API 변경 위험 (Neo4j GraphRAG 분석 §13.1) # "neo4j-graphrag[openai,experimental]==1.16.0", - # "neo4j>=5.18.1,<7", + "neo4j>=5.18.1,<7", # ─── 운영 인프라 ─────────────────────────────────────────────────── # Job Queue diff --git a/ontology_platform/tests/unit/test_perfume_extraction_brand_price.py b/ontology_platform/tests/unit/test_perfume_extraction_brand_price.py new file mode 100644 index 0000000..170d6f6 --- /dev/null +++ b/ontology_platform/tests/unit/test_perfume_extraction_brand_price.py @@ -0,0 +1,79 @@ +from crawler_platform.app.config.loader import ProjectConfig +from crawler_platform.app.core.extractor.base import ExtractedClaim, ExtractionBundle +from crawler_platform.app.core.extractor.validation import validate_extraction_bundle +from crawler_platform.app.domains.perfume.extractor import PerfumeRuleBasedExtractor + + +def perfume_config() -> ProjectConfig: + return ProjectConfig( + project_name="perfume-test", + domain="perfume", + target_entities=["Perfume"], + fields=[], + sources=[], + ontology={ + "entity_types": [ + "Perfume", + "Product", + "Brand", + "Note", + "Accord", + "Mood", + "Season", + "Occasion", + "Review", + ], + "predicates": ["hasBrand", "hasPrice"], + }, + ) + + +def test_forment_product_price_line_is_not_extracted_as_brand() -> None: + text = "\n".join( + [ + "포맨트 시그니처 퍼퓸 코튼메모리", + "62,000원", + "49,000원", + "기억의 표면을 어루만지다", + ] + ) + + bundle = PerfumeRuleBasedExtractor().extract(text, perfume_config()) + + brands = [entity.name for entity in bundle.entities if entity.entity_type == "Brand"] + assert brands == ["FORMENT"] + assert "62,000원" not in brands + assert any( + claim.predicate == "hasBrand" + and claim.object_name == "FORMENT" + and claim.evidence_text == "포맨트 시그니처 퍼퓸 코튼메모리" + for claim in bundle.claims + ) + assert any( + claim.predicate == "hasPrice" + and claim.object_value == {"amount": 62000.0, "currency": "원"} + for claim in bundle.claims + ) + + +def test_validation_rejects_price_like_brand_object() -> None: + bundle = ExtractionBundle( + claims=[ + ExtractedClaim( + "포맨트 시그니처 퍼퓸 코튼메모리", + "Perfume", + "hasBrand", + "62,000원", + "Brand", + evidence_text="포맨트 시그니처 퍼퓸 코튼메모리 62,000원", + confidence=0.9, + ) + ], + extractor_name="rule_only_extractor", + raw_output={"extraction_mode": "rule_only"}, + ) + + result = validate_extraction_bundle(bundle, perfume_config()) + + assert result.bundle.claims == [] + assert result.rejected_claims[0]["reason"] == "brand object looks like a price" diff --git a/ontology_platform/tests/unit/test_phase7_hybrid_extraction.py b/ontology_platform/tests/unit/test_phase7_hybrid_extraction.py new file mode 100644 index 0000000..3db3fb5 --- /dev/null +++ b/ontology_platform/tests/unit/test_phase7_hybrid_extraction.py @@ -0,0 +1,144 @@ +from crawler_platform.app.config.loader import ProjectConfig +from crawler_platform.app.core.extractor.base import ExtractedClaim, ExtractionBundle, ExtractionPageContext +from crawler_platform.app.core.extractor.hybrid import HybridExtractor, mark_bundle, merge_bundles +from crawler_platform.app.core.extractor.validation import validate_extraction_bundle + + +def project_config() -> ProjectConfig: + return ProjectConfig( + project_name="phase7-test", + domain="generic", + target_entities=["Thing"], + fields=[], + sources=[], + ontology={ + "entity_types": ["Thing"], + "predicates": ["hasPart", "color", "size"], + "relation_types": { + "hasPart": { + "allowed_subject_types": ["Thing"], + "allowed_object_types": ["Thing"], + "confidence_rules": {"min_confidence": 0.1}, + }, + "color": { + "allowed_subject_types": ["Thing"], + "literal_value": True, + "confidence_rules": {"min_confidence": 0.1}, + }, + "size": { + "allowed_subject_types": ["Thing"], + "literal_value": True, + "confidence_rules": {"min_confidence": 0.1}, + }, + }, + }, + ) + + +def test_hybrid_merge_marks_agreement_conflict_and_counts() -> None: + rule = ExtractionBundle( + claims=[ + ExtractedClaim("A", "Thing", "hasPart", "B", "Thing", confidence=0.7), + ExtractedClaim("A", "Thing", "color", object_value="red", confidence=0.6), + ] + ) + llm = ExtractionBundle( + claims=[ + ExtractedClaim("A", "Thing", "hasPart", "B", "Thing", confidence=0.8), + ExtractedClaim("A", "Thing", "color", object_value="blue", confidence=0.65), + ExtractedClaim("A", "Thing", "size", object_value="large", confidence=0.5), + ] + ) + mark_bundle(rule, source="rule", mode="compare") + mark_bundle(llm, source="llm", mode="compare") + + merged = merge_bundles(rule, llm, HybridExtractor("generic", mode="compare")) + + assert merged.extractor_name == "compare_rule_llm_extractor" + assert merged.raw_output["comparison"] == { + "both_agree": 1, + "rule_only": 0, + "llm_only": 1, + "conflict": 1, + "rejected_by_validation": 0, + } + by_predicate = {(claim.predicate, claim.object_name or claim.object_value): claim for claim in merged.claims} + assert by_predicate[("hasPart", "B")].metadata["agreement"] == "rule_and_llm" + assert by_predicate[("color", "red")].metadata["review_required"] is True + assert by_predicate[("color", "blue")].metadata["conflict_status"] == "rule_llm_conflict" + assert by_predicate[("size", "large")].metadata["agreement"] == "llm_only" + + +def test_validation_keeps_evidence_missing_llm_only_claim_as_candidate() -> None: + bundle = ExtractionBundle( + claims=[ + ExtractedClaim( + "A", + "Thing", + "color", + object_value="blue", + confidence=0.8, + metadata={ + "agreement": "llm_only", + "extraction_source": "llm", + "llm_confidence": 0.8, + }, + ) + ], + extractor_name="hybrid_rule_llm_extractor", + provider="lm_studio", + raw_output={"extraction_mode": "hybrid"}, + ) + + result = validate_extraction_bundle(bundle, project_config()) + + assert len(result.bundle.claims) == 1 + claim = result.bundle.claims[0] + assert claim.metadata["validation_status"] == "candidate_claim" + assert claim.metadata["review_required"] is True + assert claim.metadata["review_reason"] == "claim has no evidence" + + +def test_validation_marks_rule_only_claim_as_rule_candidate() -> None: + bundle = ExtractionBundle( + claims=[ + ExtractedClaim( + "Alpha", + "Thing", + "color", + object_value="red", + evidence_text="Alpha color red", + confidence=0.7, + metadata={ + "agreement": "rule_only", + "extraction_source": "rule", + "rule_confidence": 0.7, + }, + ) + ], + extractor_name="hybrid_rule_llm_extractor", + provider="lm_studio", + raw_output={"extraction_mode": "hybrid"}, + ) + + result = validate_extraction_bundle(bundle, project_config()) + + assert result.bundle.claims[0].metadata["validation_status"] == "rule_candidate" + assert result.bundle.claims[0].metadata["claim_kind"] == "rule_candidate" + + +def test_hybrid_smart_routing_skips_llm_for_category_page() -> None: + context = ExtractionPageContext( + url="https://example.test/category", + final_url=None, + title="Category", + page_type="CategoryPage", + clean_text="Category listing " * 40, + ) + + bundle = HybridExtractor("generic", mode="hybrid").extract_from_context(context, project_config()) + + assert bundle.extractor_name == "hybrid_rule_only_routed" + assert bundle.raw_output["llm_skipped"] is True + assert bundle.raw_output["effective_extraction_mode"] == "rule_only" + assert "CategoryPage" in bundle.raw_output["llm_skip_reason"] diff --git a/ontology_platform/web/frontend/src/lib/api/claims.ts b/ontology_platform/web/frontend/src/lib/api/claims.ts index 0f0ff88..1875f2a 100644 --- a/ontology_platform/web/frontend/src/lib/api/claims.ts +++ b/ontology_platform/web/frontend/src/lib/api/claims.ts @@ -28,6 +28,11 @@ export const claimSchema = z graph_merge_status: z.string().nullable().optional(), graph_merge_reason: z.string().nullable().optional(), confidence_breakdown: z.record(z.string(), z.unknown()).nullable().optional(), + agreement: z.string().nullable().optional(), + extraction_source: z.string().nullable().optional(), + claim_kind: z.string().nullable().optional(), + rule_confidence: z.number().nullable().optional(), + llm_confidence: z.number().nullable().optional(), review_required: z.boolean().nullable().optional(), review_reason: z.string().nullable().optional(), conflict_status: z.string().nullable().optional(), diff --git a/ontology_platform/web/frontend/src/lib/api/crawl.ts b/ontology_platform/web/frontend/src/lib/api/crawl.ts index 03da5b7..00c9ca0 100644 --- a/ontology_platform/web/frontend/src/lib/api/crawl.ts +++ b/ontology_platform/web/frontend/src/lib/api/crawl.ts @@ -9,10 +9,27 @@ export const crawlPageItemSchema = z status: z.string().optional(), page_type: z.string().optional(), title: z.string().nullable().optional(), + extraction_mode: z.string().nullable().optional(), + effective_extraction_mode: z.string().nullable().optional(), + llm_skipped: z.boolean().optional(), + llm_skip_reason: z.string().nullable().optional(), + fallback_used: z.boolean().optional(), + agreement_claim_count: z.number().optional(), + conflict_claim_count: z.number().optional(), error: z.string().nullable().optional(), }) .passthrough(); +export const crawlExtractionSummarySchema = z + .object({ + llm_skipped_count: z.number().default(0), + fallback_count: z.number().default(0), + conflict_claim_count: z.number().default(0), + agreement_claim_count: z.number().default(0), + llm_call_count: z.number().default(0), + }) + .passthrough(); + export const crawlProgressSchema = z .object({ seed_url: z.string().optional(), @@ -23,6 +40,7 @@ export const crawlProgressSchema = z errors: z.array(z.string()).optional(), pages: z.array(crawlPageItemSchema).optional(), latest_page: crawlPageItemSchema.optional(), + extraction_summary: crawlExtractionSummarySchema.optional(), }) .passthrough(); @@ -49,9 +67,11 @@ export interface StartSiteCrawlRequest { max_pages?: number; same_domain_only?: boolean; analyze_page_types?: string[]; + extraction_mode?: "rule_only" | "llm_only" | "hybrid" | "compare"; extractor_provider?: string; extractor_model?: string | null; extractor_base_url?: string | null; + fallback_to_rules?: boolean; check_robots_txt?: boolean; respect_robots_txt?: boolean | null; } diff --git a/ontology_platform/web/frontend/src/lib/api/platform.ts b/ontology_platform/web/frontend/src/lib/api/platform.ts index 3821b00..54227e3 100644 --- a/ontology_platform/web/frontend/src/lib/api/platform.ts +++ b/ontology_platform/web/frontend/src/lib/api/platform.ts @@ -65,6 +65,20 @@ export const extractionLogSchema = z validation: z.unknown().optional(), page_context: z.unknown().optional(), candidate_count: z.number().default(0), + extraction_mode: z.string().nullable().optional(), + effective_extraction_mode: z.string().nullable().optional(), + comparison: recordSchema.nullable().optional(), + rule_entity_count: z.number().nullable().optional(), + rule_claim_count: z.number().nullable().optional(), + llm_entity_count: z.number().nullable().optional(), + llm_claim_count: z.number().nullable().optional(), + agreement_claim_count: z.number().nullable().optional(), + rule_only_claim_count: z.number().nullable().optional(), + llm_only_claim_count: z.number().nullable().optional(), + conflict_claim_count: z.number().nullable().optional(), + llm_skipped: z.boolean().nullable().optional(), + llm_skip_reason: z.string().nullable().optional(), + fallback: z.string().nullable().optional(), raw_output: z.unknown().optional(), }) .passthrough(); diff --git a/ontology_platform/web/frontend/src/lib/api/research.ts b/ontology_platform/web/frontend/src/lib/api/research.ts index 913ef1d..b688232 100644 --- a/ontology_platform/web/frontend/src/lib/api/research.ts +++ b/ontology_platform/web/frontend/src/lib/api/research.ts @@ -62,9 +62,11 @@ export interface StartResearchRequest { min_relevance?: number; same_domain_only?: boolean; analyze_page_types?: string[]; + extraction_mode?: "rule_only" | "llm_only" | "hybrid" | "compare"; extractor_provider?: string; extractor_model?: string | null; extractor_base_url?: string | null; + fallback_to_rules?: boolean; check_robots_txt?: boolean; respect_robots_txt?: boolean | null; } diff --git a/ontology_platform/web/frontend/src/pages/CrawlPage.tsx b/ontology_platform/web/frontend/src/pages/CrawlPage.tsx index 1355ae2..e7b60fe 100644 --- a/ontology_platform/web/frontend/src/pages/CrawlPage.tsx +++ b/ontology_platform/web/frontend/src/pages/CrawlPage.tsx @@ -44,6 +44,11 @@ const startCrawlSchema = z.object({ max_depth: z.number().int().min(0).max(10), max_pages: z.number().int().min(1).max(500), same_domain_only: z.boolean(), + extraction_mode: z.enum(["rule_only", "llm_only", "hybrid", "compare"]), + extractor_provider: z.enum(["lm_studio", "openai", "ollama"]), + extractor_model: z.string().optional(), + extractor_base_url: z.string().optional(), + fallback_to_rules: z.boolean(), }); type StartCrawlFormValues = z.infer; @@ -96,14 +101,22 @@ export default function CrawlPage() { max_depth: 2, max_pages: 30, same_domain_only: true, + extraction_mode: "hybrid", + extractor_provider: "lm_studio", + extractor_model: "", + extractor_base_url: "http://localhost:1234/v1", + fallback_to_rules: true, }, }); const onStart = async (values: StartCrawlFormValues) => { try { + const usesLlm = values.extraction_mode !== "rule_only"; const created = await startCrawl.mutateAsync({ project_name: projectName, ...values, + extractor_model: usesLlm ? values.extractor_model || null : null, + extractor_base_url: usesLlm ? values.extractor_base_url || null : null, }); setActiveJobId(created.job_id); toast.success( @@ -136,6 +149,8 @@ export default function CrawlPage() { const sources = project?.sources ?? []; const sourceName = watch("source_name"); + const extractionMode = watch("extraction_mode"); + const usesLlm = extractionMode !== "rule_only"; const selectedSource = sources.find((s) => s.name === sourceName); const progress = job?.progress; const visited = progress?.visited_count ?? 0; @@ -340,6 +355,60 @@ export default function CrawlPage() { +

+ + {!collapsed && ( +
    + {types.map((type) => { + const hidden = hiddenTypes.has(type); + const count = typeCounts.get(type) ?? 0; + return ( +
  • + -
  • - ); - })} -
+
@@ -331,3 +393,30 @@ function InfoBox({ label, value }: { label: string; value: string }) { ); } +function ComparisonBox({ + label, + value, + tone, +}: { + label: string; + value: number; + tone: "success" | "warning" | "info" | "danger" | "muted"; +}) { + const toneClass = + tone === "success" + ? "border-green-200 bg-green-50 text-green-900" + : tone === "warning" + ? "border-yellow-200 bg-yellow-50 text-yellow-900" + : tone === "danger" + ? "border-red-200 bg-red-50 text-red-900" + : tone === "info" + ? "border-blue-200 bg-blue-50 text-blue-900" + : "border-border bg-background text-foreground"; + return ( +
+
{label}
+
{value}
+
+ ); +} + diff --git a/ontology_platform/web/frontend/src/pages/ResearchPage.tsx b/ontology_platform/web/frontend/src/pages/ResearchPage.tsx index 83afc41..236dd4d 100644 --- a/ontology_platform/web/frontend/src/pages/ResearchPage.tsx +++ b/ontology_platform/web/frontend/src/pages/ResearchPage.tsx @@ -52,6 +52,11 @@ const startResearchSchema = z.object({ max_branch: z.number().int().min(1).max(30), min_relevance: z.number().min(0).max(1), same_domain_only: z.boolean(), + extraction_mode: z.enum(["rule_only", "llm_only", "hybrid", "compare"]), + extractor_provider: z.enum(["lm_studio", "openai", "ollama"]), + extractor_model: z.string().optional(), + extractor_base_url: z.string().optional(), + fallback_to_rules: z.boolean(), }); type StartResearchFormValues = z.infer; @@ -89,6 +94,7 @@ export default function ResearchPage() { register, handleSubmit, setValue, + watch, formState: { errors, isSubmitting }, } = useForm({ resolver: zodResolver(startResearchSchema), @@ -101,12 +107,18 @@ export default function ResearchPage() { max_branch: 8, min_relevance: 0.35, same_domain_only: true, + extraction_mode: "hybrid", + extractor_provider: "lm_studio", + extractor_model: "", + extractor_base_url: "http://localhost:1234/v1", + fallback_to_rules: true, }, }); const onSubmit = async (values: StartResearchFormValues) => { try { setLastResult(null); + const usesLlm = values.extraction_mode !== "rule_only"; const res = await startResearch.mutateAsync({ project_name: projectName, source_name: values.source_name, @@ -117,6 +129,11 @@ export default function ResearchPage() { max_branch: values.max_branch, min_relevance: values.min_relevance, same_domain_only: values.same_domain_only, + extraction_mode: values.extraction_mode, + extractor_provider: values.extractor_provider, + extractor_model: usesLlm ? values.extractor_model || null : null, + extractor_base_url: usesLlm ? values.extractor_base_url || null : null, + fallback_to_rules: values.fallback_to_rules, }); setLastResult(res); toast.success(t("research.completed", "자율 연구가 완료되었습니다")); @@ -130,6 +147,8 @@ export default function ResearchPage() { }; const sources = project?.sources ?? []; + const extractionMode = watch("extraction_mode"); + const usesLlm = extractionMode !== "rule_only"; return (
@@ -344,6 +363,60 @@ export default function ResearchPage() { +
+
+
+ + +
+
+ + +
+
+ {usesLlm && ( + <> +
+ + +
+
+ + +
+ + + )} +
+

-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 z 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