Coverage for /home/admin/Documents/AI/applications/lexigram-dev/lexigram/experimental/ai/lexigram-ai-llm/src/lexigram/ai/llm/structured/__init__.py: 100%
4 statements
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-25 07:19 +0800
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-25 07:19 +0800
1"""Structured output extraction from LLM responses.
3Public API
4----------
5StructuredExtractor:
6 Core class — wraps an LLM client and extracts validated, typed objects.
8 Example::
10 from lexigram.ai.llm.structured import StructuredExtractor
11 from pydantic import BaseModel
13 class Reply(BaseModel):
14 summary: str
15 confidence: float
17 extractor = StructuredExtractor(llm_client)
18 result = await extractor.extract(
19 prompt="Summarise this ticket.",
20 output_model=Reply,
21 )
23Parser helpers (advanced / testing use):
24 extract_json_block: Pull JSON out of raw LLM output (strips fences, etc.)
25 validate_against_model: Validate a dict against a Pydantic / dataclass model.
26 build_json_schema: Generate a JSON Schema dict from a model class.
27"""
29from __future__ import annotations
31from lexigram.ai.llm.structured.extractor import StructuredExtractor
32from lexigram.ai.llm.structured.parser import (
33 build_json_schema,
34 extract_json_block,
35 validate_against_model,
36)
38__all__ = [
39 "StructuredExtractor",
40 "build_json_schema",
41 "extract_json_block",
42 "validate_against_model",
43]