Add Duo chat sub-feature to Backend self-hosted models settings
What does this MR do and why?
It adds Duo-chat sub-feature to the backend of the self-hosted model's feature settings. They can now be configured individually.
Users must be able to configure each of their supported models (previously declared to GitLab) to specific Duo features and sub-features.
It also introduces the FF ai_duo_chat_sub_features_settings
to hide the untest configurations.
See design issue #469612 (closed).
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Screenshots or screen recordings
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
Before | After |
---|---|
How to set up and validate locally
run the tests
bundle exec rspec ee/spec/lib/gitlab/llm/chain/requests/ai_gateway_spec.rb
Related to #473005 (closed) Blocks #476660 (closed)
Merge request reports
Activity
changed milestone to %17.4
assigned to @jpcyiza
removed workflowin dev label
removed Deliverable label
removed planning priority label
added 1 commit
- 33b00a7a - Add Duo chat sub-feature to self-hosted models settings
5 Warnings f9a1a0a5: The commit subject must contain at least 3 words. For more information, take a look at our Commit message guidelines. 66512960: Commits that change 30 or more lines across at least 3 files should describe these changes in the commit body. For more information, take a look at our Commit message guidelines. 3c5ed290: Commits that change 30 or more lines across at least 3 files should describe these changes in the commit body. For more information, take a look at our Commit message guidelines. featureaddition and featureenhancement merge requests normally have a documentation change. Consider adding a documentation update or confirming the documentation plan with the Technical Writer counterpart.
For more information, see:
- The Handbook page on merge request types.
- The definition of done documentation.
The master pipeline status page reported failures in If these jobs fail in your merge request with the same errors, then they are not caused by your changes.
Please check for any on-going incidents in the incident issue tracker or in the#master-broken
Slack channel.Reviewer roulette
Category Reviewer Maintainer backend @aluthra2
(UTC+5.5, 3.5 hours ahead of author)
@marc_shaw
(UTC+2, same timezone as author)
Please refer to documentation page for guidance on how you can benefit from the Reviewer Roulette, or use the GitLab Review Workload Dashboard to find other available reviewers.
If needed, you can retry the
danger-review
job that generated this comment.Generated by
Dangerrequested review from @mksionek
- Resolved by Gosia Ksionek
@igor.drozdov would you have the time to do this initial review
, I'll pass it to Gosia next
requested review from @igor.drozdov and removed review request for @mksionek
set as draft: See #473005 (comment 2076931953) and #473005 (comment 2076997154)
Edited by Patrick Cyiza- Resolved by Patrick Cyiza
added 1 commit
- 3c5ed290 - Implement ai_duo_chat_sub_features_settings FF
- A deleted user
added feature flag label
mentioned in issue #480893
added 1 commit
- f85dbf55 - Update ai_duo_chat_sub_features_settings.yml with rollout issue
added 1 commit
- 872b0cfe - Fix feature_setting_spec.rb flagged_features class method unit test
mentioned in issue #473005 (closed)
requested review from @mhamda and removed review request for @igor.drozdov
- Resolved by Patrick Cyiza
- Resolved by Patrick Cyiza
- Resolved by Patrick Cyiza
- Resolved by Patrick Cyiza
- Resolved by Patrick Cyiza
- Resolved by Patrick Cyiza
- Resolved by Patrick Cyiza
- Resolved by Patrick Cyiza
- Resolved by Patrick Cyiza
- Resolved by Patrick Cyiza
added pipeline:mr-approved label
added pipelinetier-3 pipeline:run-e2e-omnibus-once labels
reset approvals from @mhamda by pushing to the branch
E2E Test Result Summary
allure-report-publisher
generated test report!e2e-test-on-gdk:
test report for 0f8428cfexpand test summary
+------------------------------------------------------------------+ | suites summary | +-------------+--------+--------+---------+-------+-------+--------+ | | passed | failed | skipped | flaky | total | result | +-------------+--------+--------+---------+-------+-------+--------+ | Package | 40 | 0 | 21 | 0 | 61 | ✅ | | Verify | 84 | 0 | 4 | 0 | 88 | ✅ | | Plan | 143 | 0 | 0 | 0 | 143 | ✅ | | Create | 243 | 0 | 31 | 0 | 274 | ✅ | | Govern | 136 | 0 | 0 | 0 | 136 | ✅ | | Release | 10 | 0 | 0 | 0 | 10 | ✅ | | Fulfillment | 4 | 0 | 0 | 0 | 4 | ✅ | | Data Stores | 61 | 0 | 2 | 0 | 63 | ✅ | | Monitor | 16 | 0 | 0 | 0 | 16 | ✅ | | Analytics | 4 | 0 | 0 | 0 | 4 | ✅ | | Manage | 2 | 0 | 2 | 0 | 4 | ✅ | | Secure | 6 | 0 | 0 | 0 | 6 | ✅ | +-------------+--------+--------+---------+-------+-------+--------+ | Total | 749 | 0 | 60 | 0 | 809 | ✅ | +-------------+--------+--------+---------+-------+-------+--------+
e2e-package-and-test:
test report for e5440c16expand test summary
+------------------------------------------------------------------+ | suites summary | +-------------+--------+--------+---------+-------+-------+--------+ | | passed | failed | skipped | flaky | total | result | +-------------+--------+--------+---------+-------+-------+--------+ | Plan | 162 | 0 | 18 | 0 | 180 | ✅ | | Package | 48 | 0 | 28 | 0 | 76 | ✅ | | Verify | 102 | 0 | 30 | 0 | 132 | ✅ | | Create | 538 | 0 | 68 | 0 | 606 | ✅ | | Data Stores | 66 | 0 | 20 | 0 | 86 | ✅ | | Govern | 162 | 0 | 10 | 6 | 172 | ✅ | | Monitor | 16 | 0 | 24 | 0 | 40 | ✅ | | Manage | 4 | 0 | 16 | 0 | 20 | ✅ | | Configure | 0 | 0 | 6 | 0 | 6 | ➖ | | Release | 10 | 0 | 2 | 0 | 12 | ✅ | | Secure | 8 | 0 | 4 | 2 | 12 | ✅ | | Analytics | 4 | 0 | 0 | 0 | 4 | ✅ | | Fulfillment | 4 | 0 | 14 | 0 | 18 | ✅ | | Growth | 0 | 0 | 4 | 0 | 4 | ➖ | | ModelOps | 0 | 0 | 2 | 0 | 2 | ➖ | | Ai-powered | 0 | 0 | 4 | 0 | 4 | ➖ | +-------------+--------+--------+---------+-------+-------+--------+ | Total | 1124 | 0 | 250 | 8 | 1374 | ✅ | +-------------+--------+--------+---------+-------+-------+--------+
- Resolved by Patrick Cyiza
removed pipeline:run-e2e-omnibus-once label
added 1 commit
- 66512960 - Limite use unit_primitive in Gitlab::Llm::Chain::Requests::AiGateway
Hey @mksionek could you maintainerize this MR please
!requested review from @mksionek
- Resolved by Patrick Cyiza
removed review request for @mhamda
- Resolved by Patrick Cyiza
- Resolved by Gosia Ksionek
- Resolved by Gosia Ksionek
Couple of small questions from me @jpcyiza :) overall great job :)
reset approvals from @mhamda by pushing to the branch
requested review from @mksionek
- Resolved by Gosia Ksionek
added 1 commit
- 0f8428cf - Flag duo_chat as a stable feature for self hosted
added this merge request to the merge train at position 7
mentioned in commit 42e5639a
added workflowstaging-canary label
mentioned in merge request !165009 (merged)
added workflowcanary label and removed workflowstaging-canary label
added workflowstaging label and removed workflowcanary label
added workflowproduction label and removed workflowstaging label
added workflowpost-deploy-db-production label and removed workflowproduction label
added releasedcandidate label
mentioned in merge request kubitus-project/kubitus-installer!3354 (merged)
added releasedpublished label and removed releasedcandidate label
mentioned in issue #502740
mentioned in issue gitlab-org/quality/triage-reports#20964 (closed)
mentioned in issue gitlab-org/quality/triage-reports#21580 (closed)
mentioned in issue gitlab-org/quality/triage-reports#22016