Overview

no

Original Documentation

Learn how to integrate Instructor with various AI model providers. These comprehensive tutorials cover everything from cloud-based services like OpenAI and Anthropic to local open-source models, helping you extract structured outputs from any LLM.

Common Features#

All integrations support these core features:

FeatureDescriptionDocumentation
Model PatchingEnhance provider clients with structured output capabilitiesPatching
Response ModelsDefine expected response schema with PydanticModels
ValidationEnsure responses match your schema definitionValidation
StreamingStream partial or iterative responsesPartial, Iterable
HooksAdd callbacks for monitoring and debuggingHooks

However, each provider has different capabilities and limitations. Refer to the specific provider documentation for details.

Provider Modes#

Providers support different methods for generating structured outputs:

ModeDescriptionProviders
TOOLSUses OpenAI-style tools/function callingOpenAI, Anthropic, Mistral
PARALLEL_TOOLSMultiple simultaneous tool callsOpenAI
JSONDirect JSON response generationOpenAI, Gemini, Cohere, GenAI
MD_JSONJSON embedded in markdownMost providers

See the Modes Comparison guide for details.

Getting Started#

There are two ways to use providers with Instructor:

The simplest way to get started is using the provider initialization:

import instructor
from pydantic import BaseModel

class UserInfo(BaseModel):
    name: str
    age: int

# Initialize any provider with a simple string
client = instructor.from_provider("openai/gpt-4")
# Or use async client
async_client = instructor.from_provider("anthropic/claude-3-sonnet", async_client=True)

# Use the same interface for all providers
response = client.create(
    response_model=UserInfo,
    messages=[{"role": "user", "content": "Your prompt"}]
)

Supported provider strings:

  • openai/model-name: OpenAI models
  • anthropic/model-name: Anthropic models
  • google/model-name: Google models
  • mistral/model-name: Mistral models
  • cohere/model-name: Cohere models
  • perplexity/model-name: Perplexity models
  • groq/model-name: Groq models
  • writer/model-name: Writer models
  • bedrock/model-name: AWS Bedrock models
  • cerebras/model-name: Cerebras models
  • fireworks/model-name: Fireworks models
  • vertexai/model-name: Vertex AI models
  • genai/model-name: Google GenAI models
  • ollama/model-name: Ollama models

Provider Checklist#

Use these example strings with from_provider to quickly get started:

  • instructor.from_provider("openai/gpt-5-nano")
  • instructor.from_provider("anthropic/claude-3-sonnet")
  • instructor.from_provider("google/gemini-2.5-flash")
  • instructor.from_provider("mistral/mistral-large-latest")
  • instructor.from_provider("cohere/command-r")
  • instructor.from_provider("perplexity/sonar-small")
  • instructor.from_provider("groq/llama3-8b-8192")
  • instructor.from_provider("writer/palmyra-x-004")
  • instructor.from_provider("bedrock/anthropic.claude-3-sonnet-20240229-v1:0")
  • instructor.from_provider("cerebras/llama3.1-70b")
  • instructor.from_provider("fireworks/llama-v3-70b-instruct")
  • instructor.from_provider("vertexai/gemini-3-flash")
  • instructor.from_provider("genai/gemini-3-flash")
  • instructor.from_provider("ollama/llama3")

2. Manual Client Setup#

Alternatively, you can manually set up the client:

  1. Install the required dependencies:

    pip install "instructor[provider]"  # e.g., instructor[anthropic]
  2. Import the provider client and patch it with Instructor:

    import instructor
    from provider_package import Client
    
    client = instructor.from_provider(Client())
  3. Use the patched client with your Pydantic model:

    response = client.create(
        response_model=YourModel,
        messages=[{"role": "user", "content": "Your prompt"}]
    )

For provider-specific setup and examples, visit each provider’s documentation page.

Need Help?#

If you need assistance with a specific integration:

  1. Check the provider-specific documentation
  2. Browse the examples and cookbooks
  3. Search existing GitHub issues
  4. Join our Discord community
Link last verified June 7, 2026. View original ↗
Source: Instructor Docs
Link last verified: 2026-03-04