恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

Instructor 多 Provider 结构化输出集成指南:从 OpenAI 到 Ollama 的统一接入方案

  • 首页
  • 资讯中心
  • /
  • Instructor 多 Provider 结构化输出集成指南:从 OpenAI 到 Ollama 的统一接入方案

相关资讯

ET 框架单线程异步原理:从回调式计时器到 await 与 ETTask 2026/9/15 16:51:09
Raspberry Pi 距离检测实战:在 IoT-For-Beginners 中驱动 VL53L0X 飞行时间传感器 2026/9/15 16:46:08
从单机 16 卡到多节点集群:Kimi K2 本地部署推理服务完整指南 2026/9/15 16:46:08

最新资讯

抖音批量下载如何从零跑通?douyin-downloader 完整上手指南
LangChain 智能体开发框架:3 步跑通你的第一个 AI Agent
Astryx Stepper 组件完全指南:水平折叠机制、属性体系与最佳实践
Ryujinx Switch模拟器快速上手指南:环境、调优与故障排查
用Harness搭建深度研究团队:从提示词到综合报告完整实战
PHP在线文字转语音合成源码落地:百度API调用与批量优化

今日推荐

GDPR下大数据架构重构与隐私保护实践
多组学数据平台架构设计与优化实践
企业主数据管理系统架构设计与实施全解析

本周热门

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化
Flutter应用改名全指南:从Android到iOS的配置与工具实践

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

Instructor 多 Provider 结构化输出集成指南:从 OpenAI 到 Ollama 的统一接入方案

发布时间:2026/9/15 16:51:09
Instructor 多 Provider 结构化输出集成指南:从 OpenAI 到 Ollama 的统一接入方案 Instructor 多 Provider 结构化输出集成指南从 OpenAI 到 Ollama 的统一接入方案【免费下载链接】instructorstructured outputs for llms项目地址: https://gitcode.com/GitHub_Trending/in/instructorInstructorstructured outputs for LLMs为超过 15 家 LLM 提供商提供了统一的结构化输出接入方案涵盖 OpenAI、Anthropic、Google Gemini、AWS Bedrock 等主流云服务以及 Ollama、llama-cpp-python 等本地开源模型。本文基于 docs/integrations/index.md 展开结合仓库源码梳理各 Provider 的集成方式、Provider Modes 原理与from_provider统一初始化机制读完即可在任何模型提供商上以同一套接口完成 Pydantic 结构化提取。集成全景四类 Provider 导航Instructor 的集成文档将支持的提供商划分为四类每类文档均提供完整的接入教程分类提供商特点主流云提供商OpenAI、OpenAI Responses、Azure、Anthropic、Google.GenerativeAI、Vertex AI、AWS Bedrock、Google.GenAI、xAI功能全面的头部 AI 服务其他云提供商Cohere、Mistral、DeepSeek、Together AI、Groq、Fireworks、Cerebras、Writer、Perplexity、SambaNova各有专长的商业服务开源模型Ollama、llama-cpp-python本地或云端运行开源模型路由/统一接口LiteLLM、OpenRouter一个接口统一多个提供商仓库中docs/integrations/目录下还提供了 anyscale.md、cortex.md、databricks.md、truefoundry.md 等更多集成文档以及一份 model-selection.md 帮助你在不同模型间做选型决策。所有集成共享的核心能力无论接入哪家提供商所有集成都会为客户端注入以下 Instructor 核心能力能力说明文档Model Patching为提供商客户端增强结构化输出能力PatchingResponse Models用 Pydantic 定义期望的响应 SchemaModelsValidation确保响应符合你的 Schema 定义ValidationStreaming流式返回部分或迭代式响应Partial、IterableHooks添加回调用于监控与调试Hooks不过每个提供商的能力与限制各不相同具体以各提供商的专属文档为准。这些核心能力统一由client.create(response_model..., messages...)这一接口承载与底层提供商无关。Provider Modes结构化输出的四种实现机制不同提供商支持不同的结构化输出生成方式Instructor 通过 Mode 枚举来区分Mode说明支持的提供商TOOLS使用 OpenAI 风格的 tools/function callingOpenAI、Anthropic、MistralPARALLEL_TOOLS同时发起多个工具调用OpenAIJSON直接生成 JSON 响应OpenAI、Gemini、Cohere、GenAIMD_JSON将 JSON 嵌入 Markdown 中返回大多数提供商更完整的 Mode 对比见 Modes Comparison。从源码看Mode 枚举 定义了远比文档表格更细粒度的模式集合包括TOOLS_STRICT、JSON_SCHEMA、RESPONSES_TOOLS、ANTHROPIC_REASONING_TOOLS、MISTRAL_STRUCTURED_OUTPUTS、GENAI_STRUCTURED_OUTPUTS等并通过tool_modes()、json_modes()、parallel_modes()三个类方法对模式进行分组分类。在 v2 架构中大量旧的提供商专属模式已被标记为弃用统一映射到核心模式例如ANTHROPIC_TOOLS → TOOLS、GEMINI_JSON → MD_JSON、MISTRAL_STRUCTURED_OUTPUTS → JSON_SCHEMA。映射表见 mode.py 中的 DEPRECATED_TO_CORE 字典。每个提供商的默认模式由 provider_specs.py 中的 PROVIDER_SPECS 定义例如OpenAI默认TOOLS支持JSON、JSON_SCHEMA、MD_JSON、PARALLEL_TOOLS、RESPONSES_TOOLSAnthropic默认TOOLS支持JSON、JSON_SCHEMA、PARALLEL_TOOLS不支持MD_JSONGoogle (GenAI)支持TOOLS与JSONPerplexity仅支持MD_JSONGeminigoogle-generativeai 旧 SDK支持TOOLS与MD_JSON当你在调用中显式传入mode参数时可以覆盖提供商默认值未指定时由 Instructor 按规格自动选择。开始接入两种客户端初始化方式Instructor 提供两种使用提供商的方式。方式一使用 Provider 初始化推荐最简单的方式是直接使用 Provider 初始化一个字符串即可完成客户端创建import instructor from pydantic import BaseModel class UserInfo(BaseModel): name: str age: int # 用简单的字符串初始化任意提供商 client instructor.from_provider(openai/gpt-5.4-mini) # 或者使用异步客户端 async_client instructor.from_provider(anthropic/claude-3-sonnet, async_clientTrue) # 所有提供商使用同一套接口 response client.create( response_modelUserInfo, messages[{role: user, content: Your prompt}] )支持的提供商字符串格式为provider/model-nameopenai/model-nameOpenAI 模型anthropic/model-nameAnthropic 模型google/model-nameGoogle 模型mistral/model-nameMistral 模型cohere/model-nameCohere 模型perplexity/model-namePerplexity 模型groq/model-nameGroq 模型writer/model-nameWriter 模型bedrock/model-nameAWS Bedrock 模型cerebras/model-nameCerebras 模型fireworks/model-nameFireworks 模型vertexai/model-nameVertex AI 模型genai/model-nameGoogle GenAI 模型ollama/model-nameOllama 模型Provider 快速入门清单以下是from_provider可直接使用的示例字符串复制即用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)from_provider 的底层实现from_provider位于 instructor/v2/auto_client.py其工作流程是用model.split(/, 1)拆出provider与model_name格式非法缺少/或任一部分为空时抛出ConfigurationError从_PROVIDER_BUILDERS字典见 auto_client.py 末尾查找对应的构建函数已注册 23 个提供商包括openai、anyscale、together、azure_openai、databricks、anthropic、google、gemini、mistral、cohere、perplexity、groq、writer、bedrock、cerebras、fireworks、vertexai、generative-ai、ollama、deepseek、xai、openrouter、litellm未注册的提供商名会抛出ConfigurationError错误信息中直接列出所有受支持的提供商构建函数内部负责读取api_key显式参数或环境变量、构造底层 SDK 客户端如openai.OpenAI、anthropic.Anthropic、genai.Client、选择默认 Mode如 OpenAI/Anthropic 默认TOOLS、Ollama 根据模型是否支持 function calling 自动选择TOOLS或JSON最后调用对应的from_xxx工厂函数完成客户端增强。from_provider还支持三个关键参数async_clientTrue返回AsyncInstructor异步客户端modeinstructor.Mode.JSON覆盖提供商默认 ModecacheAutoCache(maxsize1000)透明启用响应缓存透传到底层提供商实现。方式二手动设置客户端也可以手动完成客户端配置安装所需依赖pip install instructor[provider] # 例如 instructor[anthropic]各提供商对应 extra 的完整声明见 pyproject.toml。导入提供商客户端并用 Instructor 增强import instructor from provider_package import Client client instructor.from_provider(Client())用增强后的客户端配合 Pydantic 模型调用response client.create( response_modelYourModel, messages[{role: user, content: Your prompt}] )各提供商的具体安装与配置方式请访问对应提供商的集成文档页。环境变量与配置惯例不同提供商的 API Key 可通过环境变量注入from_provider在构造客户端时会自动读取无需显式传参提供商环境变量OpenAI / OpenAI 兼容服务OPENAI_API_KEYAnthropicANTHROPIC_API_KEYGoogleGenAI / GeminiGOOGLE_API_KEYAzure OpenAIAZURE_OPENAI_API_KEY、AZURE_OPENAI_ENDPOINTMistralMISTRAL_API_KEYCohereCOHERE_API_KEYPerplexityPERPLEXITY_API_KEYGroqGROQ_API_KEYDeepSeekDEEPSEEK_API_KEYOpenRouterOPENROUTER_API_KEYDatabricksDATABRICKS_TOKEN或DATABRICKS_API_KEYAWS BedrockAWS_DEFAULT_REGION、AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY这些读取逻辑可以在 auto_client.py 的各个 builder 函数 中逐一定位验证例如 OpenAI 兼容提供商通过_build_openai_compatible统一读取env_var指定的变量Databricks 额外支持DATABRICKS_BASE_URL/DATABRICKS_HOST/DATABRICKS_WORKSPACE_URL拼接出/serving-endpoints后缀的 Base URL。一点提醒惰性导入设计Instructor 的包入口采用惰性导入见 instructor/init.pyfrom_anthropic、from_gemini等工厂只在对应 SDK 安装后才加入__all__未安装依赖时使用对应提供商才会提示安装命令。本地模型接入Ollama 通过 OpenAI 兼容接口接入默认 Base URL 为http://localhost:11434/v1且会根据模型名自动判断是否支持 tools——支持 function calling 的模型如llama3.1、llama3.2、llama4、mistral-nemo、qwen2.5、command-r等默认TOOLS模式其余模型回退到JSON模式。路由类提供商LiteLLM 与 OpenRouter 作为元提供商允许通过一个统一入口访问多家模型服务适合需要模型路由与故障切换的场景。更多参考完整的端到端示例可在 examples 目录 中查看如examples/openai/run.py、examples/anthropic/run.py、examples/ollama.pyGitHub 上也有对应的集成文档可供对照。【免费下载链接】instructorstructured outputs for llms项目地址: https://gitcode.com/GitHub_Trending/in/instructor创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号