From a65861ada6529382fb44aa0d8fcde444a727f626 Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Wed, 17 Dec 2025 17:06:03 +0530 Subject: [PATCH] refactor: get rid of unnecessary serialization and deserialization --- lib/captain/base_editor_service.rb | 13 ++++++------- lib/captain/label_suggestion_service.rb | 2 +- lib/captain/reply_suggestion_service.rb | 2 +- lib/captain/rewrite_service.rb | 6 +++--- lib/captain/summary_service.rb | 2 +- 5 files changed, 12 insertions(+), 13 deletions(-) diff --git a/lib/captain/base_editor_service.rb b/lib/captain/base_editor_service.rb index bba9471b7..a06c26288 100644 --- a/lib/captain/base_editor_service.rb +++ b/lib/captain/base_editor_service.rb @@ -78,18 +78,17 @@ class Captain::BaseEditorService "#{endpoint}/v1" end - def make_api_call(body) - parsed_body = JSON.parse(body) - instrumentation_params = build_instrumentation_params(parsed_body) + def make_api_call(payload) + instrumentation_params = build_instrumentation_params(payload) instrument_llm_call(instrumentation_params) do - execute_ruby_llm_request(parsed_body) + execute_ruby_llm_request(payload) end end - def execute_ruby_llm_request(parsed_body) - messages = parsed_body['messages'] - model = parsed_body['model'] + def execute_ruby_llm_request(payload) + messages = payload['messages'] + model = payload['model'] Llm::Config.with_api_key(api_key, api_base: api_base) do |context| chat = context.chat(model: model) diff --git a/lib/captain/label_suggestion_service.rb b/lib/captain/label_suggestion_service.rb index 3a9050d58..9d19f2465 100644 --- a/lib/captain/label_suggestion_service.rb +++ b/lib/captain/label_suggestion_service.rb @@ -33,7 +33,7 @@ class Captain::LabelSuggestionService < Captain::BaseEditorService }, { role: 'user', content: content } ] - }.to_json + } end def labels_with_messages diff --git a/lib/captain/reply_suggestion_service.rb b/lib/captain/reply_suggestion_service.rb index aa1f30be4..841fd57bc 100644 --- a/lib/captain/reply_suggestion_service.rb +++ b/lib/captain/reply_suggestion_service.rb @@ -11,7 +11,7 @@ class Captain::ReplySuggestionService < Captain::BaseEditorService messages: [ { role: 'system', content: prompt_from_file('reply') } ].concat(conversation_messages(in_array_format: true)) - }.to_json + } end def conversation_messages(in_array_format: false) diff --git a/lib/captain/rewrite_service.rb b/lib/captain/rewrite_service.rb index 9fa0b71aa..a9964232b 100644 --- a/lib/captain/rewrite_service.rb +++ b/lib/captain/rewrite_service.rb @@ -37,14 +37,14 @@ class Captain::RewriteService < Captain::BaseEditorService private def call_llm_with_prompt(system_content, user_content = event['data']['content']) - body = { + payload = { model: GPT_MODEL, messages: [ { role: 'system', content: system_content }, { role: 'user', content: user_content } ] - }.to_json - make_api_call(body) + } + make_api_call(payload) end def render_liquid_template(template_content, variables = {}) diff --git a/lib/captain/summary_service.rb b/lib/captain/summary_service.rb index d4628d058..e6bc12ff9 100644 --- a/lib/captain/summary_service.rb +++ b/lib/captain/summary_service.rb @@ -12,7 +12,7 @@ class Captain::SummaryService < Captain::BaseEditorService { role: 'system', content: prompt_from_file('summary') }, { role: 'user', content: conversation_messages } ] - }.to_json + } end def conversation_messages(in_array_format: false)