chore: Fix OpenAI sentry errors (#7687)
- add check for nil condition - add logs for openAI
This commit is contained in:
@@ -13,7 +13,7 @@ module Enterprise::Integrations::OpenaiProcessorService
|
||||
# To what you ask? Sometimes, the response includes
|
||||
# "Labels:" in it's response in some format. This is a hacky way to remove it
|
||||
# TODO: Fix with with a better prompt
|
||||
response.gsub(/^(label|labels):/i, '')
|
||||
response.present? ? response.gsub(/^(label|labels):/i, '') : ''
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
@@ -35,7 +35,7 @@ RSpec.describe Integrations::Openai::ProcessorService do
|
||||
context 'when event name is label_suggestion with labels with >3 messages' do
|
||||
let(:event) { { 'name' => 'label_suggestion', 'data' => { 'conversation_display_id' => conversation.display_id } } }
|
||||
|
||||
it 'returns the label suggestions' do
|
||||
before do
|
||||
create(:message, account: account, conversation: conversation, message_type: :incoming, content: 'hello agent')
|
||||
create(:message, account: account, conversation: conversation, message_type: :outgoing, content: 'hello customer')
|
||||
create(:message, account: account, conversation: conversation, message_type: :incoming, content: 'hello agent 2')
|
||||
@@ -44,7 +44,9 @@ RSpec.describe Integrations::Openai::ProcessorService do
|
||||
|
||||
create(:label, account: account)
|
||||
create(:label, account: account)
|
||||
end
|
||||
|
||||
it 'returns the label suggestions' do
|
||||
stub_request(:post, 'https://api.openai.com/v1/chat/completions')
|
||||
.with(body: anything, headers: expected_headers)
|
||||
.to_return(status: 200, body: openai_response, headers: {})
|
||||
@@ -52,6 +54,15 @@ RSpec.describe Integrations::Openai::ProcessorService do
|
||||
result = subject.perform
|
||||
expect(result).to eq('This is a reply from openai.')
|
||||
end
|
||||
|
||||
it 'returns empty string if openai response is blank' do
|
||||
stub_request(:post, 'https://api.openai.com/v1/chat/completions')
|
||||
.with(body: anything, headers: expected_headers)
|
||||
.to_return(status: 200, body: '{}', headers: {})
|
||||
|
||||
result = subject.perform
|
||||
expect(result).to eq('')
|
||||
end
|
||||
end
|
||||
|
||||
context 'when event name is label_suggestion with no labels' do
|
||||
|
||||
Reference in New Issue
Block a user