MCPcopy Index your code
hub / github.com/caesarHQ/textSQL / log_apicall

Function log_apicall

api/app/api/utils/caesar_logging.py:19–47  ·  view source on GitHub ↗
(duration, provider, model, input_tokens, output_tokens, service, purpose, session_id=None, success=True, log_message=None)

Source from the content-addressed store, hash-verified

17 return wrapper
18
19def log_apicall(duration, provider, model, input_tokens, output_tokens, service, purpose, session_id=None, success=True, log_message=None):
20 if not EVENTS_ENGINE:
21 return {"status": "no engine"}
22 cost = calculate_cost(model, input_tokens, output_tokens)
23
24 params = {
25 "duration": duration,
26 "provider": provider,
27 "model": model,
28 "input_tokens": input_tokens,
29 "output_tokens": output_tokens,
30 "service": service,
31 "purpose": purpose,
32 "cost": cost,
33 "success": success,
34 "session_id": session_id,
35 "log_message": log_message,
36 }
37
38 insert_query = text("""
39 INSERT INTO apicalls (duration, provider, model, input_tokens, output_tokens, service, purpose, cost, success, session_id, log_message)
40 VALUES (:duration, :provider, :model, :input_tokens, :output_tokens, :service, :purpose, :cost, :success, :session_id, :log_message)
41 """)
42
43 with EVENTS_ENGINE.connect() as conn:
44 conn.execute(insert_query, params)
45 conn.commit()
46
47 return {"status": "success"}
48
49@failsoft
50def log_apicall_failure(duration, provider, model, input_tokens, service, purpose, session_id=None):

Callers 2

call_chatFunction · 0.90

Calls 1

calculate_costFunction · 0.85

Tested by

no test coverage detected