Skip to content

Consolidate AI-related feature flags (part 1)

euko requested to merge 425690-consolidate-ai-feature-flags-1 into master

What does this MR do and why?

This MR removes a batch of feature flags related to experimental AI features. Related to #425690 (closed).

Removing the feature flags does NOT release the features as they are still all gated behind the "umbrella" feature flag openai_experimentation for all AI features. For this reason, this MR does not have a changelog.

Removed feature flags and how to test them

The goal isn't to roll out the features behind the feature flags. The goal is to have the features gated behind one feature flag openai_experimentation. When you disable :openai_experimentation, you should not be able to test any of the features.

  1. tanuki_bot: it gated the documentation vector search feature. It's been widely used/tested through GitLab Duo.

    Rollout issue: https://gitlab.com/gitlab-org/gitlab/-/issues/407337

    Status: enabled globally but not enabled by default (chatops: https://gitlab.slack.com/archives/CB2S7NNDP/p1695639881148009)

    How to test: In GitLab Duo, ask a question that should be answered from the GitLab documentation such as "How can I reset password?".

  2. ai_tool_info: it gated the feature that allowed user to see what the chat backend was doing while producing a response #419803. The feature is now largely irrelevant as responses are streamed in real time.

    Rollout issue: #422850 (closed)

    Status: enabled globally but not enabled by default (chatops: https://gitlab.slack.com/archives/CB2S7NNDP/p1695639947822299)

    How to test: Make sure the streaming feature flag :stream_gitlab_duo is turned off. In GitLab Duo Chat, ask some question and observe that the system messages/feedback are displayed:

system messages/feedback example

It suffices to notice that the feedback message changes ("GitLab documentation is finding an answer") Screen_Recording_2023-09-25_at_18.47.13

  1. chat_epic_identifier: it gated the epic identifier tool. Without the tool, you couldn't ask questions about epics.

    Rollout issue: #422374 (closed)

    Status: enabled globally but not enabled by default (chatops: https://gitlab.slack.com/archives/CB2S7NNDP/p1695639987544069)

    How to test: Ask a question about an epic. Visit any epic and on the epic page, ask Gitlab Duo to summarize it "Summarize this epic".

  2. explain_code_snippet: the feature behind this FF allows user to get an explanation for a highlighted selection of a code blob.

    Rollout issue: #404631 (closed)

    Status: enabled globally but not enabled by default (chatops: https://gitlab.slack.com/archives/CB2S7NNDP/p1695640027629239)

    How to test: View any code blob and highlight some code. Observe the question mark icon appearing next to the line number.

explain_code_snippet demo Screen_Recording_2023-09-25_at_19.45.11
  1. gitlab_duo: the feature flag used to gate GitLab Duo (chat.)

    Rollout issue: #413688 (closed)

    Status: enabled globally but not enabled by default

    How to test: As long as the previous validation steps worked, we're good here.

  2. ai_related_settings: the feature flag guards the ability to disable AI features for a namespace hierarchy.

    Rollout issue: #408791 (closed)

    Status: enabled globally but not enabled by default

    How to test: Visit a group and navigate to its General settings. A checkbox with the description Use third-party AI services should be present.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by euko

Merge request reports