Instructor
Structured outputs for LLMs using Pydantic — patches any OpenAI-compatible client to return validated Python objects.
Instructor
Instructor is the simplest way to get structured, validated outputs from LLMs. It patches openai, anthropic, google-generativeai, and other clients with a single .from_* call, then uses Pydantic models to define the output schema and automatically validates (and retries on failure).
Key Features
- Pydantic-native — define your output as any Pydantic model; Instructor handles schema generation and parsing
- Multi-provider — OpenAI, Anthropic, Google Gemini, Ollama, Cohere, Mistral, and more
- Auto-retry — on validation failure, Instructor feeds the error back to the LLM and retries automatically
- Streaming — stream partial Pydantic objects as they are generated
- Hooks — before/after hooks for logging, caching, and metrics
- Zero prompt engineering — no need to write JSON-formatting instructions in your prompts
Quick Start
pip install instructor
import instructor
from openai import OpenAI
from pydantic import BaseModel
client = instructor.from_openai(OpenAI())
class User(BaseModel):
name: str
age: int
user = client.chat.completions.create(
model="gpt-4o-mini",
response_model=User,
messages=[{"role": "user", "content": "Extract: John is 30 years old."}],
)
print(user) # User(name='John', age=30)
Install via ai-supply
npx ai-supply add instructor-structured-outputs
Curated mirror of the open-source Instructor project (MIT). Install upstream from the repository.
Compromise signals — malicious or tampered code (leaked secrets, backdoors, a dropped executable) — reduce the score, and known dependency CVEs carry a bounded penalty (they warrant review but never QUARANTINE — update the dependency to clear). Other dangerous-by-capability traits are risk surface, expected for some capabilities. Every finding is mapped to its OWASP control below.
Findings mapped to the OWASP Top 10 for LLM Applications (2025) and the OWASP Machine Learning Security Top 10. Expand any flagged control for the exact findings — compromise reduces the score; expected/risk-surface do not, except a known CVE, which carries a small bounded penalty (high/critical → Review).
The same gate an agent runs before installing (POST /api/v1/trust/instructor-structured-outputs/check). Click a policy:
Consume Instructor programmatically. Authenticate with an API key or session — see Authorize an agent.
# Agents: CHECK BEFORE YOU INSTALL (no auth) — score, grade, level, capability manifest
curl https://ai-supply.store/api/v1/trust/instructor-structured-outputs
# Gate against your org policy (returns { pass, violations })
curl -X POST https://ai-supply.store/api/v1/trust/instructor-structured-outputs/check \
-H "Content-Type: application/json" \
-d '{"minGrade":"B","denyPermissions":["shell"],"denyUnknownEgress":true}'
# CLI
npx ai-supply add instructor-structured-outputs
# REST (install → download)
curl -X POST https://ai-supply.store/api/v1/listings/instructor-structured-outputs/install \
-H "Authorization: Bearer $AIM_KEY"
# MCP tool
install_listing({ "slug": "instructor-structured-outputs" })OpenAPI spec →Curated mirror — latest upstream source. See the repository for tagged releases.