Skip to content

Commit 07e547b

Browse files
committed
fix save_to_trubrics in FeedbackCollector
1 parent 8985144 commit 07e547b

File tree

3 files changed

+34
-18
lines changed

3 files changed

+34
-18
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
88
## [Unreleased]
99
### Fixed
1010
- `user_response` is dict rather than `Response` for feedback_type="text"
11+
- `collector.st_feedback(..., save_to_trubrics=False)` returns a python dict
12+
- pydantic dependency updated and `.dict()` updated to `.model_dump()`
1113

1214
## [1.5.1] - 2023-08-29
1315
### Changed

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
requests>=2.28.0
2-
pydantic>=1.9.1
2+
pydantic>=2.0.0
33
typer>=0.6.1
44
loguru>=0.6.0

trubrics/integrations/streamlit/collect.py

Lines changed: 31 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from streamlit_feedback import streamlit_feedback
55

66
from trubrics import Trubrics
7+
from trubrics.platform.feedback import Feedback, Response
78

89

910
class FeedbackCollector(Trubrics):
@@ -97,24 +98,37 @@ def st_feedback(
9798
else:
9899
raise ValueError("feedback_type must be one of ['textbox', 'faces', 'thumbs'].")
99100

100-
if user_response and save_to_trubrics:
101-
feedback = self.log_feedback(
102-
component=component,
103-
user_response=user_response,
104-
model=model,
105-
prompt_id=prompt_id,
106-
metadata=metadata,
107-
tags=tags,
108-
user_id=user_id,
109-
)
110-
if feedback is None:
111-
error_msg = "Error in pushing feedback issue to Trubrics."
112-
if success_fail_message:
113-
st.error(error_msg)
101+
if user_response:
102+
if save_to_trubrics:
103+
feedback = self.log_feedback(
104+
component=component,
105+
user_response=user_response,
106+
model=model,
107+
prompt_id=prompt_id,
108+
metadata=metadata,
109+
tags=tags,
110+
user_id=user_id,
111+
)
112+
if feedback is None:
113+
error_msg = "Error in pushing feedback issue to Trubrics."
114+
if success_fail_message:
115+
st.error(error_msg)
116+
else:
117+
if success_fail_message:
118+
st.success("Feedback saved to Trubrics.")
119+
return feedback.model_dump()
114120
else:
115-
if success_fail_message:
116-
st.success("Feedback saved to Trubrics.")
117-
return feedback.dict()
121+
user_response = Response(**user_response)
122+
feedback = Feedback(
123+
component=component,
124+
model=model,
125+
user_response=user_response,
126+
prompt_id=prompt_id,
127+
user_id=user_id,
128+
tags=tags,
129+
metadata=metadata,
130+
)
131+
return feedback.model_dump()
118132
return None
119133

120134
@staticmethod

0 commit comments

Comments
 (0)