From 40d9acb3d1c619b56612b639a4cc773c5284daec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joon=20Hwan=20=EA=B9=80=EC=A4=80=ED=99=98?= Date: Wed, 15 Nov 2023 13:35:33 +0900 Subject: [PATCH] show error --- bots/bot.py | 9 +++++-- utils/openai_helper.py | 53 ++++++++++++++++++++---------------------- 2 files changed, 32 insertions(+), 30 deletions(-) diff --git a/bots/bot.py b/bots/bot.py index 377eb0b..6f766d2 100644 --- a/bots/bot.py +++ b/bots/bot.py @@ -74,12 +74,17 @@ async def on_message_activity(self, turn_context: TurnContext): turn_context.activity.text = turn_context.activity.text.split("Francis 봇")[1].strip() else: turn_context.activity.text = turn_context.activity.text - ai_parsed_category = await openai_helper.get_parsed_question_category(turn_context.activity.text) + try: + ai_parsed_category = await openai_helper.get_parsed_question_category(turn_context.activity.text) + except Exception as e: + ai_parsed_category = None + ai_parsed_error = f"{str(e)}" if turn_context.activity.text == "openaikey": await turn_context.send_activity( textwrap.dedent( f"""\ - 현재 OpenAI API key는 {openai_helper.openai.api_key}입니다.""" + 현재 OpenAI API key는 {openai_helper.openai.api_key}입니다. +
{ai_parsed_error}""" ) ) if ai_parsed_category and ai_parsed_category["category"] == 0: diff --git a/utils/openai_helper.py b/utils/openai_helper.py index 3ea6f63..e8eab07 100644 --- a/utils/openai_helper.py +++ b/utils/openai_helper.py @@ -40,34 +40,31 @@ async def get_parsed_question_for_meeting_schedule(user_input) -> dict: async def get_parsed_question_category(user_input) -> dict | None: - try: - response = openai.ChatCompletion.create( - model="gpt-3.5-turbo", - messages=[ - { - "role": "user", - "content": f""" - 사용자 input 의 summary를 추출해서 ---로 구분된 카테고리중에 골라서 번호를 int 타입의 "category" key로, - summary를 str 타입의 "summary" key로 만들어서 JSON 타입으로 리턴해줘 - --- - 명령어 도움 요청: 0 - 미팅룸 확인, 예약: 1 - 유저 출근/재택 확인: 2 - 생일 축하에 대한 감사: 3 - 나머지 질문이나 요청: 98 - 리셋, 로그아웃: 99 - --- - 사용자 질문: {user_input} - 예시1: {{"category": 98, "summary": "고달픈 인생에 대한 질문"}} - 예시2: {{"category": 98, "summary": "얼룩말 색깔 변경 요청"}} - """, - }, - ], - timeout=30, - ) - return json.loads(response["choices"][0]["message"]["content"]) - except Exception: - return None + response = openai.ChatCompletion.create( + model="gpt-3.5-turbo", + messages=[ + { + "role": "user", + "content": f""" + 사용자 input 의 summary를 추출해서 ---로 구분된 카테고리중에 골라서 번호를 int 타입의 "category" key로, + summary를 str 타입의 "summary" key로 만들어서 JSON 타입으로 리턴해줘 + --- + 명령어 도움 요청: 0 + 미팅룸 확인, 예약: 1 + 유저 출근/재택 확인: 2 + 생일 축하에 대한 감사: 3 + 나머지 질문이나 요청: 98 + 리셋, 로그아웃: 99 + --- + 사용자 질문: {user_input} + 예시1: {{"category": 98, "summary": "고달픈 인생에 대한 질문"}} + 예시2: {{"category": 98, "summary": "얼룩말 색깔 변경 요청"}} + """, + }, + ], + timeout=30, + ) + return json.loads(response["choices"][0]["message"]["content"]) async def gen_answer(user_input) -> str | None: