8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/active_harness/providers/openai.rb', line 8
def call(request)
body = build_body(request)
raw = post(body, request.timeout)
data = JSON.parse(raw)
handle_error!(data)
content = data.dig("choices", 0, "message", "content").to_s.strip
usage = data["usage"] || {}
build_response(
content: content,
provider: :openai,
model: data["model"] || request.model,
usage: { prompt: usage["prompt_tokens"], completion: usage["completion_tokens"] },
raw: raw
)
end
|