SCBconsulting commited on
Commit
addf769
·
verified ·
1 Parent(s): 97f13a8

Create utils/fallback_suggester.py

Browse files
Files changed (1) hide show
  1. utils/fallback_suggester.py +26 -0
utils/fallback_suggester.py ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # utils/fallback_suggester.py
2
+
3
+ import json
4
+ from sentence_transformers import SentenceTransformer, util
5
+
6
+ model = SentenceTransformer("sentence-transformers/paraphrase-mpnet-base-v2")
7
+
8
+ with open("fallback_clauses.json", "r", encoding="utf-8") as f:
9
+ clause_bank = json.load(f)
10
+
11
+ clause_labels = list(clause_bank.keys())
12
+ clause_texts = list(clause_bank.values())
13
+ clause_embeddings = model.encode(clause_texts, convert_to_tensor=True)
14
+
15
+ def suggest_fallback(input_clause):
16
+ if not input_clause or len(input_clause.strip()) == 0:
17
+ return "No input clause provided."
18
+
19
+ input_embedding = model.encode(input_clause, convert_to_tensor=True)
20
+ scores = util.cos_sim(input_embedding, clause_embeddings)[0]
21
+ best_idx = scores.argmax().item()
22
+
23
+ label = clause_labels[best_idx]
24
+ suggestion = clause_texts[best_idx]
25
+
26
+ return f"🔹 {label} → {suggestion}"