Instructor

Instructor 是一个用于从 LLMs 提取结构化输出的框架,提供 PythonJS 版本。

使用 Portkey,您可以自信地将 Instructor 管道投入生产,并全面监控所有调用 + 使它们可靠 - 所有这些只需 2 行代码的更改!

将 Portkey 与 Instructor 集成

import instructor
from pydantic import BaseModel
from openai import OpenAI
from portkey_ai import PORTKEY_GATEWAY_URL, createHeaders

portkey = OpenAI(
    base_url=PORTKEY_GATEWAY_URL,
    default_headers=createHeaders(
        virtual_key="OPENAI_VIRTUAL_KEY",
        api_key="PORTKEY_API_KEY"
    )
)

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

client = instructor.from_openai(portkey)

user_info = client.chat.completions.create(
    model="gpt-4-turbo",
    max_tokens=1024,
    response_model=User,
    messages=[{"role": "user", "content": "John Doe is 30 years old."}],
)

print(user_info.name)
print(user_info.age)

缓存您的请求

现在让我们通过 Portkey 缓存降低运行 Instructor 管道的成本。您只需创建一个 Config 对象,在其中定义您的缓存设置:

您可以直接编写,也可以使用 Portkey 的 Config 构建器并获得相应的 config id。然后,只需在实例化您的 OpenAI 客户端时传递它:

同样,您可以将 FallbackLoadbalancingTimeoutRetry 设置添加到您的配置中,使您的 Instructor 请求更加稳健和可靠。

Last updated