freshcrate
Skin:/
Home > Uncategorized > instructor

instructor

structured outputs for llms

Why this rank:Strong adoptionRelease freshnessHealthy release cadence

Description

structured outputs for llms

README

Instructor: Structured Outputs for LLMs

Get reliable JSON from any LLM. Built on Pydantic for validation, type safety, and IDE support.

import instructor
from pydantic import BaseModel


# Define what you want
class User(BaseModel):
    name: str
    age: int


# Extract it from natural language
client = instructor.from_provider("openai/gpt-4o-mini")
user = client.chat.completions.create(
    response_model=User,
    messages=[{"role": "user", "content": "John is 25 years old"}],
)

print(user)  # User(name='John', age=25)

That's it. No JSON parsing, no error handling, no retries. Just define a model and get structured data.

PyPIDownloadsGitHub StarsDiscordTwitterUse Instructor for fast extraction, reach for PydanticAI when you need agents. Instructor keeps schema-first flows simple and cheap. If your app needs richer agent runs, built-in observability, or shareable traces, try PydanticAI. PydanticAI is the official agent runtime from the Pydantic team, adding typed tools, replayable datasets, evals, and production dashboards while using the same Pydantic models. Dive into the PydanticAI docs to see how it extends Instructor-style workflows.

Why Instructor?

Getting structured data from LLMs is hard. You need to:

  1. Write complex JSON schemas
  2. Handle validation errors
  3. Retry failed extractions
  4. Parse unstructured responses
  5. Deal with different provider APIs

Instructor handles all of this with one simple interface:

Without Instructor With Instructor
response = openai.chat.completions.create(
    model="gpt-4",
    messages=[{"role": "user", "content": "..."}],
    tools=[
        {
            "type": "function",
            "function": {
                "name": "extract_user",
                "parameters": {
                    "type": "object",
                    "properties": {
                        "name": {"type": "string"},
                        "age": {"type": "integer"},
                    },
                },
            },
        }
    ],
)

# Parse response
tool_call = response.choices[0].message.tool_calls[0]
user_data = json.loads(tool_call.function.arguments)

# Validate manually
if "name" not in user_data:
    # Handle error...
    pass
client = instructor.from_provider("openai/gpt-4")

user = client.chat.completions.create(
    response_model=User,
    messages=[{"role": "user", "content": "..."}],
)

# That's it! user is validated and typed

Install in seconds

pip install instructor

Or with your package manager:

uv add instructor
poetry add instructor

Works with every major provider

Use the same code with any LLM provider:

# OpenAI
client = instructor.from_provider("openai/gpt-4o")

# Anthropic
client = instructor.from_provider("anthropic/claude-3-5-sonnet")

# Google
client = instructor.from_provider("google/gemini-pro")

# Ollama (local)
client = instructor.from_provider("ollama/llama3.2")

# With API keys directly (no environment variables needed)
client = instructor.from_provider("openai/gpt-4o", api_key="sk-...")
client = instructor.from_provider("anthropic/claude-3-5-sonnet", api_key="sk-ant-...")
client = instructor.from_provider("groq/llama-3.1-8b-instant", api_key="gsk_...")

# All use the same API!
user = client.chat.completions.create(
    response_model=User,
    messages=[{"role": "user", "content": "..."}],
)

Production-ready features

Automatic retries

Failed validations are automatically retried with the error message:

from pydantic import BaseModel, field_validator


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

    @field_validator('age')
    def validate_age(cls, v):
        if v < 0:
            raise ValueError('Age must be positive')
        return v


# Instructor automatically retries when validation fails
user = client.chat.completions.create(
    response_model=User,
    messages=[{"role": "user", "content": "..."}],
    max_retries=3,
)

Streaming support

Stream partial objects as they're generated:

from instructor import Partial

for partial_user in client.chat.completions.create(
    response_model=Partial[User],
    messages=[{"role": "user", "content": "..."}],
    stream=True,
):
    print(partial_user)
    # User(name=None, age=None)
    # User(name="John", age=None)
    # User(name="John", age=25)

Nested objects

Extract complex, nested data structures:

from typing import List


class Address(BaseModel):
    street: str
    city: str
    country: str


class User(BaseModel):
    name: str
    age: int
    addresses: List[Address]


# Instructor handles nested objects automatically
user = client.chat.completions.create(
    response_model=User,
    messages=[{"role": "user", "content": "..."}],
)

Used in production by

Trusted by over 100,000 developers and companies building AI applications:

  • 3M+ monthly downloads
  • 10K+ GitHub stars
  • 1000+ community contributors

Companies using Instructor include teams at OpenAI, Google, Microsoft, AWS, and many YC startups.

Get started

Basic extraction

Extract structured data from any text:

from pydantic import BaseModel
import instructor

client = instructor.from_provider("openai/gpt-4o-mini")


class Product(BaseModel):
    name: str
    price: float
    in_stock: bool


product = client.chat.completions.create(
    response_model=Product,
    messages=[{"role": "user", "content": "iPhone 15 Pro, $999, available now"}],
)

print(product)
# Product(name='iPhone 15 Pro', price=999.0, in_stock=True)

Multiple languages

Instructor's simple API is available in many languages:

  • Python - The original
  • TypeScript - Full TypeScript support
  • Ruby - Ruby implementation
  • Go - Go implementation
  • Elixir - Elixir implementation
  • Rust - Rust implementation

Learn more

Why use Instructor over alternatives?

vs Raw JSON mode: Instructor provides automatic validation, retries, streaming, and nested object support. No manual schema writing.

vs LangChain/LlamaIndex: Instructor is focused on one thing - structured extraction. It's lighter, faster, and easier to debug.

vs Custom solutions: Battle-tested by thousands of developers. Handles edge cases you haven't thought of yet.

Contributing

We welcome contributions! Check out our good first issues to get started.

License

MIT License - see LICENSE for details.


Built by the Instructor community. Special thanks to Jason Liu and all contributors.

Release History

VersionChangesUrgencyDate
v1.15.1## Security - **Bedrock**: Block remote HTTP(S) image URL fetching in `_openai_image_part_to_bedrock` โ€” only `data:` URLs accepted, preventing SSRF via user-controlled image URLs - **Bedrock/PDF**: Block remote URL and local file fetching in `PDF.to_bedrock` โ€” only base64 data or `s3://` sources supported, preventing SSRF and local file disclosure ## Added - **Hooks**: `completion:error` and `completion:last_attempt` handlers now receive `attempt_number`, `max_attempts`, and `is_last_attempt` aHigh4/3/2026
v1.15.0## What's Changed - **Validation**: Fix `Validator` to require `is_valid` field (#2230) - **Gemini**: Handle `GEMINI_TOOLS` in async streaming paths (#2135) - **CLI**: Add `--full-id` flag to show complete batch IDs (#2068) - **Providers**: Remove opinionated system prompt from JSON mode (#2069) - **Mode**: Add missing `GENAI` and `Responses` modes to `tool_modes()` (#2072) - **xAI**: Make xai-sdk optional at runtime (#2043, #2094) - **Docs**: Add canonical OpenAI starter example (#2117) - **DeMedium4/2/2026
v1.14.5## Changes - fix(metadata): populate author field for PyPI stats Separate author names from emails so hatchling populates the Author metadata field correctly. pypistats.org reads this field and was showing "None" because the names were only in author_email.Low1/29/2026
v1.14.4## What's Changed * refactor(json_tracker): simplify using sibling heuristic by @thomasnormal in https://github.com/567-labs/instructor/pull/2000 * Responses API validation error by @jxnl in https://github.com/567-labs/instructor/pull/2002 * GenAI config labels loss by @jxnl in https://github.com/567-labs/instructor/pull/2005 * GenAI SafetySettings image content by @jxnl in https://github.com/567-labs/instructor/pull/2007 * List object crashes fix by @jxnl in https://github.com/567-labs/insLow1/16/2026
v1.14.3## Added - Completeness-based validation for Partial streaming - only validates JSON structures that are structurally complete (#1999) - New `JsonCompleteness` class in `instructor/dsl/json_tracker.py` for tracking JSON completeness during streaming (#1999) ## Fixed - Fixed Stream objects crashing reask handlers when using streaming with `max_retries > 1` (#1992) - Field constraints (`min_length`, `max_length`, `ge`, `le`, etc.) now work correctly during streaming (#1999) ## Deprecated - `PartLow1/13/2026
v1.14.2## Fixed - Fixed model validators crashing during partial streaming by skipping them until streaming completes (#1994) - Fixed infinite recursion with self-referential models in Partial (e.g., TreeNode with children: List["TreeNode"]) (#1997) ## Added - Added `PartialLiteralMixin` documentation for handling Literal/Enum types during streaming (#1994) - Added final validation against original model after streaming completes to enforce required fields (#1994) - Added tests for recursive Partial mLow1/13/2026
v1.14.1## What's Changed * fix(genai): Support cached_content for Google context caching by @b-antosik-marcura in https://github.com/567-labs/instructor/pull/1987 ## New Contributors * @b-antosik-marcura made their first contribution in https://github.com/567-labs/instructor/pull/1987 **Full Changelog**: https://github.com/567-labs/instructor/compare/v1.14.0...v1.14.1Low1/8/2026
v1.14.0## What's Changed * Audit and standardize exception handling in instructor library by @jxnl in https://github.com/567-labs/instructor/pull/1897 * Standardize provider imports in documentation by @jxnl in https://github.com/567-labs/instructor/pull/1896 * Fix the issue by @jxnl in https://github.com/567-labs/instructor/pull/1914 * Standardize provider factory methods in codebase by @jxnl in https://github.com/567-labs/instructor/pull/1898 * Update image base URL in ipnb tutorials by @jxnl inLow1/8/2026
v1.13.0## What's Changed * fix: Gemini HARM_CATEGORY_JAILBREAK and Anthropic tool_result blocks by @jxnl in https://github.com/567-labs/instructor/pull/1867 * fix(genai): fix Gemini streaming by @DaveOkpare in https://github.com/567-labs/instructor/pull/1864 * fix(processing): ensure JSON decode errors are caught by retry; add regression tests for JSON mode (#1856) by @devin-ai-integration[bot] in https://github.com/567-labs/instructor/pull/1857 * fix: resolve type checking diagnostics by @jxnl in Low11/6/2025
v1.12.0## What's Changed * feat: add mkdocs-llmstxt plugin and llms.txt support by @jxnl in https://github.com/567-labs/instructor/pull/1795 * Restore multimodal import compatibility by @jxnl in https://github.com/567-labs/instructor/pull/1797 * feat(retry): add comprehensive tracking of all failed attempts and exceptions by @jxnl in https://github.com/567-labs/instructor/pull/1802 * feat(hooks): add hook combination and per-call hooks support by @jxnl in https://github.com/567-labs/instructor/pullLow10/27/2025
v1.11.3## What's Changed * feat: add mkdocs-llmstxt plugin and llms.txt support by @jxnl in https://github.com/567-labs/instructor/pull/1795 * Restore multimodal import compatibility by @jxnl in https://github.com/567-labs/instructor/pull/1797 * feat(retry): add comprehensive tracking of all failed attempts and exceptions by @jxnl in https://github.com/567-labs/instructor/pull/1802 * feat(hooks): add hook combination and per-call hooks support by @jxnl in https://github.com/567-labs/instructor/pullLow9/9/2025
1.11.2## What's Changed * feat: Add automated bi-weekly scheduled releases by @jxnl in https://github.com/567-labs/instructor/pull/1787 * feat: Enhanced Google Cloud Storage Support for Multimodal Classes by @jxnl in https://github.com/567-labs/instructor/pull/1788 * Fix GCS URI Support for PDF and Audio Classes by @DaveOkpare in https://github.com/567-labs/instructor/pull/1763 * fix(exceptions): restore backwards compatibility for instructor.exceptions imports by @jxnl in https://github.com/567-lLow8/27/2025
v1.11.0## What's Changed * fix(auto_client): add support for litellm provider in from_provider by @jxnl in https://github.com/567-labs/instructor/pull/1723 * refactor(utils): complete provider-specific utility reorganization by @jxnl in https://github.com/567-labs/instructor/pull/1722 * refactor: move provider-specific message conversion to handlers by @jxnl in https://github.com/567-labs/instructor/pull/1724 * Update contributing docs for provider utilities by @jxnl in https://github.com/567-labs/Low8/27/2025
1.10.0## What's Changed * Update integrations to from_provider API by @jxnl in https://github.com/567-labs/instructor/pull/1668 * feat: Add native caching support with AutoCache and RedisCache adapters by @jxnl in https://github.com/567-labs/instructor/pull/1674 * feat: Enhance GitHub Actions workflow for testing by @jxnl in https://github.com/567-labs/instructor/pull/1675 * Deprecate google-generativeai in favor of google-genai by @jxnl in https://github.com/567-labs/instructor/pull/1673 * Fix bLow7/18/2025
1.9.2## What's Changed * Fix docs build path by @jxnl in https://github.com/567-labs/instructor/pull/1662 * Revert "refactor: simplify safety settings configuration for Gemini API" by @jxnl in https://github.com/567-labs/instructor/pull/1664 * Skip LLM tests without API keys by @jxnl in https://github.com/567-labs/instructor/pull/1665 * Add xAI provider by @jxnl in https://github.com/567-labs/instructor/pull/1661 * Fix GenAI image harm categories by @jxnl in https://github.com/567-labs/instructoLow7/7/2025
1.9.1## What's Changed * feat: add Azure OpenAI support to auto_client.py by @jxnl in https://github.com/567-labs/instructor/pull/1633 * fix: expose exception classes in public API by @ivanleomk in https://github.com/567-labs/instructor/pull/1613 * Update TaskAction method description for clarity on task creation andโ€ฆ by @eaedk in https://github.com/567-labs/instructor/pull/1637 * Fix SambaNova capitalization by @jxnl in https://github.com/567-labs/instructor/pull/1651 * refactor: simplify safetLow7/7/2025
1.9.0## What's Changed * feat: Improve error handling with comprehensive exception hierarchy by @jxnl in https://github.com/567-labs/instructor/pull/1549 * Remove `enable_prompt_caching` from Anthropic integration since we haโ€ฆ by @ivanleomk in https://github.com/567-labs/instructor/pull/1562 * Fix/docs by @ivanleomk in https://github.com/567-labs/instructor/pull/1561 * lock by @jxnl in https://github.com/567-labs/instructor/pull/1565 * Fix/gemini config by @ivanleomk in https://github.com/567-laLow6/21/2025
1.8.3## What's Changed * docs: improve CLAUDE.md with better architecture description by @jxnl in https://github.com/567-labs/instructor/pull/1525 * fix(bedrock): minimal working example with from_bedrock client by @dogonthehorizon in https://github.com/567-labs/instructor/pull/1528 * docs(blog): fix code block formatting in blog post by @workwithpurwarkrishna in https://github.com/567-labs/instructor/pull/1526 * feat(bedrock): sort of add support for async bedrock client by @dogonthehorizon in hLow5/22/2025
1.8.2## What's Changed * fix: removed print statement by @ivanleomk in https://github.com/567-labs/instructor/pull/1524 **Full Changelog**: https://github.com/567-labs/instructor/compare/1.8.1...1.8.2Low5/15/2025
1.8.1## What's Changed * docs(blog): add Anthropic web search structured data blog post by @jxnl in https://github.com/567-labs/instructor/pull/1515 * fix: added support for calling streaming from the create method by @ivanleomk in https://github.com/567-labs/instructor/pull/1502 * Fix/mkdocs by @ivanleomk in https://github.com/567-labs/instructor/pull/1517 * docs(blog): announce unified provider interface (from_provider) by @jxnl in https://github.com/567-labs/instructor/pull/1516 * Fix/anthropLow5/9/2025
1.8.0## What's Changed * Fix typo by @tdhopper in https://github.com/567-labs/instructor/pull/1468 * bunch of other typos in blog posts fixed by @0xRaduan in https://github.com/567-labs/instructor/pull/1477 * remove duplicate providers from integrations page by @0xRaduan in https://github.com/567-labs/instructor/pull/1475 * Fix typos in docs/tutorials/ directory by @0xRaduan in https://github.com/567-labs/instructor/pull/1474 * Simplify learning docs for new users by @jxnl in https://github.com/Low5/7/2025
1.7.9## What's Changed * add async partial streaming support for genai by @oegedijk in https://github.com/instructor-ai/instructor/pull/1441 * Update from_litellm type hints to properly return AsyncInstructor by @jonchun in https://github.com/instructor-ai/instructor/pull/1324 * docs: add cookbook on tracing with Langfuse by @jannikmaierhoefer in https://github.com/instructor-ai/instructor/pull/1452 * Gemini Config Options Documentation by @fjooord in https://github.com/instructor-ai/instructor/pLow4/3/2025
1.7.8## What's Changed * docs: Add Cursor rules documentation by @jxnl in https://github.com/instructor-ai/instructor/pull/1423 * docs: improve contributing guidelines with UV installation and conventional comments by @jxnl in https://github.com/instructor-ai/instructor/pull/1424 * docs: add LLM documentation and update mkdocs.yml with redirect by @jxnl in https://github.com/instructor-ai/instructor/pull/1425 * docs(github): update cursor rules with proper website link and multiline PR instructioLow3/29/2025
1.7.7## What's Changed * feat: adding sync and async example for sambanova by @ivanleomk in https://github.com/instructor-ai/instructor/pull/1415 * fix: bump version + fix deps by @ivanleomk in https://github.com/instructor-ai/instructor/pull/1417 **Full Changelog**: https://github.com/instructor-ai/instructor/compare/1.7.6...1.7.7Low3/17/2025
1.7.6## What's Changed * fix: fixing incorrect import issue by @ivanleomk in https://github.com/instructor-ai/instructor/pull/1414 **Full Changelog**: https://github.com/instructor-ai/instructor/compare/1.7.5...1.7.6Low3/17/2025
1.7.5## What's Changed * docs: improve documentation structure with visual diagrams by @jxnl in https://github.com/instructor-ai/instructor/pull/1399 * Adding Structured Outputs for Mistral by @ivanleomk in https://github.com/instructor-ai/instructor/pull/1391 * Docs/update contributing guide by @jxnl in https://github.com/instructor-ai/instructor/pull/1407 * Updated SQL Model Example Docs for using SkipJsonSchema by @fjooord in https://github.com/instructor-ai/instructor/pull/1410 * Adding suppLow3/16/2025
1.7.4## What's Changed * fix: adding static assets so that we can use them in our tests by @ivanleomk in https://github.com/instructor-ai/instructor/pull/1387 * fix: update links to point to our repo files by @ivanleomk in https://github.com/instructor-ai/instructor/pull/1388 * feat: Adding support for Open Router by @ivanleomk in https://github.com/instructor-ai/instructor/pull/1386 * Updating docs and bumping Anthropic version by @ivanleomk in https://github.com/instructor-ai/instructor/pull/13Low3/12/2025
1.7.3## What's Changed * feat: add new article on migrating to uv by @ivanleomk in https://github.com/instructor-ai/instructor/pull/1284 * Fix Markdown Titles by @Vinnie-Palazeti in https://github.com/instructor-ai/instructor/pull/1298 * chore: update run.py by @eltociear in https://github.com/instructor-ai/instructor/pull/1295 * Use GEMINI_JSON as default by @dylanjcastillo in https://github.com/instructor-ai/instructor/pull/1286 * Add Deepseek Reasoning example by @ivanleomk in https://github.Low3/6/2025
1.7.2## What's Changed * Migrate to UV by @ivanleomk in https://github.com/instructor-ai/instructor/pull/1280 **Full Changelog**: https://github.com/instructor-ai/instructor/compare/1.7.1...1.7.2Low12/26/2024
1.7.1## What's Changed * feat: added cortex documentation by @ivanleomk in https://github.com/instructor-ai/instructor/pull/1225 * chore(deps): bump the poetry group across 1 directory with 24 updates by @dependabot in https://github.com/instructor-ai/instructor/pull/1236 * docs: Add missing section headers and fix broken links by @devin-ai-integration in https://github.com/instructor-ai/instructor/pull/1232 * feat: added a new dag article by @ivanleomk in https://github.com/instructor-ai/instrucLow12/25/2024
1.7.0## What's Changed * feat: adding new article on gemini citations by @ivanleomk in https://github.com/instructor-ai/instructor/pull/1186 * docs: restructure navigation and fix code formatting by @devin-ai-integration in https://github.com/instructor-ai/instructor/pull/1191 * fix: remove table by @ivanleomk in https://github.com/instructor-ai/instructor/pull/1196 * Remove instructor-hub by @devin-ai-integration in https://github.com/instructor-ai/instructor/pull/1197 * feat: Writer integratioLow11/27/2024
1.6.4## What's Changed * docs: fix typo in multimodal by @ivanleomk in https://github.com/instructor-ai/instructor/pull/1101 * fix: added requests as a dependency by @ivanleomk in https://github.com/instructor-ai/instructor/pull/1102 * feat: add blog post and example for LLM-based reranker by @jxnl in https://github.com/instructor-ai/instructor/pull/1115 * ci: add AI labeler workflow for issues and pull requests by @jxnl in https://github.com/instructor-ai/instructor/pull/1126 * fix: typo changeLow11/14/2024
1.6.3## What's Changed * docs: update example to use file_path arg; reflecting updated BatchJob.create_from_messages by @goutham794 in https://github.com/instructor-ai/instructor/pull/1096 * blog: Youtube flashcards with Instructor + Burr by @zilto in https://github.com/instructor-ai/instructor/pull/1094 * docs: update complexity_based.md by @eltociear in https://github.com/instructor-ai/instructor/pull/1098 * feat: anthropic batching code by @jxnl in https://github.com/instructor-ai/instructor/pLow10/21/2024
1.6.2## What's Changed * fix: Added off and clear proeprty to Instructor base class by @ivanleomk in https://github.com/instructor-ai/instructor/pull/1087 * Bumping version to 1.6.2 by @ivanleomk in https://github.com/instructor-ai/instructor/pull/1090 **Full Changelog**: https://github.com/instructor-ai/instructor/compare/1.6.1...1.6.2Low10/17/2024
1.6.1## What's Changed * Added Jinja2 as a dependency by @ivanleomk in https://github.com/instructor-ai/instructor/pull/1084 **Full Changelog**: https://github.com/instructor-ai/instructor/compare/1.6.0...1.6.1Low10/17/2024
1.6.0## What's Changed * Fix compatibility with custom dicts for multimodal message content by @mjvdvlugt in https://github.com/instructor-ai/instructor/pull/1053 * Upgrade tenacity dependencity to include 9.0.0 by @Cokral in https://github.com/instructor-ai/instructor/pull/1042 * Updating examples by @ivanleomk in https://github.com/instructor-ai/instructor/pull/1049 * Adding support for getattrs so that we can access normal methods on wrapped clients by @ivanleomk in https://github.com/instructLow10/17/2024
1.5.2## What's Changed * Add github dependabot to keep dependencies updated by @noxan in https://github.com/jxnl/instructor/pull/895 * Fixed up Cerebras Article edits by @ivanleomk in https://github.com/jxnl/instructor/pull/1043 * feat: support multimodal by @jxnl in https://github.com/jxnl/instructor/pull/1045 * fix: Add parse_from_string method to BatchJob by @kwilsonmg in https://github.com/jxnl/instructor/pull/1033 * Fix Build Errors and update copy by @ivanleomk in https://github.com/jxnl/iLow10/8/2024
1.5.1## What's Changed * Update fake-data.md by @CodyBontecou in https://github.com/jxnl/instructor/pull/1034 * fix: refactor handle_response_model by @jxnl in https://github.com/jxnl/instructor/pull/1032 * Added temperature parameter to RequestBody by @kwilsonmg in https://github.com/jxnl/instructor/pull/1019 * docs: move mention of `max_retries` to the correct section by @hartshorne in https://github.com/jxnl/instructor/pull/1017 * doc : Add missing import in documentation example by @geeklopeLow10/4/2024
1.5.0## What's Changed * doc: add newsletter link by @jxnl in https://github.com/jxnl/instructor/pull/1012 * Updated Caching concepts to update prompt by @ivanleomk in https://github.com/jxnl/instructor/pull/998 * Expand litellm anthropic compatibility by @JohanBekker in https://github.com/jxnl/instructor/pull/958 * feat: implement jinja templating and rename kwarg to `context` by @jxnl in https://github.com/jxnl/instructor/pull/1011 * Fixed new templating feature throwing an error for gemini byLow9/30/2024
1.4.3## What's Changed * Fixed up a new article for prompt caching by @ivanleomk in https://github.com/jxnl/instructor/pull/997 * fix(rag-and-beyond.md): Formatting by @PLNech in https://github.com/jxnl/instructor/pull/1006 * chore(exact_citations.md): Fix punctuation (extra . after a !) by @PLNech in https://github.com/jxnl/instructor/pull/1004 * Fixed up failing test cases for partial parsing by @ivanleomk in https://github.com/jxnl/instructor/pull/1001 * Bump Anthropic Version by @ivanleomk iLow9/19/2024
1.4.2## What's Changed * Fixed typo in the installation command by @ivanleomk in https://github.com/jxnl/instructor/pull/983 * Adding support for O1 by @ivanleomk in https://github.com/jxnl/instructor/pull/991 * fix: handle whitespace in json streams by @mrdkucher in https://github.com/jxnl/instructor/pull/995 * Bumping the version of instructor to 1.4.2 by @ivanleomk in https://github.com/jxnl/instructor/pull/992 * Fixing blog typo for post "Should I Be Using Structured Outputs?" by @kwilsonmg Low9/14/2024
1.4.1## What's Changed * Correct small typos on Structured Output post by @ivanleomk in https://github.com/jxnl/instructor/pull/945 * Modified Conclusion of Structured Outputs Post by @ivanleomk in https://github.com/jxnl/instructor/pull/950 * Bugfix: Literal while streaming does not work by @roeybc in https://github.com/jxnl/instructor/pull/948 * Helping fix some Gemini errors by @ivanleomk in https://github.com/jxnl/instructor/pull/955 * skip test if version less than 3.10 by @sreeprasannar inLow9/6/2024
1.4.0## What's Changed * Fix debug log exception in retry_async by @mattheath in https://github.com/jxnl/instructor/pull/884 * Formatted Docs by @ivanleomk in https://github.com/jxnl/instructor/pull/864 * Anthropic IncompleteOutputException was never triggered for tools and JSON modes by @palako in https://github.com/jxnl/instructor/pull/848 * Fix for Flaky Test Issue #853 by @DonovanAD in https://github.com/jxnl/instructor/pull/891 * revise prompt design docs [zero-shot] by @shreya-51 in https:Low8/22/2024
1.3.7## What's Changed * Moved Cohere import by @ivanleomk in https://github.com/jxnl/instructor/pull/874 **Full Changelog**: https://github.com/jxnl/instructor/compare/1.3.6...1.3.7Low7/24/2024
1.3.5## What's Changed * prompting docs by @shreya-51 in https://github.com/jxnl/instructor/pull/786 * Fixed up an example for RAR and RE2 by @ivanleomk in https://github.com/jxnl/instructor/pull/790 * Added an index page by @ivanleomk in https://github.com/jxnl/instructor/pull/791 * fix: async from_litellm by @adrienbrault in https://github.com/jxnl/instructor/pull/783 * Update maybe.md by @r41ng3l in https://github.com/jxnl/instructor/pull/781 * Update usage.md 'constructor usage list' commanLow7/17/2024
1.3.4## What's Changed * typo fix and rephrasing suggestion by @lukaskf in https://github.com/jxnl/instructor/pull/756 * Fix the link to use the cloudflare docs by @ivanleomk in https://github.com/jxnl/instructor/pull/753 * Updated the Documentation by @ivanleomk in https://github.com/jxnl/instructor/pull/751 * Fixed Cohere retries by @ionflow in https://github.com/jxnl/instructor/pull/761 * Added Vertex AI JSON Mode by @ajac-zero in https://github.com/jxnl/instructor/pull/750 * Fix heading indLow6/25/2024
1.3.3## What's Changed * refactor(simple_type, ModelAdapter): update type checking and refactor model creation by @jxnl in https://github.com/jxnl/instructor/pull/710 * Fix response UnboundError when request fails and custom `tenacity.Retrying` is used by @lazyhope in https://github.com/jxnl/instructor/pull/713 * [fixes #721] Switch away from Anthropic beta interface for tools. by @lemontheme in https://github.com/jxnl/instructor/pull/723 * Add Support for VertexAI Gemini by @ajac-zero in https:/Low6/11/2024
1.3.2## What's Changed * Adding gpt4o vision example by @karbon0x in https://github.com/jxnl/instructor/pull/702 * Fixed incorrect/missing arguments by @Elektra58 in https://github.com/jxnl/instructor/pull/708 * Fixed incorrect argument by @Elektra58 in https://github.com/jxnl/instructor/pull/707 * Fixed a typo by @yasoob in https://github.com/jxnl/instructor/pull/705 * restore async groq functionality by @cmishra in https://github.com/jxnl/instructor/pull/704 * Improve gemini model robustnessLow5/27/2024
1.3.1## What's Changed * Fix typos in README.md by @AmgadHasan in https://github.com/jxnl/instructor/pull/699 * Fix failure checking for "google.generativeai' import spec by @dbmikus in https://github.com/jxnl/instructor/pull/698 ## New Contributors * @AmgadHasan made their first contribution in https://github.com/jxnl/instructor/pull/699 * @dbmikus made their first contribution in https://github.com/jxnl/instructor/pull/698 **Full Changelog**: https://github.com/jxnl/instructor/compare/1.3Low5/23/2024
1.3.0## What's Changed * Update groq.md by @frankbaele in https://github.com/jxnl/instructor/pull/651 * Added gpt-4o to model costs and model names by @st4r0 in https://github.com/jxnl/instructor/pull/671 * Update Groq documentation and examples to use preferred patching method by @NasonZ in https://github.com/jxnl/instructor/pull/663 * anthropic force tool by @Cruppelt in https://github.com/jxnl/instructor/pull/681 * maybe results typo fix by @rbraddev in https://github.com/jxnl/instructor/pullLow5/23/2024

Dependencies & License Audit

Loading dependencies...

Similar Packages

openai-pythonThe official Python library for the OpenAI APIv2.40.0
Paper2Slides๐Ÿ“Š Transform research papers into professional slides and posters seamlessly and quickly with Paper2Slides, saving you valuable time.main@2026-06-06
ai-dataset-generator๐Ÿค– Generate tailored AI training datasets quickly and easily, transforming your domain knowledge into essential training data for model fine-tuning.main@2026-06-06
dopEffectCSharp๐Ÿš€ Maximize your C# productivity with advanced techniques in strings, LINQ, and clean code, inspired by the book "Produtivo com C#."master@2026-06-06
modal-clientSDK libraries for Modalmain@2026-06-05

More in Uncategorized

llama.cppLLM inference in C/C++
modal-clientSDK libraries for Modal
anolisaANOLISA - Agentic Nexus Operating Layer & Interface System Architecture