Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
17165bd2bf
commit
82b8cbbd18
|
|
@ -38,6 +38,12 @@
|
|||
/scripts/lint-doc.sh @gitlab-org/technical-writing/tw-docops @gitlab-org/tw-leadership
|
||||
/scripts/lint-docs-redirects.rb @gitlab-org/technical-writing/tw-docops @gitlab-org/tw-leadership
|
||||
|
||||
## Localization files that do not need `*` rule approval,
|
||||
## but still require an approval from a Localization team DRI for each file.
|
||||
/doc-locale/ @gitlab-com/localization/maintainers
|
||||
/doc/development/i18n/proofreader.md @gitlab-com/localization/maintainers
|
||||
/argo_translation.yml @gitlab-com/localization/maintainers
|
||||
|
||||
config/bounded_contexts.yml @fabiopitino @grzesiek @stanhu @cwoolley-gitlab @tkuah
|
||||
|
||||
^[Source code editing]
|
||||
|
|
|
|||
|
|
@ -707,39 +707,39 @@ export default {
|
|||
</template>
|
||||
</gl-disclosure-dropdown-item>
|
||||
|
||||
<gl-dropdown-divider />
|
||||
|
||||
<gl-disclosure-dropdown-item
|
||||
v-if="!isAuthor"
|
||||
data-testid="report-abuse-action"
|
||||
@action="handleToggleReportAbuseModal"
|
||||
>
|
||||
<template #list-item>
|
||||
<gl-icon name="abuse" class="gl-mr-2" variant="subtle" />
|
||||
{{ $options.i18n.reportAbuse }}
|
||||
</template>
|
||||
</gl-disclosure-dropdown-item>
|
||||
|
||||
<gl-disclosure-dropdown-item
|
||||
v-if="glFeatures.workItemsBeta && canReportSpam"
|
||||
:item="submitAsSpamItem"
|
||||
data-testid="submit-as-spam-item"
|
||||
/>
|
||||
|
||||
<template v-if="canDelete">
|
||||
<gl-disclosure-dropdown-group bordered>
|
||||
<gl-disclosure-dropdown-item
|
||||
data-testid="delete-action"
|
||||
variant="danger"
|
||||
@action="handleDelete"
|
||||
v-if="!isAuthor"
|
||||
data-testid="report-abuse-action"
|
||||
@action="handleToggleReportAbuseModal"
|
||||
>
|
||||
<template #list-item>
|
||||
<span>
|
||||
<gl-icon name="remove" class="gl-mr-2" variant="current" />
|
||||
{{ i18n.deleteWorkItem }}
|
||||
</span>
|
||||
<gl-icon name="abuse" class="gl-mr-2" variant="subtle" />
|
||||
{{ $options.i18n.reportAbuse }}
|
||||
</template>
|
||||
</gl-disclosure-dropdown-item>
|
||||
</template>
|
||||
|
||||
<gl-disclosure-dropdown-item
|
||||
v-if="glFeatures.workItemsBeta && canReportSpam"
|
||||
:item="submitAsSpamItem"
|
||||
data-testid="submit-as-spam-item"
|
||||
/>
|
||||
|
||||
<template v-if="canDelete">
|
||||
<gl-disclosure-dropdown-item
|
||||
data-testid="delete-action"
|
||||
variant="danger"
|
||||
@action="handleDelete"
|
||||
>
|
||||
<template #list-item>
|
||||
<span>
|
||||
<gl-icon name="remove" class="gl-mr-2" variant="current" />
|
||||
{{ i18n.deleteWorkItem }}
|
||||
</span>
|
||||
</template>
|
||||
</gl-disclosure-dropdown-item>
|
||||
</template>
|
||||
</gl-disclosure-dropdown-group>
|
||||
|
||||
<gl-disclosure-dropdown-group bordered>
|
||||
<template #group-label>
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ module CustomerRelations
|
|||
|
||||
def execute_sql(sql, args)
|
||||
sanitized_sql = ApplicationRecord.sanitize_sql([sql, args])
|
||||
ApplicationRecord.connection.execute(sanitized_sql, args)
|
||||
ApplicationRecord.connection.execute(sanitized_sql)
|
||||
end
|
||||
|
||||
def copy_organizations
|
||||
|
|
|
|||
|
|
@ -44661,6 +44661,13 @@ definitions:
|
|||
model_prompt_cache_enabled:
|
||||
type: boolean
|
||||
description: Enable model prompt cache for this group
|
||||
ai_settings_attributes:
|
||||
type: object
|
||||
description: AI-related settings
|
||||
properties:
|
||||
duo_workflow_mcp_enabled:
|
||||
type: boolean
|
||||
description: Enable MCP support for Duo Workflow
|
||||
required:
|
||||
- name
|
||||
- path
|
||||
|
|
@ -44851,6 +44858,13 @@ definitions:
|
|||
model_prompt_cache_enabled:
|
||||
type: boolean
|
||||
description: Enable model prompt cache for this group
|
||||
ai_settings_attributes:
|
||||
type: object
|
||||
description: AI-related settings
|
||||
properties:
|
||||
duo_workflow_mcp_enabled:
|
||||
type: boolean
|
||||
description: Enable MCP support for Duo Workflow
|
||||
prevent_sharing_groups_outside_hierarchy:
|
||||
type: boolean
|
||||
description: Prevent sharing groups within this namespace with any groups
|
||||
|
|
|
|||
|
|
@ -210,16 +210,6 @@ In the context of multi-agent workflows, a tool is a utility or application that
|
|||
|
||||
## AI Context Terminology
|
||||
|
||||
### Knowledge Graph
|
||||
|
||||
The [Knowledge Graph](https://gitlab.com/gitlab-org/rust/knowledge-graph) project aims to create a structured, queryable graph database from code repositories to power AI features and enhance developer productivity within GitLab.
|
||||
|
||||
Think of it like creating a detailed blueprint that shows which functions call other functions, how classes relate to each other, and where variables are used throughout the codebase. Instead of GitLab Duo having to read through thousands of files every time you ask it something, it can quickly navigate this pre-built map to give you better code suggestions, find related code snippets, or help debug issues. It gives Duo a much smarter way to understand your codebase so it can assist you more effectively with things like code reviews, refactoring, or finding where to make changes when you're working on a feature.
|
||||
|
||||
### One Parser (GitLab Code Parser)
|
||||
|
||||
The [GitLab Code Parser](https://gitlab.com/gitlab-org/code-creation/gitlab-code-parser#) establishes a single, efficient, and reliable static code analysis library. This library will serve as the foundation for diverse code intelligence features across GitLab, from server-side indexing (Knowledge Graph, Embeddings) to client-side analysis (Language Server, Web IDE). Initially scoped to AI and Editor Features.
|
||||
|
||||
### Advanced Context Resolver
|
||||
|
||||
Advanced context is a comprehensive set of code-related information extending
|
||||
|
|
@ -231,20 +221,6 @@ By providing advanced context, the resolver providers the LLM with a more
|
|||
holistic understanding of the project structure, enabling more accurate and
|
||||
context-aware code suggestions and generation.
|
||||
|
||||
### AI Context Policies
|
||||
|
||||
A user-defined and user-managed mechanism allowing precise control over the
|
||||
content that can be sent to LLMs as contextual information.
|
||||
GitLab has an [architecture document](https://handbook.gitlab.com/handbook/engineering/architecture/design-documents/ai_context_management/)
|
||||
that proposes a format for AI Context Policies.
|
||||
|
||||
### Supplementary User Context
|
||||
|
||||
Information, such as open tabs in their IDE, files, and folders,
|
||||
that the user provides from their local environment to extend the default AI
|
||||
Context. This is sometimes called "pinned context" internally. GitLab Duo Chat users
|
||||
can provide supplementary user context with the `/include` command (IDE only).
|
||||
|
||||
### AI Context Abstraction Layer
|
||||
|
||||
A [Ruby gem](https://gitlab.com/gitlab-org/gitlab/-/tree/master/gems/gitlab-active-context) that provides a unified interface for Retrieval Augmented Generation (RAG) across multiple vector databases within GitLab. The system abstracts away the differences between Elasticsearch, OpenSearch, and PostgreSQL with pgvector, enabling AI features to work regardless of the underlying storage solution.
|
||||
|
|
@ -253,6 +229,36 @@ Key components include collections that define data schemas and reference classe
|
|||
|
||||
This [architecture](https://handbook.gitlab.com/handbook/engineering/architecture/design-documents/ai_context_abstraction_layer/) prevents vendor lock-in and enables GitLab customers without Elasticsearch to access RAG-powered features through pgvector.
|
||||
|
||||
### AI Context Policies
|
||||
|
||||
A user-defined and user-managed mechanism allowing precise control over the
|
||||
content that can be sent to LLMs as contextual information.
|
||||
GitLab has an [architecture document](https://handbook.gitlab.com/handbook/engineering/architecture/design-documents/ai_context_management/)
|
||||
that proposes a format for AI Context Policies.
|
||||
|
||||
### Codebase as Chat Context
|
||||
|
||||
This refers to a repository that the user explicitly provides using the `/include` command. The user may narrow the scope by choosing a directory within a repository.
|
||||
This feature allows the user to ask questions about an entire repository, or a subset of that repository by selecting specific directories.
|
||||
|
||||
This is automatically enhanced by performing a semantic search of the user's question over the [Code Embeddings](#code-embeddings) of the included repository,
|
||||
with the search results then added to the context sent to the LLM. This gives the LLM information about the included repository or directory that is specifically
|
||||
targeted to the user's question, allowing the LLM to generate a more helpful response.
|
||||
|
||||
This [architecture document](https://handbook.gitlab.com/handbook/engineering/architecture/design-documents/codebase_as_chat_context/) proposes
|
||||
Codebase as Chat Context enhanced by semantic search over Code Embeddings.
|
||||
|
||||
In the future, the repository or directory context may also be enhanced by a [Knowledge Graph](#knowledge-graph) search.
|
||||
|
||||
### Code Embeddings
|
||||
|
||||
The [Code Embeddings initiative](https://handbook.gitlab.com/handbook/engineering/architecture/design-documents/codebase_as_chat_context/code_embeddings/)
|
||||
aims to build vector embeddings representation of files in a repository. The file contents are chunked into logical segments, then embeddings are generated
|
||||
for the chunked content and stored in a vector store.
|
||||
|
||||
With Code Embeddings, we can perform a semantic search over a given repository, with the search results then used as additional context for an LLM.
|
||||
(See [Codebase as Chat Context](#codebase-as-chat-context) for how Code Embeddings will be used in Duo Chat.)
|
||||
|
||||
### GitLab Zoekt
|
||||
|
||||
A scalable exact code search service and file-based database system, with flexible architecture supporting various AI context use cases beyond traditional search. It's built on top of open-source code search engine Zoekt.
|
||||
|
|
@ -262,3 +268,20 @@ The system consists of a unified `gitlab-zoekt` binary that can operate in both
|
|||
The system is designed to handle enterprise-scale deployments, with GitLab.com successfully operating over 48 TiB of indexed data.
|
||||
|
||||
Most likely, this distributed database system will be used to power [Knowledge Graph](#knowledge-graph). Also, we might leverage Exact Code Search to provide additional context and/or tools for GitLab Duo.
|
||||
|
||||
### Knowledge Graph
|
||||
|
||||
The [Knowledge Graph](https://gitlab.com/gitlab-org/rust/knowledge-graph) project aims to create a structured, queryable graph database from code repositories to power AI features and enhance developer productivity within GitLab.
|
||||
|
||||
Think of it like creating a detailed blueprint that shows which functions call other functions, how classes relate to each other, and where variables are used throughout the codebase. Instead of GitLab Duo having to read through thousands of files every time you ask it something, it can quickly navigate this pre-built map to give you better code suggestions, find related code snippets, or help debug issues. It gives Duo a much smarter way to understand your codebase so it can assist you more effectively with things like code reviews, refactoring, or finding where to make changes when you're working on a feature.
|
||||
|
||||
### One Parser (GitLab Code Parser)
|
||||
|
||||
The [GitLab Code Parser](https://gitlab.com/gitlab-org/code-creation/gitlab-code-parser#) establishes a single, efficient, and reliable static code analysis library. This library will serve as the foundation for diverse code intelligence features across GitLab, from server-side indexing (Knowledge Graph, Embeddings) to client-side analysis (Language Server, Web IDE). Initially scoped to AI and Editor Features.
|
||||
|
||||
### Supplementary User Context
|
||||
|
||||
Information, such as open tabs in their IDE, files, and folders,
|
||||
that the user provides from their local environment to extend the default AI
|
||||
Context. This is sometimes called "pinned context" internally. GitLab Duo Chat users
|
||||
can provide supplementary user context with the `/include` command (IDE only).
|
||||
|
|
|
|||
|
|
@ -136,3 +136,4 @@ including the major methods:
|
|||
- [Update multiple database objects](setting_multiple_values.md)
|
||||
- [Batch iteration in a tree hierarchy proof of concept](poc_tree_iterator.md)
|
||||
- [Scalability Patterns](scalability/patterns/_index.md)
|
||||
- [Group hierarchy query optimization](group_hierarchy_optimization.md)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
stage: AI-powered
|
||||
group: AI Model Validation
|
||||
group: AI Framework
|
||||
info: This page is maintained by Developer Relations, author @dnsmichi, see https://handbook.gitlab.com/handbook/marketing/developer-relations/developer-advocacy/content/#maintained-documentation
|
||||
description: AI-native features and functionality.
|
||||
title: GitLab Duo use cases
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
stage: Package
|
||||
group: Container Registry
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
description: Learn how to authenticate with the container registry using your GitLab login credentials, a token, or CI/CD variables such as a CI job token.
|
||||
title: Authenticate with the container registry
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -69975,6 +69975,9 @@ msgstr ""
|
|||
msgid "WorkItem|Edit custom field %{fieldName}"
|
||||
msgstr ""
|
||||
|
||||
msgid "WorkItem|Edit statuses"
|
||||
msgstr ""
|
||||
|
||||
msgid "WorkItem|Edit work item"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -70008,6 +70011,9 @@ msgstr ""
|
|||
msgid "WorkItem|Failed to load custom fields."
|
||||
msgstr ""
|
||||
|
||||
msgid "WorkItem|Failed to load statuses."
|
||||
msgstr ""
|
||||
|
||||
msgid "WorkItem|Failed to unarchive custom field %{fieldName}."
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -70418,6 +70424,12 @@ msgstr ""
|
|||
msgid "WorkItem|Start"
|
||||
msgstr ""
|
||||
|
||||
msgid "WorkItem|Statuses"
|
||||
msgstr ""
|
||||
|
||||
msgid "WorkItem|Statuses are used to manage workflow of planning items, helping you and your team understand how far an item has progressed."
|
||||
msgstr ""
|
||||
|
||||
msgid "WorkItem|Task"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
|||
|
|
@ -275,7 +275,7 @@ describe('WorkItemActions component', () => {
|
|||
text: 'Copy issue email address',
|
||||
},
|
||||
{
|
||||
divider: true,
|
||||
group: true,
|
||||
},
|
||||
{
|
||||
testId: 'report-abuse-action',
|
||||
|
|
|
|||
Loading…
Reference in New Issue