From 99dc6a0eb35b8bac425b703aa2845e8e03c76083 Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Thu, 29 Jun 2023 13:26:02 +0530 Subject: [PATCH] feat: add guards to ensure message and labels are always present --- lib/integrations/openai/processor_service.rb | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/integrations/openai/processor_service.rb b/lib/integrations/openai/processor_service.rb index 312886169..c11745d2a 100644 --- a/lib/integrations/openai/processor_service.rb +++ b/lib/integrations/openai/processor_service.rb @@ -12,6 +12,9 @@ class Integrations::Openai::ProcessorService < Integrations::OpenaiProcessorServ end def suggest_label_message + payload = suggest_label_body + return nil if payload.blank? + make_api_call(suggest_label_body) end @@ -44,6 +47,8 @@ class Integrations::Openai::ProcessorService < Integrations::OpenaiProcessorServ messages = init_messages_body(false) add_messages_until_token_limit(conversation, messages, false, character_count) + return nil if messages.blank? || labels.blank? + "Messages:\n#{messages}\nLabels:\n#{labels}" end @@ -115,6 +120,9 @@ class Integrations::Openai::ProcessorService < Integrations::OpenaiProcessorServ end def suggest_label_body + content = labels_with_messages + return nil if content.blank? + { model: GPT_MODEL, messages: [ @@ -128,9 +136,7 @@ class Integrations::Openai::ProcessorService < Integrations::OpenaiProcessorServ 'as a comma-separated list of the provided labels. Remember, your response should only contain the labels you\'ve selected, ' \ 'in their original casing, and nothing else. ' }, - { - role: 'user', content: labels_with_messages - } + { role: 'user', content: content } ] }.to_json end