← Lesson
Log the Call
Joeven
Run
Reset
Python loads on first run
def redact(text): for secret in ["sk-live", "SECRET"]: text = text.replace(secret, "[redacted]") return text def span(call, resp, spent): msgs = call["messages"] return { "model": call["model"], "n_messages": len(msgs), "roles": [m["role"] for m in msgs], "prompt_tokens": resp["usage"]["prompt_tokens"], "completion_tokens": resp["usage"]["completion_tokens"], "finish_reason": resp["finish_reason"], "spent": spent, "preview": redact(resp["message"]["content"][:40]), } call = { "model": "tiny-1", "messages": [ {"role": "system", "content": "No secrets."}, {"role": "user", "content": "key is sk-live-abc"}, ], } resp = { "message": {"role": "assistant", "content": "I will not echo SECRET."}, "usage": {"prompt_tokens": 12, "completion_tokens": 6}, "finish_reason": "stop", } print(span(call, resp, spent=0.0001))
Run to execute this in your browser. Nothing is sent to a server.