import instructor
from pydantic import BaseModel
from openai import OpenAI
from portkey_ai import PORTKEY_GATEWAY_URL, createHeaders
cache_config = {
"cache": {
"mode": "simple"
}
}
portkey = OpenAI(
base_url=PORTKEY_GATEWAY_URL,
default_headers=createHeaders(
virtual_key="OPENAI_VIRTUAL_KEY",
api_key="PORTKEY_API_KEY",
config=cache_config # Or pass your Config ID saved from Portkey app
)
)
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)