Sulaiman8 commited on
Commit
0bf9da7
·
verified ·
1 Parent(s): 6a9f8ac

Update recommender/graph_retrieval.py

Browse files
Files changed (1) hide show
  1. recommender/graph_retrieval.py +9 -4
recommender/graph_retrieval.py CHANGED
@@ -7,6 +7,7 @@ from nodes.intent import CreditCardState
7
  from neo4j import GraphDatabase
8
  from neo4j.exceptions import ServiceUnavailable, TransientError
9
  import time
 
10
 
11
  #neo4j credentials
12
  NEO4J_URI = os.environ.get("NEO4J_URI")
@@ -20,9 +21,16 @@ def get_driver():
20
  _driver = GraphDatabase.driver(NEO4J_URI, auth=(NEO4J_USER, NEO4J_PASS))
21
  return _driver
22
 
 
 
 
 
 
 
 
23
  class Neo4jConnectionError(Exception):
24
  pass
25
-
26
  # --- Eligibility Filter ---
27
  def eligibility_filter(cards, user_income, user_cibil, user_age,min_joining_fee, max_joining_fee,
28
  min_annual_fee, max_annual_fee):
@@ -44,9 +52,6 @@ def eligibility_filter(cards, user_income, user_cibil, user_age,min_joining_fee,
44
  eligible_cards.append(card_name)
45
  return eligible_cards
46
 
47
- class Neo4jConnectionError(Exception):
48
- pass
49
-
50
  class Neo4jRetrievalTool(BaseTool):
51
  name: str = "neo4j_card_retriever"
52
  description: str = "Runs Cypher and builds FAISS on filtered cards."
 
7
  from neo4j import GraphDatabase
8
  from neo4j.exceptions import ServiceUnavailable, TransientError
9
  import time
10
+ import re
11
 
12
  #neo4j credentials
13
  NEO4J_URI = os.environ.get("NEO4J_URI")
 
21
  _driver = GraphDatabase.driver(NEO4J_URI, auth=(NEO4J_USER, NEO4J_PASS))
22
  return _driver
23
 
24
+ def normalize_card_name(name):
25
+ name = name.lower()
26
+ name = name.replace("+", "plus")
27
+ name = re.sub(r"[^a-z0-9 ]", "", name)
28
+ name = re.sub(r"\s+", " ", name).strip()
29
+ return name
30
+
31
  class Neo4jConnectionError(Exception):
32
  pass
33
+
34
  # --- Eligibility Filter ---
35
  def eligibility_filter(cards, user_income, user_cibil, user_age,min_joining_fee, max_joining_fee,
36
  min_annual_fee, max_annual_fee):
 
52
  eligible_cards.append(card_name)
53
  return eligible_cards
54
 
 
 
 
55
  class Neo4jRetrievalTool(BaseTool):
56
  name: str = "neo4j_card_retriever"
57
  description: str = "Runs Cypher and builds FAISS on filtered cards."