コード提案API

Code Suggestions APIを使用して、コードサジェスト機能にアクセスします。

アクセストークンの作成

GitLab 16.1 で導入されました

Code Suggestions にアクセスするためのアクセストークンを作成します。

POST /code_suggestions/tokens
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/code_suggestions/tokens"

応答例

{
    "access_token": "secret-access-token",
    "expires_in": 3600,
    "created_at": 1687865199
}

コード補完の生成

  • GitLab 16.2 でcode_suggestions_completion_apiというフラグで導入されました。デフォルトでは無効です。この機能はExperimentです。
  • このエンドポイントを呼び出す前にJWTを生成する要件は、GitLab 16.3で削除されました。

フラグ: セルフマネジメントのGitLabでは、デフォルトでこの機能は利用できません。GitLab.comでは、この機能は利用できません。この機能は本番環境では使用できません。

コード補完を生成するにはAI抽象化レイヤーを使用してください。

POST /code_suggestions/completions

このエンドポイントへのリクエストはモデルゲートウェイに直接プロキシされます。このエンドポイントのドキュメントは現在、名前付きパラメータのSSoTです。

curl --header "Authorization: Bearer <YOUR_ACCESS_TOKEN>" --data "<JSON_BODY>" https://gitlab.example.com/api/v4/code_suggestions/completions

ボディの例です:

モデルゲートウェイはパラメータのSSoTです。

応答例

{
  "id": "id",
  "model": {
    "engine": "vertex-ai",
    "name": "code-gecko"
  },
  "object": "text_completion",
  "created": 1688557841,
  "choices": [
    {
      "text": "\n        if self.is_running:\n            self.speed += increment\n            print(\"The car's speed is now",
      "index": 0,
      "finish_reason": "length"
    }
  ]
}