import json
import os
from openai import OpenAI
from pydantic import BaseModel, ValidationError
class Ticket(BaseModel):
category: str
summary: str
client = OpenAI(
api_key=os.environ["BETTERTOKEN_API_KEY"],
base_url="https://bettertoken.ai/v1",
)
response = client.chat.completions.create(
model="YOUR_MODEL_ID",
messages=[
{
"role": "user",
"content": (
"Return only a JSON object with string fields "
"category and summary for this support request: "
"The API request timed out."
),
}
],
)
raw = response.choices[0].message.content or ""
try:
payload = json.loads(raw)
ticket = Ticket.model_validate(payload)
except (json.JSONDecodeError, ValidationError) as error:
# Store raw only in a protected debug record allowed by your data policy.
raise RuntimeError("Model output failed validation") from error
print(ticket.model_dump())