doc-locale/fr-fr/api/chat.md
Cette API REST est utilisée pour générer des réponses pour GitLab Duo Chat :
access_rest_chat.Prérequis :
Génère une réponse à une question GitLab Duo Chat.
{{< history >}}
access_rest_chat. Désactivé par défaut. Cette fonctionnalité est réservée à un usage interne uniquement.additional_context ajouté dans GitLab 17.4 avec un indicateur nommé duo_additional_context. Désactivé par défaut. Cette fonctionnalité est réservée à un usage interne uniquement.additional_context activé sur GitLab.com et GitLab Self-Managed dans GitLab 17.9.additional_context généralement disponible dans GitLab 18.0. L'indicateur de fonctionnalité duo_additional_context a été supprimé.{{< /history >}}
[!flag] La disponibilité de cette fonctionnalité est contrôlée par un feature flag. Pour plus d'informations, consultez l'historique.
POST /chat/completions
[!note] Les requêtes envoyées à ce point de terminaison sont transmises par proxy à la passerelle IA.
Attributs pris en charge :
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
content | string | Oui | Question envoyée au Chat. |
resource_type | string | Non | Type de ressource envoyée avec la question Chat. |
resource_id | string, integer | Non | ID de la ressource. Peut être un ID de ressource (entier) ou un hash de commit (chaîne). |
referer_url | string | Non | URL du référent. |
client_subscription_id | string | Non | ID d'abonnement client. |
with_clean_history | boolean | Non | Indique si l'historique doit être réinitialisé avant et après la requête. |
project_id | integer | Non | ID du projet. Obligatoire si resource_type est un commit. |
additional_context | array | Non | Un tableau d'éléments de contexte supplémentaires pour cette requête de chat. Voir Attributs de contexte pour la liste des paramètres acceptés par cet attribut. |
L'attribut context accepte une liste d'éléments avec les attributs suivants :
category - La catégorie de l'élément de contexte. Les valeurs valides sont file, merge_request, issue ou snippet.id - L'ID de l'élément de contexte.content - Le contenu de l'élément de contexte. La valeur dépend de la catégorie de l'élément de contexte.metadata - Les métadonnées supplémentaires facultatives pour cet élément de contexte. La valeur dépend de la catégorie de l'élément de contexte.Exemple de requête :
curl --request POST \
--header "Authorization: Bearer <YOUR_ACCESS_TOKEN>" \
--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"
Exemple de réponse :
"To define class in ruby..."