InfoGrab Docs

GitLab Duo Chat 완성 API

요약

이 API는 GitLab Duo Chat에 대한 응답을 생성하는 데 사용됩니다: GitLab Duo Chat 질문에 대한 응답을 생성합니다. 이 기능의 가용성은 기능 플래그로 제어됩니다. 이 엔드포인트에 대한 요청은 AI Gateway로 프록시됩니다.

이 API는 GitLab Duo Chat에 대한 응답을 생성하는 데 사용됩니다:

  • GitLab.com에서 이 API는 내부 사용 전용입니다.
  • GitLab Self-Managed에서는 access_rest_chat이라는 기능 플래그를 사용하여 이 API를 활성화할 수 있습니다.

전제 조건:

Chat 응답 생성#

GitLab Duo Chat 질문에 대한 응답을 생성합니다.

히스토리
  • GitLab 16.7에서 access_rest_chat이라는 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다. 이 기능은 내부 전용입니다.
  • additional_context 파라미터가 GitLab 17.4에서 duo_additional_context라는 플래그와 함께 추가되었습니다. 기본적으로 비활성화되어 있습니다. 이 기능은 내부 전용입니다.
  • additional_context 파라미터가 GitLab 17.9에서 GitLab.com 및 GitLab Self-Managed에서 활성화되었습니다.
  • additional_context 파라미터가 GitLab 18.0에서 일반 가용되었습니다. 기능 플래그 duo_additional_context가 제거되었습니다.
Feature flag

이 기능의 가용성은 기능 플래그로 제어됩니다. 자세한 내용은 기록을 참조하세요.

POST /chat/completions
Note

이 엔드포인트에 대한 요청은 AI Gateway로 프록시됩니다.

지원되는 속성:

속성 유형 필수 설명
content 문자열 Chat에 보낼 질문.
resource_type 문자열 아니요 Chat 질문과 함께 보내는 리소스 유형.
resource_id 문자열, 정수 아니요 리소스 ID. 리소스 ID(정수) 또는 커밋 해시(문자열)일 수 있습니다.
referer_url 문자열 아니요 참조 URL.
client_subscription_id 문자열 아니요 클라이언트 구독 ID.
with_clean_history 불리언 아니요 요청 전후에 기록을 초기화해야 하는지 여부를 나타냅니다.
project_id 정수 아니요 프로젝트 ID. resource_type이 커밋인 경우 필수입니다.
additional_context 배열 아니요 이 Chat 요청을 위한 추가 컨텍스트 항목 배열. 이 속성이 허용하는 파라미터 목록은 컨텍스트 속성을 참조하세요.

컨텍스트 속성#

context 속성은 다음 속성을 가진 요소 목록을 허용합니다:

  • category - 컨텍스트 요소의 카테고리. 유효한 값은 file, merge_request, issue 또는 snippet입니다.
  • id - 컨텍스트 요소의 ID.
  • content - 컨텍스트 요소의 내용. 값은 컨텍스트 요소의 카테고리에 따라 다릅니다.
  • metadata - 이 컨텍스트 요소에 대한 선택적 추가 메타데이터. 값은 컨텍스트 요소의 카테고리에 따라 다릅니다.

요청 예시:

curl --request POST \
  --header "Authorization: Bearer " \
  --header "Content-Type: application/json" \
  --data '{
      "content": "how to define class in ruby",
      "additional_context": [
        {
          "category": "file",
          "id": "main.rb",
          "content": "class Foo\nend"
        }
      ]
    }' \
  --url "https://gitlab.example.com/api/v4/chat/completions"

응답 예시:

"To define class in ruby..."

GitLab Duo Chat 완성 API

원문 보기
요약

이 API는 GitLab Duo Chat에 대한 응답을 생성하는 데 사용됩니다: GitLab Duo Chat 질문에 대한 응답을 생성합니다. 이 기능의 가용성은 기능 플래그로 제어됩니다. 이 엔드포인트에 대한 요청은 AI Gateway로 프록시됩니다.

이 API는 GitLab Duo Chat에 대한 응답을 생성하는 데 사용됩니다:

  • GitLab.com에서 이 API는 내부 사용 전용입니다.
  • GitLab Self-Managed에서는 access_rest_chat이라는 기능 플래그를 사용하여 이 API를 활성화할 수 있습니다.

전제 조건:

Chat 응답 생성#

GitLab Duo Chat 질문에 대한 응답을 생성합니다.

히스토리
  • GitLab 16.7에서 access_rest_chat이라는 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다. 이 기능은 내부 전용입니다.
  • additional_context 파라미터가 GitLab 17.4에서 duo_additional_context라는 플래그와 함께 추가되었습니다. 기본적으로 비활성화되어 있습니다. 이 기능은 내부 전용입니다.
  • additional_context 파라미터가 GitLab 17.9에서 GitLab.com 및 GitLab Self-Managed에서 활성화되었습니다.
  • additional_context 파라미터가 GitLab 18.0에서 일반 가용되었습니다. 기능 플래그 duo_additional_context가 제거되었습니다.
Feature flag

이 기능의 가용성은 기능 플래그로 제어됩니다. 자세한 내용은 기록을 참조하세요.

POST /chat/completions
Note

이 엔드포인트에 대한 요청은 AI Gateway로 프록시됩니다.

지원되는 속성:

속성 유형 필수 설명
content 문자열 Chat에 보낼 질문.
resource_type 문자열 아니요 Chat 질문과 함께 보내는 리소스 유형.
resource_id 문자열, 정수 아니요 리소스 ID. 리소스 ID(정수) 또는 커밋 해시(문자열)일 수 있습니다.
referer_url 문자열 아니요 참조 URL.
client_subscription_id 문자열 아니요 클라이언트 구독 ID.
with_clean_history 불리언 아니요 요청 전후에 기록을 초기화해야 하는지 여부를 나타냅니다.
project_id 정수 아니요 프로젝트 ID. resource_type이 커밋인 경우 필수입니다.
additional_context 배열 아니요 이 Chat 요청을 위한 추가 컨텍스트 항목 배열. 이 속성이 허용하는 파라미터 목록은 컨텍스트 속성을 참조하세요.

컨텍스트 속성#

context 속성은 다음 속성을 가진 요소 목록을 허용합니다:

  • category - 컨텍스트 요소의 카테고리. 유효한 값은 file, merge_request, issue 또는 snippet입니다.
  • id - 컨텍스트 요소의 ID.
  • content - 컨텍스트 요소의 내용. 값은 컨텍스트 요소의 카테고리에 따라 다릅니다.
  • metadata - 이 컨텍스트 요소에 대한 선택적 추가 메타데이터. 값은 컨텍스트 요소의 카테고리에 따라 다릅니다.

요청 예시:

curl --request POST \
  --header "Authorization: Bearer " \
  --header "Content-Type: application/json" \
  --data '{
      "content": "how to define class in ruby",
      "additional_context": [
        {
          "category": "file",
          "id": "main.rb",
          "content": "class Foo\nend"
        }
      ]
    }' \
  --url "https://gitlab.example.com/api/v4/chat/completions"

응답 예시:

"To define class in ruby..."