Tracing Instructor

Instructor 是一个开源的 Python 库,建立在 Pydantic 之上,通过验证、重试和流式传输简化了结构化 LLM 输出。
MLflow Tracing 通过启用底层 LLM 库的自动跟踪与 Instructor 配合使用。例如,如果您将 Instructor 用于 OpenAI LLM,则可以使用 mlflow.openai.autolog() 启用跟踪,生成的跟踪将捕获 Instructor 的结构化输出。
同样,您也可以通过在 MLflow 中启用相应的自动日志记录来跟踪 Instructor 与其他 LLM 提供商(如 Anthropic、Gemini 和 LiteLLM)的集成。
示例用法
以下示例演示了如何跟踪包装了 OpenAI API 的 Instructor 调用。
import instructor
from pydantic import BaseModel
from openai import OpenAI
# Use other autologging function e.g., mlflow.anthropic.autolog() if you are using Instructor with different LLM providers
mlflow.openai.autolog()
# Optional, create an experiment to store traces
mlflow.set_experiment("Instructor")
# 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}")