@@ -94,7 +94,7 @@ def st_feedback(
9494 else :
9595 if success_fail_message :
9696 st .success ("Feedback saved to Trubrics." )
97- return feedback . model_dump ( )
97+ return self . _pydantic_to_dict ( feedback )
9898 else :
9999 user_response = Response (** user_response )
100100 feedback = Feedback (
@@ -106,15 +106,15 @@ def st_feedback(
106106 tags = tags ,
107107 metadata = metadata ,
108108 )
109- return feedback . model_dump ( )
109+ return self . _pydantic_to_dict ( feedback )
110110 elif feedback_type in ("thumbs" , "faces" ):
111111
112112 def _log_feedback_trubrics (user_response , ** kwargs ):
113113 feedback = self .log_feedback (user_response = user_response , ** kwargs )
114114 if success_fail_message :
115115 if feedback :
116116 st .toast ("Feedback saved to [Trubrics](https://trubrics.streamlit.app/)." , icon = "✅" )
117- return feedback . model_dump ( )
117+ return self . _pydantic_to_dict ( feedback )
118118 else :
119119 st .toast ("Error in saving feedback to [Trubrics](https://trubrics.streamlit.app/)." , icon = "❌" )
120120
@@ -145,12 +145,20 @@ def _log_feedback_trubrics(user_response, **kwargs):
145145 tags = tags ,
146146 metadata = metadata ,
147147 )
148- return feedback . model_dump ( )
148+ return self . _pydantic_to_dict ( feedback )
149149 return user_response
150150 else :
151151 raise ValueError ("feedback_type must be one of ['textbox', 'faces', 'thumbs']." )
152152 return None
153153
154+ @staticmethod
155+ def _pydantic_to_dict (feedback : Feedback ) -> dict :
156+ """Support for pydantic v1 and v2."""
157+ try :
158+ return feedback .model_dump ()
159+ except AttributeError :
160+ return feedback .dict ()
161+
154162 @staticmethod
155163 def st_textbox_ui (key : Optional [str ] = None , label : Optional [str ] = None ) -> Optional [str ]:
156164 """
0 commit comments