diff --git a/langserve/schema.py b/langserve/schema.py index e2f7608e..9f6053c4 100644 --- a/langserve/schema.py +++ b/langserve/schema.py @@ -96,6 +96,9 @@ class Feedback(BaseFeedback): Represents feedback given on an individual run """ + id: UUID + """The unique ID of the feedback that was created.""" + created_at: datetime """The time the feedback was created.""" diff --git a/langserve/server.py b/langserve/server.py index 15b80b32..aec218fb 100644 --- a/langserve/server.py +++ b/langserve/server.py @@ -1051,6 +1051,7 @@ async def feedback(feedback_create_req: FeedbackCreateRequest) -> Feedback: # using "Extra.allow" in pydantic since syntax changes between pydantic # 1.x and 2.x for this functionality return Feedback( + id=str(feedback_from_langsmith.id), run_id=str(feedback_from_langsmith.run_id), created_at=str(feedback_from_langsmith.created_at), modified_at=str(feedback_from_langsmith.modified_at), diff --git a/tests/unit_tests/test_server_client.py b/tests/unit_tests/test_server_client.py index 5984c9c3..2b4e3f33 100644 --- a/tests/unit_tests/test_server_client.py +++ b/tests/unit_tests/test_server_client.py @@ -1601,7 +1601,12 @@ async def test_feedback_succeeds_when_langsmith_enabled() -> None: "value": None, } - assert response.json() == expected_response_json + json_response = response.json() + + assert "id" in json_response + del json_response["id"] + + assert json_response == expected_response_json @pytest.mark.asyncio