Spaces:
Sleeping
Sleeping
Update inference.py
Browse files- inference.py +14 -3
inference.py
CHANGED
@@ -40,8 +40,18 @@ def evo_infer(query, options, user_context=""):
|
|
40 |
if model is None:
|
41 |
return "Model Error", 0.0, "Model not available", ""
|
42 |
|
43 |
-
|
44 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
|
46 |
scores = []
|
47 |
for pair in input_pairs:
|
@@ -56,9 +66,10 @@ def evo_infer(query, options, user_context=""):
|
|
56 |
options[best_idx],
|
57 |
max(scores),
|
58 |
f"{options[0]}: {scores[0]:.3f} vs {options[1]}: {scores[1]:.3f}",
|
59 |
-
|
60 |
)
|
61 |
|
|
|
62 |
# 💬 GPT fallback (used for comparison only)
|
63 |
def get_gpt_response(query, user_context=""):
|
64 |
try:
|
|
|
40 |
if model is None:
|
41 |
return "Model Error", 0.0, "Model not available", ""
|
42 |
|
43 |
+
# ✅ Smart context logic: avoid search for numeric/logical queries
|
44 |
+
def is_fact_or_math(q):
|
45 |
+
q_lower = q.lower()
|
46 |
+
return any(char.isdigit() for char in q_lower) or any(op in q_lower for op in ["+", "-", "*", "/", "=", "what is", "solve", "calculate"])
|
47 |
+
|
48 |
+
if is_fact_or_math(query):
|
49 |
+
context_str = user_context or ""
|
50 |
+
else:
|
51 |
+
search_results = web_search(query)
|
52 |
+
context_str = "\n".join(search_results + ([user_context] if user_context else []))
|
53 |
+
|
54 |
+
input_pairs = [f"{query} [SEP] {opt} [CTX] {context_str}" for opt in options]
|
55 |
|
56 |
scores = []
|
57 |
for pair in input_pairs:
|
|
|
66 |
options[best_idx],
|
67 |
max(scores),
|
68 |
f"{options[0]}: {scores[0]:.3f} vs {options[1]}: {scores[1]:.3f}",
|
69 |
+
context_str
|
70 |
)
|
71 |
|
72 |
+
|
73 |
# 💬 GPT fallback (used for comparison only)
|
74 |
def get_gpt_response(query, user_context=""):
|
75 |
try:
|