diff --git a/cognee/infrastructure/databases/graph/kuzu/adapter.py b/cognee/infrastructure/databases/graph/kuzu/adapter.py index 95174ec0e..dfe407a1d 100644 --- a/cognee/infrastructure/databases/graph/kuzu/adapter.py +++ b/cognee/infrastructure/databases/graph/kuzu/adapter.py @@ -1656,15 +1656,15 @@ class KuzuAdapter(GraphDBInterface): return id_list async def apply_feedback_weight( - self, - node_ids: List[str], - weight: float, + self, + node_ids: List[str], + weight: float, ) -> None: """ - Increment `feedback_weight` inside r.properties JSON for edges where - relationship_name = 'used_graph_element_to_answer'. + Increment `feedback_weight` inside r.properties JSON for edges where + relationship_name = 'used_graph_element_to_answer'. - """ + """ # Step 1: fetch matching edges query = """ MATCH (n:Node)-[r:EDGE]->() diff --git a/cognee/infrastructure/databases/graph/neo4j_driver/adapter.py b/cognee/infrastructure/databases/graph/neo4j_driver/adapter.py index 3ff9cb5be..f36296970 100644 --- a/cognee/infrastructure/databases/graph/neo4j_driver/adapter.py +++ b/cognee/infrastructure/databases/graph/neo4j_driver/adapter.py @@ -1347,9 +1347,9 @@ class Neo4jAdapter(GraphDBInterface): return id_list async def apply_feedback_weight( - self, - node_ids: List[str], - weight: float, + self, + node_ids: List[str], + weight: float, ) -> None: """ Increment `feedback_weight` on relationships `:used_graph_element_to_answer` diff --git a/cognee/modules/retrieval/user_qa_feedback.py b/cognee/modules/retrieval/user_qa_feedback.py index 55c59518a..f667f785f 100644 --- a/cognee/modules/retrieval/user_qa_feedback.py +++ b/cognee/modules/retrieval/user_qa_feedback.py @@ -73,14 +73,11 @@ class UserQAFeedback(BaseFeedback): ) to_node_ids.append(str(target_id_2)) - if len(relationships) > 0: graph_engine = await get_graph_engine() await graph_engine.add_edges(relationships) await graph_engine.apply_feedback_weight( - node_ids=to_node_ids, - weight=feedback_sentiment.score + node_ids=to_node_ids, weight=feedback_sentiment.score ) - return [feedback_text] diff --git a/cognee/modules/retrieval/utils/models.py b/cognee/modules/retrieval/utils/models.py index a71e881a9..58cea29a4 100644 --- a/cognee/modules/retrieval/utils/models.py +++ b/cognee/modules/retrieval/utils/models.py @@ -4,6 +4,7 @@ from cognee.modules.engine.models.node_set import NodeSet from enum import Enum from pydantic import BaseModel, Field, confloat + class CogneeUserInteraction(DataPoint): """User - Cognee interaction""" @@ -32,8 +33,8 @@ class UserFeedbackSentiment(str, Enum): class UserFeedbackEvaluation(BaseModel): """User - User feedback evaluation""" + score: confloat(ge=-5, le=5) = Field( - ..., - description="Sentiment score from -5 (negative) to +5 (positive)" + ..., description="Sentiment score from -5 (negative) to +5 (positive)" ) evaluation: UserFeedbackSentiment