GitLab Duo Chat Completions API
GitLab Duo Chat Completions API는 Chat 응답을 생성합니다. 이 API는 내부 사용 전용입니다.
Chat 응답 생성
- GitLab 16.7에서
access_rest_chat
이라는 플래그와 함께 소개됨. 기본적으로 비활성화되어 있습니다. 이 기능은 내부 전용입니다.- GitLab 17.4에서
duo_additional_context
라는 플래그와 함께 추가 컨텍스트 매개변수 추가. 기본적으로 비활성화되어 있습니다. 이 기능은 내부 전용입니다.
POST /chat/completions
이 끝점을 호출하는 요청은
AI Gateway로 프록시됩니다.
지원하는 속성:
Attribute | Type | Required | Description |
---|---|---|---|
content |
string | Yes | Chat에 전송되는 질문입니다. |
resource_type |
string | No | Chat 질문과 함께 전송되는 리소스의 유형입니다. |
resource_id |
string, integer | No | 리소스의 ID입니다. 리소스 ID(정수) 또는 커밋 해시(문자열)가 될 수 있습니다. |
referer_url |
string | No | 참조 URL입니다. |
client_subscription_id |
string | No | 클라이언트 구독 ID입니다. |
with_clean_history |
boolean | No | 요청 전후에 기록을 리셋해야 하는지 여부입니다. |
project_id |
integer | No | 프로젝트 ID입니다. resource_type 가 커밋인 경우 필수입니다. |
additional_context |
hash | No | 이 chat 요청에 대한 추가 컨텍스트입니다. 이 속성이 수용하는 매개변수 목록은 컨텍스트 속성를 참조하세요. |
컨텍스트 속성
context
속성은 다음 속성이 있는 요소 목록을 수용합니다:
-
category
- 컨텍스트 요소의 카테고리입니다. 유효한 값은file
,merge_request
,issue
또는snippet
입니다. -
id
- 컨텍스트 요소의 ID입니다. -
content
- 컨텍스트 요소의 내용입니다. 그 값은 컨텍스트 요소의 카테고리에 따라 달라집니다. -
metadata
- 이 컨텍스트 요소에 대한 선택적 추가 메타데이터입니다. 그 값은 컨텍스트 요소의 카테고리에 따라 달라집니다.
예제 요청:
curl --request POST \
--header "Authorization: Bearer <YOUR_ACCESS_TOKEN>" \
--header "Content-Type: application/json" \
--data '{
"content": "how to define class in ruby"
}' \
--url "https://gitlab.example.com/api/v4/chat/completions"
예제 응답:
"To define class in ruby..."