Added Feedback in SDK (#2393)

This commit is contained in:
Saket Aryan
2025-03-19 21:41:45 +05:30
committed by GitHub
parent 2ffe9922f3
commit 6c2b131d6e
7 changed files with 112 additions and 2 deletions

View File

@@ -3,6 +3,7 @@ import os
import warnings
from functools import wraps
from typing import Any, Dict, List, Optional, Union
from enum import Enum
import httpx
@@ -998,3 +999,22 @@ class AsyncMemoryClient:
response.raise_for_status()
capture_client_event("async_client.delete_webhook", self.sync_client, {"webhook_id": webhook_id})
return response.json()
@api_error_handler
async def feedback(self, memory_id: str, feedback: Optional[str] = None, feedback_reason: Optional[str] = None) -> Dict[str, str]:
VALID_FEEDBACK_VALUES = {"POSITIVE", "NEGATIVE", "VERY_NEGATIVE"}
feedback = feedback.upper() if feedback else None
if feedback is not None and feedback not in VALID_FEEDBACK_VALUES:
raise ValueError(f'feedback must be one of {", ".join(VALID_FEEDBACK_VALUES)} or None')
data = {
"memory_id": memory_id,
"feedback": feedback,
"feedback_reason": feedback_reason
}
response = await self.async_client.post("/v1/feedback/", json=data)
response.raise_for_status()
capture_client_event("async_client.feedback", self.sync_client, data)
return response.json()