Update app.py
Browse files
app.py
CHANGED
|
@@ -330,42 +330,36 @@ def initialize_embeddings():
|
|
| 330 |
payment_keys = [k for k in faq_dict.keys() if any(term in k for term in ["betalsätt", "betalmetod", "betalmedel"])]
|
| 331 |
print(f"Betalningsrelaterade FAQ-nycklar: {payment_keys[:5]}")
|
| 332 |
|
| 333 |
-
# Direkt matchningsfunktion för vanliga frågor
|
| 334 |
def check_direct_match(query):
|
| 335 |
"""Kontrollerar om frågan matchar någon av våra fördefinierade FAQ-svar."""
|
| 336 |
query_lower = query.lower().strip('?').strip()
|
| 337 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 338 |
# Explicit check for payment method question
|
| 339 |
-
if any(query_lower.startswith(prefix) for prefix in
|
| 340 |
any(term in query_lower for term in ["betalsätt", "betalmetod", "betalmedel", "betalkort", "kort"]):
|
| 341 |
-
payment_answer = """Så här
|
| 342 |
-
1.
|
| 343 |
-
2. Tryck på
|
| 344 |
-
3.
|
| 345 |
-
4.
|
| 346 |
-
|
| 347 |
-
|
| 348 |
-
|
|
|
|
|
|
|
| 349 |
|
| 350 |
OBS! Se till att kortet har pengar och att det är upplåst för internetbetalningar."""
|
| 351 |
-
|
| 352 |
-
|
| 353 |
-
# Check if query directly matches a FAQ
|
| 354 |
-
if query_lower in faq_dict:
|
| 355 |
-
return faq_dict[query_lower]
|
| 356 |
-
|
| 357 |
-
# Check for close matches using pattern matching
|
| 358 |
-
for key, value in faq_dict.items():
|
| 359 |
-
# Find questions about changing things with synonyms
|
| 360 |
-
if ("ändra" in query_lower or "byta" in query_lower or "uppdatera" in query_lower) and \
|
| 361 |
-
("ändra" in key or "byta" in key or "uppdatera" in key):
|
| 362 |
-
# Check if key and query share important terms
|
| 363 |
-
query_terms = set(re.findall(r'\w+', query_lower)) # Use regex to get words
|
| 364 |
-
key_terms = set(re.findall(r'\w+', key))
|
| 365 |
-
if len(query_terms.intersection(key_terms)) >= 2: # At least 2 words in common
|
| 366 |
-
return value
|
| 367 |
-
|
| 368 |
-
return None
|
| 369 |
|
| 370 |
def retrieve_context(query, k=RETRIEVAL_K):
|
| 371 |
"""Hämtar relevant kontext för frågor med direkt matchning för vanliga frågor."""
|
|
|
|
| 330 |
payment_keys = [k for k in faq_dict.keys() if any(term in k for term in ["betalsätt", "betalmetod", "betalmedel"])]
|
| 331 |
print(f"Betalningsrelaterade FAQ-nycklar: {payment_keys[:5]}")
|
| 332 |
|
|
|
|
| 333 |
def check_direct_match(query):
|
| 334 |
"""Kontrollerar om frågan matchar någon av våra fördefinierade FAQ-svar."""
|
| 335 |
query_lower = query.lower().strip('?').strip()
|
| 336 |
|
| 337 |
+
# Utökad lista med prefix för betalningsrelaterade frågor
|
| 338 |
+
payment_prefixes = [
|
| 339 |
+
"hur ändrar jag",
|
| 340 |
+
"hur byter jag",
|
| 341 |
+
"hur uppdaterar jag",
|
| 342 |
+
"hur lägger jag till", # NYTT
|
| 343 |
+
"hur adderar jag", # NYTT
|
| 344 |
+
"hur registrerar jag" # NYTT
|
| 345 |
+
]
|
| 346 |
+
|
| 347 |
# Explicit check for payment method question
|
| 348 |
+
if any(query_lower.startswith(prefix) for prefix in payment_prefixes) and \
|
| 349 |
any(term in query_lower for term in ["betalsätt", "betalmetod", "betalmedel", "betalkort", "kort"]):
|
| 350 |
+
payment_answer = """Så här lägger du till/ändrar betalkort:
|
| 351 |
+
1. Öppna ChargeNode-appen
|
| 352 |
+
2. Tryck på 'Meny' (hamburgerikon) i nedre menyn
|
| 353 |
+
3. Välj 'Mina betalsätt' eller 'Betalningsmetoder'
|
| 354 |
+
4. För att lägga till nytt kort: Tryck på 'Lägg till kort' eller '+' knappen
|
| 355 |
+
För att ersätta befintligt kort: Tryck på 'Ersätt kort'
|
| 356 |
+
5. Godkänn våra villkor
|
| 357 |
+
6. Tryck på 'Kortbetalning' under "bekräfta för auktorisering"
|
| 358 |
+
7. Lägg in dina kortuppgifter
|
| 359 |
+
8. Bekräfta med BankID
|
| 360 |
|
| 361 |
OBS! Se till att kortet har pengar och att det är upplåst för internetbetalningar."""
|
| 362 |
+
return payment_answer
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 363 |
|
| 364 |
def retrieve_context(query, k=RETRIEVAL_K):
|
| 365 |
"""Hämtar relevant kontext för frågor med direkt matchning för vanliga frågor."""
|