Phase 24 of 25 · Topic 24.1

LLM API Integration & Structured JSON Outputs

1Concept

Modern LLM APIs (OpenAI / Google Gemini) support Structured Outputs, forcing the model to adhere strictly to a Pydantic schema using constrained JSON schema decoding.

2Architecture Diagram

Prompt + Pydantic Schema ---> [ LLM Inference ] ---> Guaranteed Validated JSON Model

3Code Example

Python 3.12
llm_structured_code = '''
from pydantic import BaseModel, Field

class SentimentAnalysis(BaseModel):
    sentiment: str = Field(description="POSITIVE, NEGATIVE, or NEUTRAL")
    confidence: float = Field(ge=0.0, le=1.0)
    key_themes: list[str]

# Conceptual LLM client structured parsing
print("LLM Structured Schema Definition:")
print(SentimentAnalysis.model_json_schema())
'''
print("=== LLM Structured JSON Output Architecture ===")
print(llm_structured_code.strip())

4Expected Output

=== LLM Structured JSON Output Architecture ===
from pydantic import BaseModel, Field

class SentimentAnalysis(BaseModel):
    sentiment: str = Field(description="POSITIVE, NEGATIVE, or NEUTRAL")
    confidence: float = Field(ge=0.0, le=1.0)
    key_themes: list[str]

# Conceptual LLM client structured parsing
print("LLM Structured Schema Definition:")
print(SentimentAnalysis.model_json_schema())

5Key Takeaways

  • Structured outputs eliminate fragile regex string parsing of LLM outputs.
  • Enforces type bounds, enums, and required fields at token generation time.
  • Standardizes LLM responses directly into type-safe Pydantic models.