gitlab-ce/doc/api/chat.md

2.4 KiB

stage group info description
AI-Powered Duo Chat 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 Documentation for the REST API for Duo Chat.

GitLab Duo Chat Completions API

The GitLab Duo Chat Completions API generates Chat responses. This API is for internal use only.

Generate Chat responses

  • Introduced in GitLab 16.7 with a flag named access_rest_chat. Disabled by default. This feature is internal-only.
POST /chat/completions

NOTE: Requests to this endpoint are proxied to the AI Gateway.

Supported attributes:

Attribute Type Required Description
content string Yes Question sent to Chat.
resource_type string No Type of resource that is sent with Chat question.
resource_id string, integer No ID of the resource. Can be a resource ID (integer) or a commit hash (string).
referer_url string No Referer URL.
client_subscription_id string No Client Subscription ID.
with_clean_history boolean No Indicates if we need to reset the history before and after the request.
project_id integer No Project ID. Required if resource_type is a commit.

Example request:

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"

Example response:

"To define class in ruby..."