Skip to main content

使用 Instructor 进行追踪(仅限 Python)

我们提供了与Instructor(一个广受欢迎的开源库,用于借助大语言模型生成结构化输出)的便捷集成。

要使用本工具,您首先需要设置 LangSmith API 密钥。

export LANGSMITH_API_KEY=<your-api-key>

接下来,您需要安装 LangSmith 软件开发工具包(SDK):

pip install -U langsmith

使用 langsmith.wrappers.wrap_openai 包装您的 OpenAI 客户端

from openai import OpenAI
from langsmith import wrappers

client = wrappers.wrap_openai(OpenAI())

完成此操作后,您可以使用 instructor 来修补封装的 OpenAI 客户端:

import instructor

client = instructor.patch(client)

现在,您可以像往常一样使用 instructor,但所有操作都将记录到 LangSmith 中!

from pydantic import BaseModel


class UserDetail(BaseModel):
name: str
age: int


user = client.chat.completions.create(
model="gpt-4o-mini",
response_model=UserDetail,
messages=[
{"role": "user", "content": "Extract Jason is 25 years old"},
]
)

您通常会在其他函数内部使用 instructor。 通过使用此封装的客户端,并用 @traceable 装饰这些函数,您可以获得嵌套追踪。 有关如何使用 @traceable 装饰器为代码添加追踪注解的更多信息,请参阅 本指南

# You can customize the run name with the `name` keyword argument
@traceable(name="Extract User Details")
def my_function(text: str) -> UserDetail:
return client.chat.completions.create(
model="gpt-4o-mini",
response_model=UserDetail,
messages=[
{"role": "user", "content": f"Extract {text}"},
]
)


my_function("Jason is 25 years old")

这个页面对你有帮助吗?


您可以留下详细的反馈 在 GitHub 上.