diff --git a/docs/index.md b/docs/index.md index c7a9d66a8..688451360 100644 --- a/docs/index.md +++ b/docs/index.md @@ -13,27 +13,49 @@ Instructor makes it easy to get structured data like JSON from LLMs like GPT-3.5 It stands out for its simplicity, transparency, and user-centric design, built on top of Pydantic. Instructor helps you manage [validation context](./concepts/reask_validation.md), retries with [Tenacity](./concepts/retrying.md), and streaming [Lists](./concepts/lists.md) and [Partial](./concepts/partial.md) responses. -- Instructor provides support for a wide range of programming languages, including: - - [Python](https://python.useinstructor.com) - - [TypeScript](https://js.useinstructor.com) - - [Ruby](https://ruby.useinstructor.com) - - [Go](https://go.useinstructor.com) - - [Elixir](https://hex.pm/packages/instructor) - - [Rust](https://rust.useinstructor.com/) +[:material-star: Star the Repo](https://github.com/jxnl/instructor){: .md-button .md-button--primary } [:material-book-open-variant: Cookbooks](./examples/index.md){: .md-button } [:material-lightbulb: Prompting Guide](./prompting/index.md){: .md-button } -## Want your logo on our website? +## Why use Instructor? -If your company use instructor a lot, we'd love to have your logo on our website! Please fill out [this form](https://q7gjsgfstrp.typeform.com/to/wluQlVVQ) +
-## Why use Instructor? +- :material-code-tags: __Simple API with Full Prompt Control__ + + Instructor provides a straightforward API that gives you complete ownership and control over your prompts. This allows for fine-tuned customization and optimization of your LLM interactions. + + [:octicons-arrow-right-16: Explore Concepts](./concepts/models.md) + +- :material-translate: __Multi-Language Support__ + + Simplify structured data extraction from LLMs with type hints and validation. + + [:simple-python: Python](https://python.useinstructor.com) · [:simple-typescript: TypeScript](https://js.useinstructor.com) · [:simple-ruby: Ruby](https://ruby.useinstructor.com) · [:simple-go: Go](https://go.useinstructor.com) · [:simple-elixir: Elixir](https://hex.pm/packages/instructor) · [:simple-rust: Rust](https://rust.useinstructor.com) + +- :material-refresh: __Reasking and Validation__ + + Automatically reask the model when validation fails, ensuring high-quality outputs. Leverage Pydantic's validation for robust error handling. + + [:octicons-arrow-right-16: Learn about Reasking](./concepts/reask_validation.md) + +- :material-repeat-variant: __Streaming Support__ + + Stream partial results and iterables with ease, allowing for real-time processing and improved responsiveness in your applications. + + [:octicons-arrow-right-16: Learn about Streaming](./concepts/partial.md) + +- :material-code-braces: __Powered by Type Hints__ -The question of using Instructor is fundamentally a question of why to use Pydantic. + Leverage Pydantic for schema validation, prompting control, less code, and IDE integration. + + [:octicons-arrow-right-16: Learn more](https://docs.pydantic.dev/) -1. **Powered by type hints** — Instructor is powered by Pydantic, which is powered by type hints. Schema validation, prompting is controlled by type annotations; less to learn, less code to write, and integrates with your IDE. +- :material-lightning-bolt: __Simplified LLM Interactions__ -2. **Customizable** — Pydantic is highly customizable. You can define your own validators, custom error messages, and more. + Support for [OpenAI](./hub/openai.md), [Anthropic](./hub/anthropic.md), [Google](./hub/google.md), [Vertex AI](./hub/vertexai.md), [Mistral/Mixtral](./hub/together.md), [Anyscale](./hub/anyscale.md), [Ollama](./hub/ollama.md), [llama-cpp-python](./hub/llama-cpp-python.md), [Cohere](./hub/cohere.md), [LiteLLM](./hub/litellm.md). + + [:octicons-arrow-right-16: See Hub](./hub/index.md) -3. **Ecosystem** Pydantic is the most widely used data validation library for Python with over 100M downloads a month. It's used by FastAPI, Typer, and many other popular libraries. +
## Getting Started