OpenAI ouvre l’accès API à ChatGPT : petit aide-mémoire

L’API OpenAI donne désormais accès au modèle sous-jacent de ChatGPT. Dans quelles conditions ?

Il y a du nouveau sur l’API OpenAI. Elle permet désormais d’exploiter ChatGPT… ou plus précisément le modèle sur lequel se fonde le chatbot. Voici quelques éléments d’information.

À quel(s) modèle(s) peut-on accéder ?

À la famille dite « Turbo ». Elle comprend pour le moment un modèle GPT-3.5. Entraîné sur des données allant jusqu’à septembre 2021, il est disponible sous deux formes. D’un côté, la version « stable ». De l’autre, un snapshot qui sera pris en charge pendant trois mois.

modèles Turbo
La version stable recevra des mises à jour régulières, à l’instar de ChatGPT. La prochaine doit intervenir en avril.

Comment y accéder et pour quoi faire ?

Il faut utiliser le point de terminaison /chat/completions. Un chemin d’accès qui rappelle que GPT-3.5 Turbo, quoique optimisé pour le format chat, fonctionne aussi pour de la simple complétion de texte.

En la matière, il est, affirme OpenAI, aussi puissant que la référence Davinci (text-davinci-003). Mais dix fois moins cher : 0,002 $ par lot de 1000 tokens (données d’entrée + données de sortie).

GPT-3.5 Turbo n’utilise toutefois pas le même format de requête que Davinci. Pour qui a déjà utilisé ce dernier, il y a donc un petit travail de réécriture.

L’entrée principale est le paramètre « messages ». Chacun des objets qu’on y intègre est associé à un rôle : « système », « utilisateur » ou « assistant ». Le rôle « système » aide à définir le comportement du modèle. Le rôle « assistant » permet de rappeler de précédentes réponses (la « mémoire » du modèle étant limitée à 4096 tokens) et éventuellement de donner des exemples de comportement souhaité.

Ci-dessous, une requête adressable à Davinci.

Translate the following English text to French: “{text}”

Son équivalent à destination de GPT-3.5 Turbo pourrait ressembler à ce qui suit.

[
{“role”: “system”, “content”: “You are a helpful assistant that translates English to French.”},
{“role”: “user”, “content”: ‘Translate the following English text to French: “{text}”’}
]

Qu’est-ce que ChatML ?

Sous le capot, GPT-3.5 Turbo utilise son propre format structuré : Chat Markup Language (ChatML). Chaque séquence de messages y a son en-tête, destiné à fournir des métadonnées (pour le moment, uniquement l’identité du locuteur).

L’API dispense d’utiliser ChatML, mais OpenAI songe à y donner accès. Il l’a déjà ouvert à l’expérimentation dans son bac à sable.

[
{"token": "<|im_start|>"},
"system\nYou are ChatGPT, a large language model trained by OpenAI. Answer as concisely as possible.\nKnowledge cutoff: 2021-09-01\nCurrent date: 2023-03-01",
{"token": "<|im_end|>"}, "\n", {"token": "<|im_start|>"},
"user\nHow are you",
{"token": "<|im_end|>"}, "\n", {"token": "<|im_start|>"},
"assistant\nI am doing well!",
{"token": "<|im_end|>"}, "\n", {"token": "<|im_start|>"},
"user\nHow are you now?",
{"token": "<|im_end|>"}, "\n"
]

Tout comme avec l’API, on peut exploiter ChatML sur d’autres formats que la discussion.

[
{"token": "<|im_start|>"},
"user\nList off some good ideas:",
{"token": "<|im_end|>"}, "\n", {"token": "<|im_start|>"},
"assistant"
]

 

Quelles sont les conditions d’utilisation ?

Quelques clauses ont évolué avec l’ouverture de l’« API ChatGPT ». En tête de liste, l’exploitation des données des utilisateurs à des fins d’amélioration du service. Depuis le 1er mars, OpenAI n’y recourt que si on l’y autorise explicitement (opt-in).

Par défaut, les données effectivement envoyées seront conservées pendant 30 jours, à des fins de détection des abus. OpenAI affirme que les entreprises qui sont sur des cas d’usage peu susceptibles de produire de tels abus pourront demander une exemption.

À souligner également les clarifications quant à la propriété des données : l’utilisateur possède aussi bien celles envoyées au modèle que celles reçues.

conditions
Précision : en l’état, on ne peut pas entraîner GPT-3.5 Turbo avec ses propres données.

Peut-on bénéficier de ressources de calcul dédiées ?

Cette option, dont on a eu vent fin février, est effectivement disponible… sur demande à OpenAI. Lequel fournit peu de détails à son propos, sinon qu’elle « peut faire sens économiquement à partir d’environ 450 millions de tokens par jour ».

Les informations qui ont filtré concernant cette offre laissent entrevoir la possibilité d’accéder, en plus de GPT-3.5 Turbo, à des versions « boostées » de Davinci. Dont une disposant d’un historique de 32 000 tokens.

Le contrôle des versions est par ailleurs activé. Un SLA à retenir : 99,5 % de disponibilité pour toutes les instances, avec un support technique par téléphone.

tarifs OpenAI Foundry GPT-3.5 Turbo

Qu’est-ce que Whisper ?

L’autre modèle qu’OpenAI vient d’intégrer à son API publique. Il est disponible sur les endpoints /transcriptions (reconnaissance vocale) et /translations (traduction en anglais). On l’alimente avec des fichiers audio ou vidéo (m4a, mp3, mp4, mpeg, mpga, wav, webm) de 25 Mo maximum.

Pour le moment, on peut accéder à une version de Whisper : la plus puissante (large-v2). C’est celle qu’OpenAI a mise en open source en septembre dernier.

Whisper a été entraîné sur une centaine de langues. Mais il ne fonctionne officiellement que sur une soixantaine d’entre elles (OpenAI a éliminé celles pour lesquelles le taux d’erreurs est supérieur à 50 %).

Un prix à retenir : 0,006 $ par minute d’audio. On peut guider le modèle en ajoutant des consignes textuelles : éléments de compréhension de termes problématiques (le peintre Dalí vs le modèle DALL-E, par exemple), rappel de la transcription d’un segment précédent, notions d’orthotypographie…

Illustration principale générée par IA