# fallback_completion.py
from fb_openai_client import client
MODEL_PRIORITY = [
"gpt-4.1", # Tier 1
"gpt-4.1-mini", # Tier 2
"gpt-4o-mini" # Tier 3
]
def complete_with_fallback(messages):
last_error = None
for model in MODEL_PRIORITY:
try:
res = client.chat.completions.create(
model=model,
temperature=0.2,
messages=messages,
timeout=20
)
return {
"model": model,
"content": res.choices[0].message.content,
"usage": res.usage
}
except Exception as e:
last_error = e
raise RuntimeError(f"All model tiers failed: {last_error}")