Implementation:Truera Trulens Recording Retrieve Feedback Results
Appearance
| Knowledge Sources | |
|---|---|
| Domains | LLM_Evaluation, Data_Analysis |
| Last Updated | 2026-02-14 08:00 GMT |
Overview
Concrete tool for retrieving feedback evaluation results as a pandas DataFrame from recorded application traces, provided by the trulens-core library.
Description
The Recording.retrieve_feedback_results method blocks until all feedback evaluations for recorded traces are complete, then returns a structured DataFrame. It delegates to App.retrieve_feedback_results which:
- Flushes the OTEL exporter to ensure all spans are persisted
- Waits for records to appear in the database
- Triggers immediate computation of pending feedback evaluations
- Waits for all feedback results to be persisted
- Queries records and feedback scores into a DataFrame
Usage
Call this method on a Recording object after exiting the recording context manager. Use it when you need programmatic access to feedback scores (for assertions, analysis, or CI/CD pipelines). The default timeout is 180 seconds.
Code Reference
Source Location
- Repository: trulens
- File: src/core/trulens/core/otel/recording.py (Recording.retrieve_feedback_results L44-56)
- File: src/core/trulens/core/app.py (App.retrieve_feedback_results L760-791)
Signature
class Recording:
def retrieve_feedback_results(self, timeout: float = 180) -> pd.DataFrame:
"""Retrieve feedback results for all records in the recording.
Args:
timeout: Timeout in seconds to wait for feedback completion.
Returns:
A DataFrame with records as rows and feedbacks as columns.
"""
Import
# No separate import - accessed via Recording object:
with tru_app as recording:
app.invoke(query)
results = recording.retrieve_feedback_results()
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| timeout | float | No | Max seconds to wait for results (default: 180) |
Outputs
| Name | Type | Description |
|---|---|---|
| return | pd.DataFrame | Records as rows (indexed by record_id), feedback names as columns, scores as values |
Usage Examples
Retrieve Results After Recording
from trulens.apps.langchain import TruChain
tru_recorder = TruChain(chain, app_name="MyApp", feedbacks=[f1, f2])
with tru_recorder as recording:
chain.invoke("What is TruLens?")
# Block until all feedback evaluations complete
results_df = recording.retrieve_feedback_results(timeout=300)
print(results_df)
# Output: DataFrame with columns like 'answer_relevance', 'groundedness', etc.
Related Pages
Implements Principle
Requires Environment
Page Connections
Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment