Module: Amlexia::OpenAI

Defined in:
lib/amlexia/openai.rb

Class Method Summary collapse

Class Method Details

.track_openai_completion(client, model:, status_code:, latency_ms:, usage: {}, cost_usd: nil, endpoint: "/v1/chat/completions", **kwargs) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/amlexia/openai.rb', line 7

def track_openai_completion(client, model:, status_code:, latency_ms:, usage: {}, cost_usd: nil, endpoint: "/v1/chat/completions", **kwargs)
  event = Cost.enrich_event(
    cost_usd: cost_usd,
    model_name: model,
    provider: "openai",
    tokens_input: usage[:prompt_tokens],
    tokens_output: usage[:completion_tokens],
    total_tokens: usage[:total_tokens]
  )
  client.track(
    endpoint: endpoint,
    method: "POST",
    status_code: status_code,
    latency_ms: latency_ms,
    provider: "openai",
    model_name: model,
    tokens_input: usage[:prompt_tokens],
    tokens_output: usage[:completion_tokens],
    cost_usd: event[:cost_usd],
    **kwargs
  )
end