提供商集成¶
Instructor 支持许多不同的 LLM 提供商,让你可以使用结构化输出和偏好的模型。
-
主要云提供商
提供全面功能的领先人工智能提供商
OpenAI · Azure · Anthropic · Google.GenerativeAI · Vertex AI · AWS Bedrock · Google.GenAI
-
其他云提供商
提供专业服务的其他商业人工智能提供商
Cohere · Mistral · DeepSeek · Together AI · Groq · Fireworks · Cerebras · Writer · Perplexity Sambanova
-
开源
在本地或云端运行开源模型
-
路由
多个提供商的统一接口
常见功能¶
所有集成均支持这些核心功能
功能 | 描述 | 文档 |
---|---|---|
模型修补 | 使用结构化输出功能增强提供商客户端 | 修补 |
响应模型 | 使用 Pydantic 定义预期的响应模式 | 模型 |
验证 | 确保响应与您的模式定义匹配 | 验证 |
流式传输 | 流式传输部分或迭代响应 | 部分, 可迭代 |
钩子 | 添加回调用于监控和调试 | 钩子 |
然而,每个提供商都有不同的功能和限制。请参阅具体提供商的文档了解详情。
提供商模式¶
提供商支持不同的方法来生成结构化输出
模式 | 描述 | 提供商 |
---|---|---|
TOOLS | 使用 OpenAI 风格的工具/函数调用 | OpenAI, Anthropic, Mistral |
PARALLEL_TOOLS | 多个同步工具调用 | OpenAI |
JSON | 直接生成 JSON 响应 | OpenAI, Gemini, Cohere, Perplexity |
MD_JSON | 嵌入在 Markdown 中的 JSON | 大多数提供商 |
BEDROCK_TOOLS | AWS Bedrock 函数调用 | AWS Bedrock |
BEDROCK_JSON | AWS Bedrock JSON 生成 | AWS Bedrock |
PERPLEXITY_JSON | Perplexity JSON 生成 | Perplexity |
参阅 模式比较 指南了解详情。
入门¶
有两种方法可以将提供商与 Instructor 一起使用
1. 使用提供商初始化 (推荐)¶
最简单的入门方法是使用提供商初始化
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.chat.completions.create(
response_model=UserInfo,
messages=[{"role": "user", "content": "Your prompt"}]
)
支持的提供商字符串:- openai/model-name
: OpenAI 模型 - anthropic/model-name
: Anthropic 模型 - google/model-name
: Google 模型 - mistral/model-name
: Mistral 模型 - cohere/model-name
: Cohere 模型 - perplexity/model-name
: Perplexity 模型 - groq/model-name
: Groq 模型 - writer/model-name
: Writer 模型 - bedrock/model-name
: AWS Bedrock 模型 - cerebras/model-name
: Cerebras 模型 - fireworks/model-name
: Fireworks 模型 - vertexai/model-name
: Vertex AI 模型 - genai/model-name
: Google GenAI 模型
2. 手动客户端设置¶
或者,您可以手动设置客户端
-
安装所需的依赖项
-
导入提供商客户端并用 Instructor 进行修补
-
将修补后的客户端与您的 Pydantic 模型一起使用
有关特定提供商的设置和示例,请访问每个提供商的文档页面。
需要帮助?¶
如果您需要特定集成的帮助
- 查阅特定提供商的文档
- 浏览示例和使用指南
- 搜索现有的 GitHub 问题
- 加入我们的 Discord 社区