Completion#

class scikitplot.corpus.Completion(text, provider, model, finish_reason=None, input_tokens=None, output_tokens=None, latency_s=0.0, cached=False, usage=<factory>)[source]#

One model response.

Parameters:
textstr

The response text.

providerstr

"openai", "anthropic", "gemini" or "callable".

modelstr

Model name as requested.

finish_reasonstr or None, default=None

The provider’s reason for stopping (OpenAI finish_reason, Anthropic stop_reason, Gemini finish_reason name).

input_tokens, output_tokensint or None, default=None

The provider’s own counts: OpenAI prompt_tokens and completion_tokens (which include reasoning tokens), Anthropic input_tokens and output_tokens, Gemini prompt_token_count and candidates_token_count (thinking tokens are in usage).

latency_sfloat, default=0.0

Seconds spent in the provider call; 0.0 for a cache hit.

cachedbool, default=False

Whether the response came from the cache.

usagemapping, default={}

Every integer usage counter the provider reported, by its own name.

Parameters:
cached: bool = False#
finish_reason: str | None = None#
classmethod from_dict(data)[source]#

Rebuild from to_dict output.

Parameters:

data (Mapping[str, Any])

Return type:

Completion

input_tokens: int | None = None#
latency_s: float = 0.0#
model: str[source]#
output_tokens: int | None = None#
provider: str[source]#
text: str[source]#
to_dict()[source]#

Return a JSON-compatible mapping.

Return type:

dict[str, Any]

usage: Mapping[str, int][source]#