Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -243,60 +243,60 @@ class BasicAgent:
|
|
| 243 |
return search_result
|
| 244 |
|
| 245 |
def _get_answer_from_llm(self, question: str) -> str:
|
| 246 |
-
|
| 247 |
-
|
| 248 |
-
|
| 249 |
-
|
| 250 |
-
|
| 251 |
-
|
| 252 |
-
|
| 253 |
-
|
| 254 |
-
|
| 255 |
-
|
| 256 |
-
|
| 257 |
-
|
| 258 |
-
|
| 259 |
-
|
| 260 |
-
|
| 261 |
-
|
| 262 |
-
|
| 263 |
-
|
| 264 |
-
|
| 265 |
-
|
| 266 |
-
|
| 267 |
-
|
| 268 |
-
|
| 269 |
-
|
| 270 |
-
|
| 271 |
-
|
| 272 |
-
|
| 273 |
-
|
| 274 |
-
|
| 275 |
-
|
| 276 |
-
|
| 277 |
-
|
| 278 |
-
|
| 279 |
-
|
| 280 |
-
|
| 281 |
-
|
| 282 |
-
|
| 283 |
-
|
| 284 |
-
|
| 285 |
-
|
| 286 |
-
|
| 287 |
-
|
| 288 |
-
|
| 289 |
-
|
| 290 |
-
|
| 291 |
-
|
| 292 |
-
|
| 293 |
-
|
| 294 |
-
|
| 295 |
-
|
| 296 |
-
|
| 297 |
-
|
| 298 |
-
|
| 299 |
-
|
| 300 |
|
| 301 |
def run_and_submit_all(profile: gr.OAuthProfile | None):
|
| 302 |
"""
|
|
|
|
| 243 |
return search_result
|
| 244 |
|
| 245 |
def _get_answer_from_llm(self, question: str) -> str:
|
| 246 |
+
"""Get an answer from the LLM with appropriate prompting"""
|
| 247 |
+
prompt = f"""
|
| 248 |
+
Answer the following question with a very concise, direct response:
|
| 249 |
+
|
| 250 |
+
Question: {question}
|
| 251 |
+
|
| 252 |
+
Answer in 1-2 sentences maximum, focusing only on the specific information requested.
|
| 253 |
+
"""
|
| 254 |
+
|
| 255 |
+
# Expanded common answers to reduce LLM API dependence
|
| 256 |
+
common_answers = {
|
| 257 |
+
"what color is the sky": "Blue.",
|
| 258 |
+
"how many days in a week": "7 days.",
|
| 259 |
+
"how many months in a year": "12 months.",
|
| 260 |
+
"what is the capital of france": "Paris.",
|
| 261 |
+
"what is the capital of japan": "Tokyo.",
|
| 262 |
+
"what is the capital of italy": "Rome.",
|
| 263 |
+
"what is the capital of germany": "Berlin.",
|
| 264 |
+
"what is the capital of spain": "Madrid.",
|
| 265 |
+
"what is the capital of united states": "Washington, D.C.",
|
| 266 |
+
"what is the capital of china": "Beijing.",
|
| 267 |
+
"what is the capital of russia": "Moscow.",
|
| 268 |
+
"what is the capital of canada": "Ottawa.",
|
| 269 |
+
"what is the capital of australia": "Canberra.",
|
| 270 |
+
"what is the capital of brazil": "Brasília.",
|
| 271 |
+
"what is water made of": "H2O (hydrogen and oxygen).",
|
| 272 |
+
"who wrote romeo and juliet": "William Shakespeare.",
|
| 273 |
+
"who painted the mona lisa": "Leonardo da Vinci.",
|
| 274 |
+
"what is the largest ocean": "The Pacific Ocean.",
|
| 275 |
+
"what is the smallest planet": "Mercury.",
|
| 276 |
+
"what is the largest planet": "Jupiter.",
|
| 277 |
+
"who invented electricity": "Electricity wasn't invented but discovered through contributions from many scientists including Benjamin Franklin, Michael Faraday, and Thomas Edison.",
|
| 278 |
+
"how many continents are there": "There are 7 continents: Africa, Antarctica, Asia, Europe, North America, Australia/Oceania, and South America.",
|
| 279 |
+
"what is the largest country": "Russia is the largest country by land area.",
|
| 280 |
+
"what is the most spoken language": "Mandarin Chinese is the most spoken native language in the world.",
|
| 281 |
+
"what is the tallest mountain": "Mount Everest is the tallest mountain above sea level at 8,848.86 meters."
|
| 282 |
+
}
|
| 283 |
+
|
| 284 |
+
# Clean up the question for better matching
|
| 285 |
+
clean_question = question.lower().strip('?').strip()
|
| 286 |
+
|
| 287 |
+
# Check if we have a hardcoded answer
|
| 288 |
+
if clean_question in common_answers:
|
| 289 |
+
return common_answers[clean_question]
|
| 290 |
+
|
| 291 |
+
# Try partial matching for more flexibility
|
| 292 |
+
for key, answer in common_answers.items():
|
| 293 |
+
if clean_question in key or key in clean_question:
|
| 294 |
+
# Only return if it's a close match
|
| 295 |
+
if len(clean_question) > len(key) * 0.7 or len(key) > len(clean_question) * 0.7:
|
| 296 |
+
return answer
|
| 297 |
+
|
| 298 |
+
# If no hardcoded answer, use the LLM
|
| 299 |
+
return self.llm.query_llm(prompt)
|
| 300 |
|
| 301 |
def run_and_submit_all(profile: gr.OAuthProfile | None):
|
| 302 |
"""
|