Add better handling for empty responses

This commit is contained in:
sabaimran
2024-05-07 11:49:33 -07:00
parent 4aed6bd274
commit a50deb2762
2 changed files with 19 additions and 0 deletions

View File

@@ -43,6 +43,7 @@ from khoj.routers.helpers import (
construct_automation_created_message,
create_automation,
get_conversation_command,
is_query_empty,
is_ready_to_chat,
text_to_image,
update_telemetry_state,
@@ -480,6 +481,14 @@ async def websocket_endpoint(
await send_rate_limit_message(e.detail)
break
if is_query_empty(q):
await send_message("start_llm_response")
await send_message(
"It seems like your query is incomplete. Could you please provide more details or specify what you need help with?"
)
await send_message("end_llm_response")
continue
user_message_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
conversation_commands = [get_conversation_command(query=q, any_references=True)]
@@ -707,6 +716,12 @@ async def chat(
) -> Response:
user: KhojUser = request.user.object
q = unquote(q)
if is_query_empty(q):
return Response(
content="It seems like your query is incomplete. Could you please provide more details or specify what you need help with?",
media_type="text/plain",
status_code=400,
)
user_message_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
logger.info(f"Chat request by {user.username}: {q}")

View File

@@ -84,6 +84,10 @@ logger = logging.getLogger(__name__)
executor = ThreadPoolExecutor(max_workers=1)
def is_query_empty(query: str) -> bool:
return is_none_or_empty(query.strip())
def validate_conversation_config():
default_config = ConversationAdapters.get_default_conversation_config()