diff options
Diffstat (limited to 'doc/user/ai_features.md')
-rw-r--r-- | doc/user/ai_features.md | 171 |
1 files changed, 77 insertions, 94 deletions
diff --git a/doc/user/ai_features.md b/doc/user/ai_features.md index b9bcaec8b57..9558e40d56f 100644 --- a/doc/user/ai_features.md +++ b/doc/user/ai_features.md @@ -1,6 +1,6 @@ --- -stage: ModelOps -group: AI Assisted +stage: AI-powered +group: AI Model Validation info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments type: index, reference --- @@ -40,15 +40,26 @@ The following feature is Generally Available: [Beta features](../policy/experiment-beta-support.md#beta) do not require [Experiment features to be enabled](group/manage.md#enable-experiment-features). -The following feature is in Beta: +The following features are in Beta: - [Code Suggestions](project/repository/code_suggestions.md) +- [Explain this vulnerability](application_security/vulnerabilities/index.md#explaining-a-vulnerability-beta) ## Experiment AI features [Experiment](../policy/experiment-beta-support.md#experiment) AI features require [Experiment features to be enabled](group/manage.md#enable-experiment-features) as well as [third-party AI services to be enabled](group/manage.md#enable-third-party-ai-features). +The following features are in Experiment: + +- [Fill in merge request templates](project/merge_requests/ai_in_merge_requests.md#fill-in-merge-request-templates) +- [Summarize merge request changes](project/merge_requests/ai_in_merge_requests.md#summarize-merge-request-changes) +- [Summarize my merge request review](project/merge_requests/ai_in_merge_requests.md#summarize-my-merge-request-review) +- [Suggested merge or squash commit message](project/merge_requests/ai_in_merge_requests.md#suggested-merge-or-squash-commit-message) +- [Generate suggested tests in merge requests](project/merge_requests/ai_in_merge_requests.md#generate-suggested-tests-in-merge-requests) + +The rest of the features described on this page are also in the Experiment phase. + ### Explain Selected Code in the Web UI **(ULTIMATE SAAS)** > Introduced in GitLab 15.11 as an [Experiment](../policy/experiment-beta-support.md#experiment) on GitLab.com. @@ -98,136 +109,108 @@ code in a merge request: We cannot guarantee that the large language model produces results that are correct. Use the explanation with caution. -### Explain this Vulnerability in the Web UI **(ULTIMATE SAAS)** +### GitLab Duo Chat **(ULTIMATE SAAS)** -> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/10368) in GitLab 16.0 as an [Experiment](../policy/experiment-beta-support.md#experiment) on GitLab.com. +> Introduced in GitLab 16.0 as an [Experiment](../policy/experiment-beta-support.md#experiment). -This feature is an [Experiment](../policy/experiment-beta-support.md) on GitLab.com that is powered by Google AI. +This feature is an [Experiment](../policy/experiment-beta-support.md) on GitLab.com. It requires the [group-level third-party AI features setting](group/manage.md#enable-third-party-ai-features) to be enabled. -GitLab can help you with your vulnerability by using a large language model to: +GitLab Duo Chat is powered by Anthropic's Claude-2.0 and Claude-instant-1.1 large language models and OpenAI's text-embedding-ada-002 embeddings. The LLMs are employed to analyze user questions to collect appropriate context data from the user's project, and to generate responses. In some cases, embeddings are used to embed user questions and find relevant content in GitLab documentation to share with the LLMs to generate an answer. -- Summarize the vulnerability. -- Help developers and security analysts get started understanding the vulnerability, how it could be exploited, and how to fix it. -- Provide a suggested mitigation. +You can get AI generated support from GitLab Duo Chat about the following topics: -Prerequisites: +- How to use GitLab. +- Questions about an issue. +- Summarizing an issue. -- You must have the GitLab Ultimate subscription tier. -- You must be a member of the project. -- The vulnerability must be a SAST finding. +Example questions you might ask: -To explain your vulnerability: +- `What is a fork?` +- `How to reset my password` +- `Summarize the issue <link to your issue>` +- `Summarize the description of the current issue` -1. On the left sidebar, at the top, select **Search GitLab** (**{search}**) to find your project. -1. On the left sidebar, select **Secure > Vulnerability report**. -1. Find a SAST vulnerability. -1. Open the vulnerability. -1. Select **Try it out**. - -Review the drawer on the right-hand side of your screen. - -![How to use Explain this Vulnerability Experiment](img/explain_this_vulnerability.png) +The examples above all use data from either the issue or the GitLab documentation. However, you can also ask to generate code, CI/CD configurations, or to explain code. For example: -We cannot guarantee that the large language model produces results that are correct. Use the explanation with caution. +- `Write a hello world function in Ruby` +- `Write a tic tac toe game in JavaScript` +- `Write a .gitlab-ci.yml file to test and build a rails application` +- `Explain the following code: def sum(a, b) a + b end` -### GitLab Duo Chat **(ULTIMATE SAAS)** +You can also ask follow-up questions. -> Introduced in GitLab 16.0 as an [Experiment](../policy/experiment-beta-support.md#experiment). - -This feature is an [Experiment](../policy/experiment-beta-support.md) on GitLab.com that is powered by OpenAI's GPT-3. It requires the [group-level third-party AI features setting](group/manage.md#enable-third-party-ai-features) to be enabled. - -Getting help has never been easier. If you have a question about how the GitLab product works, you can ask product how-to questions and get AI generated support from GitLab Duo Chat. +This is an experimental feature and we're continuously extending the capabilities and reliability of the chat. 1. In the lower-left corner, select the Help icon. + The [new left sidebar must be enabled](../tutorials/left_sidebar/index.md#enable-the-new-left-sidebar). 1. Select **Ask in GitLab Duo Chat**. A drawer opens on the right side of your screen. -1. Enter your question in the chat input box and press **Enter** or select **Send**. It may take a few seconds for the interactive AI chat to search the product documentation and produce an answer. +1. Enter your question in the chat input box and press **Enter** or select **Send**. It may take a few seconds for the interactive AI chat to produce an answer. +1. You can ask a follow-up question. +1. If you want to ask a new question unrelated to the previous conversation, you may receive better answers if you clear the context by typing `/reset` into the input box and selecting **Send**. -To give feedback, select the **Give Feedback** link. +To give feedback about a specific response, use the feedback buttons in the response message. +Or, you can add a comment in the [feedback issue](https://gitlab.com/gitlab-org/gitlab/-/issues/415591). NOTE: -Only the last 50 messages in the chat history are retained. The chat history expires 3 days after last use. - -### Summarize merge request changes **(ULTIMATE SAAS)** - -> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/10400) in GitLab 16.0 as an [Experiment](../policy/experiment-beta-support.md#experiment). - -This feature is an [Experiment](../policy/experiment-beta-support.md) on GitLab.com that is powered by OpenAI's GPT-3. It requires the [group-level third-party AI features setting](group/manage.md#enable-third-party-ai-features) to be enabled. - -You can generate a merge request summary in a merge request comment. - -- In a comment, type `/summarize_diff`. - -This action posts a comment from a GitLab bot. The comment provides a summary of the changes and the related SHA for when that summary was generated. - -Provide feedback on this experimental feature in [issue 408726](https://gitlab.com/gitlab-org/gitlab/-/issues/408726). - -**Data usage**: When you use this quick action, the diff of changes between the head of the source branch -and the target branch is sent to the large language model referenced above. - -### Summarize my merge request review **(ULTIMATE SAAS)** - -> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/10466) in GitLab 16.0 as an [Experiment](../policy/experiment-beta-support.md#experiment). +Only the last 50 messages are retained in the chat history. The chat history expires 3 days after last use. -This feature is an [Experiment](../policy/experiment-beta-support.md) on GitLab.com that is powered by OpenAI's GPT-3. It requires the [group-level third-party AI features setting](group/manage.md#enable-third-party-ai-features) to be enabled. - -When you've completed your review of a merge request and are ready to [submit your review](project/merge_requests/reviews/index.md#submit-a-review), you can have a summary generated for you. - -To generate the summary: - -1. When you are ready to submit your review, select **Finish review**. -1. Select **AI Actions** (**{tanuki}**). -1. Select **Summarize my code review**. +### Summarize issue discussions **(ULTIMATE SAAS)** -The summary is displayed in the comment box. You can edit and refine the summary prior to submitting your review. +> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/10344) in GitLab 16.0 as an [Experiment](../policy/experiment-beta-support.md#experiment). -Provide feedback on this experimental feature in [issue 408991](https://gitlab.com/gitlab-org/gitlab/-/issues/408991). +This feature is an [Experiment](../policy/experiment-beta-support.md) on GitLab.com that is powered by OpenAI's +GPT-3. It requires the [group-level third-party AI features setting](group/manage.md#enable-third-party-ai-features) to be enabled. -**Data usage**: When you use this feature, the following data is sent to the large language model referenced above: +You can generate a summary of discussions on an issue: -- Draft comment's text -- File path of the commented files +1. In an issue, scroll to the **Activity** section. +1. Select **View summary**. -### Generate suggested tests in merge requests **(ULTIMATE SAAS)** +The comments in the issue are summarized in as many as 10 list items. +The summary is displayed only for you. -> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/10366) in GitLab 16.0 as an [Experiment](../policy/experiment-beta-support.md#experiment). +Provide feedback on this experimental feature in [issue 407779](https://gitlab.com/gitlab-org/gitlab/-/issues/407779). -This feature is an [Experiment](../policy/experiment-beta-support.md) on GitLab.com that is powered by OpenAI's GPT-3. It requires the [group-level third-party AI features setting](group/manage.md#enable-third-party-ai-features) to be enabled. +**Data usage**: When you use this feature, the text of public comments on the issue are sent to the large +language model referenced above. -In a merge request, you can get a list of suggested tests for the file you are reviewing. This functionality can help determine if appropriate test coverage has been provided, or if you need more coverage for your project. +### Show deployment frequency forecast **(ULTIMATE SAAS)** -To generate a test suggestion: +> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/10228) in GitLab 16.2 as an [Experiment](../policy/experiment-beta-support.md#experiment). -1. In a merge request, select the **Changes** tab. -1. On the header for the file, in the upper-right corner, select **Options** (**{ellipsis_v}**). -1. Select **Suggest test cases**. +This feature is an [Experiment](../policy/experiment-beta-support.md) on GitLab.com. -The test suggestion is generated in a sidebar. You can copy the suggestion to your editor and use it as the start of your tests. +In CI/CD Analytics, you can view a forecast of deployment frequency: -Feedback on this experimental feature can be provided in [issue 408995](https://gitlab.com/gitlab-org/gitlab/-/issues/408995). +1. On the left sidebar, at the top, select **Search GitLab** (**{search}**) to find your project. +1. Select **Analyze > CI/CD analytics**. +1. Select the **Deployment frequency** tab. +1. Turn on the **Show forecast** toggle. +1. On the confirmation dialog, select **Accept testing terms**. -**Data usage**: When you use this feature, the following data is sent to the large language model referenced above: +The forecast is displayed as a dotted line on the chart. Data is forecasted for a duration that is half of the selected date range. +For example, if you select a 30-day range, a forecast for the following 15 days is displayed. -- Contents of the file -- The file name +Provide feedback on this experimental feature in [issue 416833](https://gitlab.com/gitlab-org/gitlab/-/issues/416833). -### Summarize issue discussions **(ULTIMATE SAAS)** +### Generate issue descriptions **(ULTIMATE SAAS)** -> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/10344) in GitLab 16.0 as an [Experiment](../policy/experiment-beta-support.md#experiment). +> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/10762) in GitLab 16.3 as an [Experiment](../policy/experiment-beta-support.md#experiment). This feature is an [Experiment](../policy/experiment-beta-support.md) on GitLab.com that is powered by OpenAI's GPT-3. It requires the [group-level third-party AI features setting](group/manage.md#enable-third-party-ai-features) to be enabled. -You can generate a summary of discussions on an issue: +You can generate the description for an issue from a short summary. -1. In an issue, scroll to the **Activity** section. -1. Select **View summary**. +1. Create a new issue. +1. Above the **Description** field, select **AI actions > Generate issue description**. +1. Write a short description and select **Submit**. -The comments in the issue are summarized in as many as 10 list items. -The summary is displayed only for you. +The issue description is replaced with AI-generated text. -Provide feedback on this experimental feature in [issue 407779](https://gitlab.com/gitlab-org/gitlab/-/issues/407779). +Provide feedback on this experimental feature in [issue 409844](https://gitlab.com/gitlab-org/gitlab/-/issues/409844). -**Data usage**: When you use this feature, the text of public comments on the issue are sent to the large +**Data usage**: When you use this feature, the text you enter is sent to the large language model referenced above. ## Data Usage @@ -236,7 +219,7 @@ GitLab AI features leverage generative AI to help increase velocity and aim to h ### Progressive enhancement -These features are designed as a progressive enhancement to existing GitLab features across our DevSecOps platform. They are designed to fail gracefully and should not prevent the core functionality of the underlying feature. Please note each feature is subject to its expected functionality as defined by the relevant [feature support policy](../policy/experiment-beta-support.md). +These features are designed as a progressive enhancement to existing GitLab features across our DevSecOps platform. They are designed to fail gracefully and should not prevent the core functionality of the underlying feature. You should note each feature is subject to its expected functionality as defined by the relevant [feature support policy](../policy/experiment-beta-support.md). ### Stability and performance @@ -246,7 +229,7 @@ These features are in a variety of [feature support levels](../policy/experiment ### Data privacy -Some AI features require the use of third-party AI services models and APIs from: Google AI and OpenAI. The processing of any personal data is in accordance with our [Privacy Statement](https://about.gitlab.com/privacy/). You may also visit the [Sub-Processors page](https://about.gitlab.com/privacy/subprocessors/#third-party-sub-processors) to see the list of our Sub-Processors that we use in order to provide these features. +Some AI features require the use of third-party AI services models and APIs from: Google AI and OpenAI. The processing of any personal data is in accordance with our [Privacy Statement](https://about.gitlab.com/privacy/). You may also visit the [Sub-Processors page](https://about.gitlab.com/privacy/subprocessors/#third-party-sub-processors) to see the list of our Sub-Processors that we use to provide these features. Group owners can control which top-level groups have access to third-party AI features by using the [group level third-party AI features setting](group/manage.md#enable-third-party-ai-features). @@ -261,4 +244,4 @@ Generative AI may produce unexpected results that may be: - Insecure code - Offensive or insensitive -GitLab is actively iterating on all our AI-assisted capabilities to improve the quality of the generated content. We will continue improving the quality through prompt engineering, evaluating new AI/ML models to power these features, and through novel heuristics built into these features directly. +GitLab is actively iterating on all our AI-assisted capabilities to improve the quality of the generated content. We improve the quality through prompt engineering, evaluating new AI/ML models to power these features, and through novel heuristics built into these features directly. |