Skip to main content
For complete documentation, see Structured Outputs.

Quick Example

import os
from pydantic import BaseModel
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["CHEAPESTINFERENCE_API_KEY"],
    base_url="https://api.cheapestinference.ai/v1",
)

class Person(BaseModel):
    name: str
    age: int
    email: str

response = client.chat.completions.create(
    model="meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo",
    messages=[
        {"role": "user", "content": "Extract: John Doe, 30 years old, [email protected]"}
    ],
    response_format={
        "type": "json_object",
        "schema": Person.model_json_schema()
    }
)

import json
data = json.loads(response.choices[0].message.content)
print(data)  # {'name': 'John Doe', 'age': 30, 'email': '[email protected]'}