from muxx import Muxx, trace
from openai import OpenAI
muxx = Muxx()
client = muxx.wrap(OpenAI())
@trace("customer-support")
def handle_support_request(user_message: str):
# Classify intent
intent = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "Classify the intent: billing, technical, general"},
{"role": "user", "content": user_message}
]
)
# Generate response
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": f"You are a {intent.choices[0].message.content} support agent"},
{"role": "user", "content": user_message}
]
)
return response.choices[0].message.content