From 90d1e8d2dbe3ec7a8c455d77cac9d09ba16f5329 Mon Sep 17 00:00:00 2001 From: Igor Drozdov <idrozdov@gitlab.com> Date: Fri, 27 Sep 2024 06:45:27 +0200 Subject: [PATCH] Migrate FixCode tool --- .../experiment/prompt_migration_fix_code.yml | 9 +++++++++ ee/lib/gitlab/llm/chain/tools/fix_code/executor.rb | 1 + .../lib/gitlab/llm/chain/tools/fix_code/executor_spec.rb | 5 +++++ 3 files changed, 15 insertions(+) create mode 100644 config/feature_flags/experiment/prompt_migration_fix_code.yml diff --git a/config/feature_flags/experiment/prompt_migration_fix_code.yml b/config/feature_flags/experiment/prompt_migration_fix_code.yml new file mode 100644 index 000000000000..e67ed9536887 --- /dev/null +++ b/config/feature_flags/experiment/prompt_migration_fix_code.yml @@ -0,0 +1,9 @@ +--- +name: prompt_migration_fix_code +feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/475047 +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/167399 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/496750 +milestone: '17.5' +group: group::custom models +type: experiment +default_enabled: false diff --git a/ee/lib/gitlab/llm/chain/tools/fix_code/executor.rb b/ee/lib/gitlab/llm/chain/tools/fix_code/executor.rb index a83bea52aacb..cf343e671f7f 100644 --- a/ee/lib/gitlab/llm/chain/tools/fix_code/executor.rb +++ b/ee/lib/gitlab/llm/chain/tools/fix_code/executor.rb @@ -7,6 +7,7 @@ module Tools module FixCode class Executor < SlashCommandTool extend ::Gitlab::Utils::Override + prepend Concerns::UseAiGatewayAgentPrompt NAME = 'FixCode' HUMAN_NAME = 'Fix Code' diff --git a/ee/spec/lib/gitlab/llm/chain/tools/fix_code/executor_spec.rb b/ee/spec/lib/gitlab/llm/chain/tools/fix_code/executor_spec.rb index 3a50aa9a524f..ddc540e66b48 100644 --- a/ee/spec/lib/gitlab/llm/chain/tools/fix_code/executor_spec.rb +++ b/ee/spec/lib/gitlab/llm/chain/tools/fix_code/executor_spec.rb @@ -133,6 +133,11 @@ expect(answer.error_code).to eq("M4000") end end + + it_behaves_like 'uses ai gateway agent prompt' do + let(:prompt_class) { Gitlab::Llm::Chain::Tools::FixCode::Prompts::Anthropic } + let(:unit_primitive) { 'fix_code' } + end end context 'when context is not authorized' do -- GitLab