跟踪Instructor(仅限 Python)
我们提供了与 Instructor 的便捷集成,Instructor 是一个流行的开源库,用于使用 LLM 生成结构化输出。
要使用,您首先需要设置您的 LangSmith API 密钥。
export LANGSMITH_API_KEY=<your-api-key>
接下来,您需要安装 LangSmith SDK:
pip install -U langsmith
使用langsmith.wrappers.wrap_openai
from openai import OpenAI
from langsmith import wrappers
client = wrappers.wrap_openai(OpenAI())
在此之后,您可以使用instructor:
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")