from limitry import Limitry
from openai import OpenAI
limitry = Limitry()
openai = OpenAI()
def chat(customer_id: str, message: str) -> str:
# 1. Check limits
check = limitry.limits.check(customer_id=customer_id)
if not check.allowed:
# Return limit info to user
raise Exception(f"Limit exceeded: {check.limits[0].name}")
# 2. Make request
response = openai.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": message}]
)
# 3. Record actual usage
limitry.events.record(
customer_id=customer_id,
event_type="llm.completion",
values={"tokens": response.usage.total_tokens},
dimensions={"model": "gpt-4"}
)
return response.choices[0].message.content