From 7a1cb7c54c4f6c0e7ba6fb5aa4306ab21abf1d6a Mon Sep 17 00:00:00 2001 From: Dishen <44216194+DishenWang2023@users.noreply.github.com> Date: Tue, 17 Oct 2023 13:31:31 -0500 Subject: [PATCH] DH-4863 Limit nl response + sql characters (#243) --- apps/ai/server/modules/query/service.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/apps/ai/server/modules/query/service.py b/apps/ai/server/modules/query/service.py index 95139cae..2a890dfa 100644 --- a/apps/ai/server/modules/query/service.py +++ b/apps/ai/server/modules/query/service.py @@ -38,6 +38,7 @@ CONFIDENCE_CAP = 0.95 CORRECT_RESPONSE_COUNT = 2 +SLACK_CHARACTER_LIMIT = 2700 class QueryService: @@ -122,6 +123,17 @@ async def answer_question( else: is_above_confidence_threshold = True + # error handling for response longer than character limit + if len(answer.response + answer.sql_query) >= SLACK_CHARACTER_LIMIT: + answer.response = ( + ":warning: The generated response has been truncated due to exceeding character limit. " + + "A full response will be returned once reviewed by the data-team admins: \n\n" + + answer.response[ + : max(SLACK_CHARACTER_LIMIT - len(answer.sql_query), 0) + ] + + "..." + ) + return QuerySlackResponse( id=query_id, display_id=query.display_id,