Report generator
Browse files- orchestrator_functions.py +56 -56
orchestrator_functions.py
CHANGED
@@ -385,78 +385,78 @@ async def csv_chart(csv_url: str, query: str):
|
|
385 |
|
386 |
|
387 |
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
|
392 |
-
#
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
|
403 |
-
#
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
|
408 |
-
|
409 |
-
|
410 |
|
411 |
-
|
412 |
-
|
413 |
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
|
423 |
|
424 |
|
425 |
|
426 |
|
427 |
|
428 |
-
async def csv_chat(csv_url: str, query: str):
|
429 |
-
|
430 |
-
|
431 |
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
|
437 |
-
|
438 |
-
|
439 |
|
440 |
-
|
441 |
-
|
442 |
|
443 |
-
|
444 |
|
445 |
-
|
446 |
-
|
447 |
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
|
460 |
-
|
461 |
-
|
462 |
-
|
|
|
385 |
|
386 |
|
387 |
|
388 |
+
async def csv_chat(csv_url: str, query: str):
|
389 |
+
try:
|
390 |
+
updated_query = f"{query} and Do not show any charts or graphs."
|
391 |
|
392 |
+
# Process with langchain_chat first
|
393 |
+
try:
|
394 |
+
lang_answer = await asyncio.to_thread(
|
395 |
+
langchain_csv_chat, csv_url, query, False
|
396 |
+
)
|
397 |
+
if lang_answer is not None:
|
398 |
+
return {"answer": jsonable_encoder(lang_answer)}
|
399 |
+
raise Exception("Langchain failed to process")
|
400 |
+
except Exception as langchain_error:
|
401 |
+
print(f"Langchain error, falling back to Groq: {str(langchain_error)}")
|
402 |
|
403 |
+
# Process with groq_chat if langchain fails
|
404 |
+
try:
|
405 |
+
groq_answer = await asyncio.to_thread(groq_chat, csv_url, updated_query)
|
406 |
+
print("groq_answer:", groq_answer)
|
407 |
|
408 |
+
if process_answer(groq_answer) == "Empty response received.":
|
409 |
+
return {"answer": "Sorry, I couldn't find relevant data..."}
|
410 |
|
411 |
+
if process_answer(groq_answer) or groq_answer is None:
|
412 |
+
return {"answer": "error"}
|
413 |
|
414 |
+
return {"answer": jsonable_encoder(groq_answer)}
|
415 |
+
except Exception as groq_error:
|
416 |
+
print(f"Groq processing error: {str(groq_error)}")
|
417 |
+
return {"answer": "error"}
|
418 |
|
419 |
+
except Exception as e:
|
420 |
+
print(f"Error processing request: {str(e)}")
|
421 |
+
return {"answer": "error"}
|
422 |
|
423 |
|
424 |
|
425 |
|
426 |
|
427 |
|
428 |
+
# async def csv_chat(csv_url: str, query: str):
|
429 |
+
# try:
|
430 |
+
# updated_query = f"{query} and Do not show any charts or graphs."
|
431 |
|
432 |
+
# # Process with Groq first
|
433 |
+
# try:
|
434 |
+
# groq_answer = await asyncio.to_thread(groq_chat, csv_url, updated_query)
|
435 |
+
# print("groq_answer:", groq_answer)
|
436 |
|
437 |
+
# if process_answer(groq_answer) == "Empty response received." or groq_answer == None:
|
438 |
+
# return {"answer": "Sorry, I couldn't find relevant data..."}
|
439 |
|
440 |
+
# if process_answer(groq_answer) or groq_answer == None:
|
441 |
+
# raise Exception("Groq response not usable, falling back to LangChain")
|
442 |
|
443 |
+
# return {"answer": jsonable_encoder(groq_answer)}
|
444 |
|
445 |
+
# except Exception as groq_error:
|
446 |
+
# print(f"Groq error, falling back to LangChain: {str(groq_error)}")
|
447 |
|
448 |
+
# # Process with LangChain if Groq fails
|
449 |
+
# try:
|
450 |
+
# lang_answer = await asyncio.to_thread(
|
451 |
+
# langchain_csv_chat, csv_url, query, False
|
452 |
+
# )
|
453 |
+
# if not process_answer(lang_answer):
|
454 |
+
# return {"answer": jsonable_encoder(lang_answer)}
|
455 |
+
# return {"answer": "Sorry, I couldn't find relevant data..."}
|
456 |
+
# except Exception as langchain_error:
|
457 |
+
# print(f"LangChain processing error: {str(langchain_error)}")
|
458 |
+
# return {"answer": "error"}
|
459 |
|
460 |
+
# except Exception as e:
|
461 |
+
# print(f"Error processing request: {str(e)}")
|
462 |
+
# return {"answer": "error"}
|