Spaces:
Runtime error
Runtime error
| from pydantic import BaseModel, UUID4 | |
| from typing import List, Optional | |
| from langsmith import Client | |
| from app.lib.supabase_client import SupabaseClient | |
| class Feedback(BaseModel): | |
| metric_type: Optional[str] | |
| metric_score: Optional[float] | |
| feedback_on: Optional[str] | |
| def post_feedback(run_id: UUID4, feedback: Feedback): | |
| print("Metric Type: ", feedback.metric_type) | |
| print("Feedback On: ", feedback.feedback_on) | |
| client = Client() | |
| client.create_feedback( | |
| str(run_id), | |
| key=feedback.metric_type, | |
| score=feedback.metric_score, | |
| source_info={"content": feedback.feedback_on}, | |
| type="api", | |
| ) | |
| ## fields of inputs dict: run_id, sub_workflow | |
| class NewFeedback(BaseModel): | |
| metric_type: str | |
| metric_score: float | |
| original_content: Optional[dict] | |
| modified_content: Optional[dict] | |
| def post(self, inputs={}): | |
| run_id = inputs["run_id"] | |
| sub_workflow = inputs["sub_workflow"] | |
| self._post_to_supbase(run_id, sub_workflow) | |
| self._post_to_langsmith(run_id) | |
| def _post_to_supbase(self, run_id: UUID4, sub_worfklow: str): | |
| client = SupabaseClient() | |
| client.post_feedback( | |
| run_id= run_id, | |
| sub_workflow= sub_worfklow, | |
| metric_score=self.metric_score, | |
| metric_type=self.metric_type, | |
| original_content=self.original_content, | |
| modified_content=self.modified_content | |
| ) | |
| return | |
| def _post_to_langsmith(self, run_id: UUID4): | |
| client = Client() | |
| client.create_feedback( | |
| str(run_id), | |
| key=self.metric_type, | |
| score=self.metric_score, | |
| source_info={"original_content": self.original_content, "modified_content": self.modified_content}, | |
| type="api", | |
| ) | |