as_vitals_samples() reshapes a traces data frame into the samples format
that a vitals Task's $get_samples() returns, for example to combine
dsprrr runs with vitals results using vitals::vitals_bind().
as_dsprrr_traces() converts the other way.
Arguments
- traces
A traces data frame, such as
export_traces()output. Export withinclude_prompts = TRUEandinclude_outputs = TRUE; otherwiseinputandresultare empty.- input_column
Name of the column to use as
input.NULL(the default) usesprompt.- include_chats
Whether to keep a
solver_chatcolumn whentraceshas one (defaultFALSE).
Value
A tibble with columns id ("trace_0001", ...), input,
result (list-column from the output column), solver_metadata
(list-column with latency, tokens, cost and timestamp), model and
epoch (always 1).
See also
Other integrations:
as_dsprrr_metric(),
as_dsprrr_traces(),
as_ellmer_tool(),
as_vitals_cost(),
as_vitals_solver(),
as_vitals_task(),
create_search_tool(),
llm_predict(),
ragnar_tool(),
reasoning_effort(),
register_dsprrr_engine(),
summarize_traces_df(),
temperature(),
top_p(),
use_dsprrr_template(),
validate_workflow(),
vitals_metrics
Examples
traces <- tibble::tibble(
prompt = c("question: What is 2+2?", "question: Capital of France?"),
output = list(list(answer = "4"), list(answer = "Paris")),
model = "gpt-6-luna",
latency_ms = c(820, 640),
input_tokens = c(52L, 55L),
output_tokens = c(6L, 7L),
cost = c(0.0001, 0.0001)
)
as_vitals_samples(traces)
#> # A tibble: 2 × 6
#> id input result solver_metadata model epoch
#> <chr> <chr> <list> <list> <chr> <int>
#> 1 trace_0001 question: What is 2+2? <named list> <named list> gpt-… 1
#> 2 trace_0002 question: Capital of Fran… <named list> <named list> gpt-… 1
if (FALSE) { # \dontrun{
samples <- as_vitals_samples(
export_traces(classifier, include_prompts = TRUE, include_outputs = TRUE)
)
vitals::vitals_bind(dsprrr = samples)
} # }