跳到主要内容

追踪 Instructor

Instructor Tracing via autolog

Instructor 是一个开源的 Python 库,基于 Pydantic 构建,简化了结构化的 LLM 输出,并提供了验证、重试和流式传输功能。

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

同样,您也可以通过在 MLflow 中启用相应的自动日志记录功能,追踪与其他 LLM 提供商(如 Anthropic、Gemini 和 LiteLLM)配合使用的 Instructor。

示例用法

以下示例展示了如何追踪封装了 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}")