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.
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}"
Lire aussi : Tendance MLOps sur l'API OpenAI
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).
Lire aussi : GPT-4o : où, quand et pour qui ?
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.
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.
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
Sur le même thème
Voir tous les articles Data & IA