跳到主要内容

Tracing Instructor

Instructor Tracing via autolog

Instructor 是一个开源的 Python 库,构建在 Pydantic 之上,通过验证、重试和流式处理来简化结构化 LLM 输出。

MLflow Tracing 通过启用底层 LLM 库的自动跟踪来与 Instructor 配合使用。例如,如果您将 Instructor 用于 OpenAI LLM,则可以通过 mlflow.openai.autolog() 启用跟踪,生成的跟踪将捕获 Instructor 的结构化输出。

同样,您也可以通过在 MLflow 中启用相应的自动日志记录来跟踪 Anthropic、Gemini 和 LiteLLM 等其他 LLM 提供商的 Instructor。

示例用法

以下示例展示了如何跟踪包装了 OpenAI API 的 Instructor 调用。

python
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}")