File size: 1,748 Bytes
024c30a
 
 
 
 
 
 
 
 
 
ab5ea78
 
 
 
 
 
024c30a
 
 
 
 
 
 
 
ab5ea78
 
024c30a
 
 
ab5ea78
024c30a
 
 
 
 
ab5ea78
024c30a
 
ab5ea78
024c30a
 
 
ab5ea78
 
024c30a
 
ab5ea78
024c30a
ab5ea78
024c30a
 
 
 
 
ab5ea78
024c30a
ab5ea78
 
 
024c30a
ab5ea78
024c30a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
"""Knowledge-extraction pipeline: parsed document -> candidate knowledge entries.

Distinct from `src/knowledge/`, which is the existing OCR -> chunk -> pgvector
ingestion path for unstructured RAG. This package does not touch it.

Stage order, and which stages cost money:
    adapter   seam artifact -> internal Chunk          free
    filters   cue / legend / span NER -> mentions      free (CPU)
    cluster   normalise + cluster mentions             free
    rank      evidence scoring, top-K selection        free
    extract   one LLM call per TERM CLUSTER            PAID
    validate  verbatim span check, escalation          free
    diff      new / duplicate / conflicting            free
    queue     frequency-sorted review queue            free

`service.py` is the facade; `cli.py` is the operator entry point.

Design rationale: knowledge_pipeline_context.md
Calibrated constants and why: KNOWLEDGE_PIPELINE_CALIBRATION.md
"""

from .adapter import parsed_doc_from_artifact
from .models import (
    AbbrevPair,
    BriefContext,
    CallUsage,
    Chunk,
    ClusterResult,
    FilterResult,
    FormulaEntry,
    GlossaryEntry,
    Mention,
    ParsedDoc,
    Provenance,
    RuleCandidate,
    RuleEntry,
    TermCluster,
)
from .service import ExtractionResult, build_clusters, estimate_cost, extract_all, run_filters

__all__ = [
    "AbbrevPair",
    "BriefContext",
    "CallUsage",
    "Chunk",
    "ClusterResult",
    "ExtractionResult",
    "FilterResult",
    "FormulaEntry",
    "GlossaryEntry",
    "Mention",
    "ParsedDoc",
    "Provenance",
    "RuleCandidate",
    "RuleEntry",
    "TermCluster",
    "build_clusters",
    "estimate_cost",
    "extract_all",
    "parsed_doc_from_artifact",
    "run_filters",
]