讲师 是基于 Pydantic 构建的开源 Python 库,通过验证、重试和流式处理简化了结构化 LLM 输出。
MLflow 跟踪 通过为基础 LLM 库启用自动追踪来与 Instructor 合作。 例如,如果使用 Instructor for OpenAI LLM,则可以启用 mlflow.openai.autolog() 跟踪,并且生成的跟踪将捕获来自 Instructor 的结构化输出。
同样,你还可以通过在 MLflow 中启用相应的自动记录功能来跟踪其他 LLM 提供商(如 Anthropic、Gemini 和 LiteLLM)中的 Instructor。
注释
在无服务器计算群集上,不会自动启用自动记录。 必须显式调用相应的自动记录函数(例如 mlflow.openai.autolog() 或mlflow.anthropic.autolog()),才能为此集成启用自动跟踪。
示例用法
以下示例演示如何跟踪封装 OpenAI API 的 Instructor 功能调用。
import instructor
from pydantic import BaseModel
from openai import OpenAI
import mlflow
# Use other autologging function e.g., mlflow.anthropic.autolog() if you are using Instructor with different LLM providers
mlflow.openai.autolog()
# Set up MLflow tracking on Databricks
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/Shared/instructor-demo")
# Use Instructor as usual
class ExtractUser(BaseModel):
name: str
age: int
client = instructor.from_openai(OpenAI())
res = client.chat.completions.create(
model="gpt-4o-mini",
response_model=ExtractUser,
messages=[{"role": "user", "content": "John Doe is 30 years old."}],
)
print(f"Name: {res.name}, Age:{res.age}")