Files
567-labs--instructor/docs/integrations/index.md
T
wehub-resource-sync 97e91a83f3
Ruff / Ruff (push) Has been cancelled
Test / Core Tests (push) Has been cancelled
Test / Offline Coverage Tests (Python 3.10) (push) Has been cancelled
Test / Offline Coverage Tests (Python 3.11) (push) Has been cancelled
Test / Offline Coverage Tests (Python 3.12) (push) Has been cancelled
Test / Offline Coverage Tests (Python 3.13) (push) Has been cancelled
Test / Offline Coverage Tests (Python 3.9) (push) Has been cancelled
Test / Full Coverage (Python 3.11) (push) Has been cancelled
Test / Core Provider Tests (OpenAI) (push) Has been cancelled
Test / Core Provider Tests (Anthropic) (push) Has been cancelled
Test / Core Provider Tests (Google) (push) Has been cancelled
Test / Core Provider Tests (Other) (push) Has been cancelled
Test / Anthropic Tests (push) Has been cancelled
Test / Gemini Tests (push) Has been cancelled
Test / Google GenAI Tests (push) Has been cancelled
Test / Vertex AI Tests (push) Has been cancelled
Test / OpenAI Tests (push) Has been cancelled
Test / Writer Tests (push) Has been cancelled
Test / Auto Client Tests (push) Has been cancelled
ty / type-check (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:36:38 +08:00

182 lines
6.9 KiB
Markdown

---
title: "LLM Provider Integration Tutorials - Instructor"
description: "Complete tutorials for integrating Instructor with 15+ LLM providers. Learn structured data extraction with OpenAI, Anthropic Claude, Google Gemini, local models with Ollama, and more."
---
# LLM Provider Integration Tutorials
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.
<div class="grid cards" markdown>
- :material-cloud: **Major Cloud Providers**
Leading AI providers with comprehensive features
[:octicons-arrow-right-16: OpenAI](./openai.md) ·
[:octicons-arrow-right-16: OpenAI Responses](./openai-responses.md) ·
[:octicons-arrow-right-16: Azure](./azure.md) ·
[:octicons-arrow-right-16: Anthropic](./anthropic.md) ·
[:octicons-arrow-right-16: Google.GenerativeAI](./google.md) ·
[:octicons-arrow-right-16: Vertex AI](./vertex.md) ·
[:octicons-arrow-right-16: AWS Bedrock](./bedrock.md) ·
[:octicons-arrow-right-16: Google.GenAI](./genai.md) ·
[:octicons-arrow-right-16: xAI](./xai.md)
- :material-cloud-outline: **Additional Cloud Providers**
Other commercial AI providers with specialized offerings
[:octicons-arrow-right-16: Cohere](./cohere.md) ·
[:octicons-arrow-right-16: Mistral](./mistral.md) ·
[:octicons-arrow-right-16: DeepSeek](./deepseek.md) ·
[:octicons-arrow-right-16: Together AI](./together.md) ·
[:octicons-arrow-right-16: Groq](./groq.md) ·
[:octicons-arrow-right-16: Fireworks](./fireworks.md) ·
[:octicons-arrow-right-16: Cerebras](./cerebras.md) ·
[:octicons-arrow-right-16: Writer](./writer.md) ·
[:octicons-arrow-right-16: Perplexity](./perplexity.md)
[:octicons-arrow-right-16: SambaNova](./sambanova.md)
- :material-open-source-initiative: **Open Source**
Run open-source models locally or in the cloud
[:octicons-arrow-right-16: Ollama](./ollama.md) ·
[:octicons-arrow-right-16: llama-cpp-python](./llama-cpp-python.md)
- :material-router-wireless: **Routing**
Unified interfaces for multiple providers
[:octicons-arrow-right-16: LiteLLM](./litellm.md)
[:octicons-arrow-right-16: OpenRouter](./openrouter.md)
</div>
## Common Features
All integrations support these core features:
| Feature | Description | Documentation |
|---------|-------------|---------------|
| **Model Patching** | Enhance provider clients with structured output capabilities | [Patching](../concepts/patching.md) |
| **Response Models** | Define expected response schema with Pydantic | [Models](../concepts/models.md) |
| **Validation** | Ensure responses match your schema definition | [Validation](../concepts/validation.md) |
| **Streaming** | Stream partial or iterative responses | [Partial](../concepts/partial.md), [Iterable](../concepts/iterable.md) |
| **Hooks** | Add callbacks for monitoring and debugging | [Hooks](../concepts/hooks.md) |
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:
| Mode | Description | Providers |
|------|-------------|-----------|
| `TOOLS` | Uses OpenAI-style tools/function calling | OpenAI, Anthropic, Mistral |
| `PARALLEL_TOOLS` | Multiple simultaneous tool calls | OpenAI |
| `JSON` | Direct JSON response generation | OpenAI, Gemini, Cohere, GenAI |
| `MD_JSON` | JSON embedded in markdown | Most providers |
See the [Modes Comparison](../modes-comparison.md) guide for details.
## Getting Started
There are two ways to use providers with Instructor:
### 1. Using Provider Initialization (Recommended)
The simplest way to get started is using the provider initialization:
```python
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-5.4-mini")
# 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:
- [x] `instructor.from_provider("openai/gpt-5-nano")`
- [x] `instructor.from_provider("anthropic/claude-3-sonnet")`
- [x] `instructor.from_provider("google/gemini-2.5-flash")`
- [x] `instructor.from_provider("mistral/mistral-large-latest")`
- [x] `instructor.from_provider("cohere/command-r")`
- [x] `instructor.from_provider("perplexity/sonar-small")`
- [x] `instructor.from_provider("groq/llama3-8b-8192")`
- [x] `instructor.from_provider("writer/palmyra-x-004")`
- [x] `instructor.from_provider("bedrock/anthropic.claude-3-sonnet-20240229-v1:0")`
- [x] `instructor.from_provider("cerebras/llama3.1-70b")`
- [x] `instructor.from_provider("fireworks/llama-v3-70b-instruct")`
- [x] `instructor.from_provider("vertexai/gemini-3-flash")`
- [x] `instructor.from_provider("genai/gemini-3-flash")`
- [x] `instructor.from_provider("ollama/llama3.2")`
### 2. Manual Client Setup
Alternatively, you can manually set up the client:
1. Install the required dependencies:
```bash
pip install "instructor[provider]" # e.g., instructor[anthropic]
```
2. Import the provider client and patch it with Instructor:
```python
import instructor
from provider_package import Client
client = instructor.from_provider(Client())
```
3. Use the patched client with your Pydantic model:
```python
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](../examples/index.md) and [cookbooks](../examples/index.md)
3. Search existing [GitHub issues](https://github.com/jxnl/instructor/issues)
4. Join our [Discord community](https://discord.gg/bD9YE9JArw)