Librairie OpenAI et Python
Ressources :
- https://holypython.com/python-api-tutorial/listing-all-available-openai-models-openai-api/
- https://platform.openai.com/docs/libraries
ChatGPT : fonctionnement
ChatGPT est un chatbot d'intelligence artificielle développé par OpenAI (image via ChatGPT).
Vous avez probablement entendu parler de ChatGPT à ce stade. Les gens l'utilisent pour faire leurs devoirs, coder des applications Web frontales et rédiger des articles scientifiques. L'utilisation d'un modèle de langage peut sembler magique ; un ordinateur comprend ce que vous voulez et vous donne la bonne réponse. Mais sous le capot, ce ne sont que du code et des données.
Lorsque vous invitez ChatGPT avec une instruction, comme 'Ecris moi un poème sur les chats', il transforme cette invite en jetons. Les jetons sont des fragments de texte, comme write, ou poe. Chaque modèle de langage a un vocabulaire de jetons différent.
Les ordinateurs ne peuvent pas comprendre directement le texte, donc les modèles de langage transforment les jetons en intégrations. Les intégrations sont similaires aux listes Python — elles ressemblent à ceci [1.1,-1.2,2,.1,...]. Les jetons sémantiquement similaires sont transformés en listes de nombres similaires.
ChatGPT est un modèle de langage causal. Cela signifie qu'il prend tous les jetons précédents et essaie de prédire le jeton suivant. Il prédit un jeton à la fois. De cette façon, c'est un peu comme la saisie semi-automatique - il prend tout le texte et essaie de prédire ce qui vient ensuite.
Il effectue la prédiction en prenant la liste d'intégration et en la faisant passer à travers plusieurs couches de transformateur. Les transformateurs sont un type d'architecture de réseau neuronal qui peut trouver des associations entre les éléments d'une séquence. Ils le font en utilisant un mécanisme appelé attention. Par exemple, si vous lisez la question 'QUI EST ALBERT EINSTEIN' ?et que vous voulez trouver la réponse, vous ferez surtout attention aux mots 'QUI' et 'EINSTEIN'.
Les transformateurs sont formés pour identifier les mots de votre invite auxquels prêter attention afin de générer une réponse. La formation peut prendre des milliers de GPU* et plusieurs mois ! Pendant ce temps, les transformateurs reçoivent des gigaoctets de données textuelles afin qu'ils puissent apprendre les associations correctes.
(*un GPU, Graphic Programming Unit, est une 'carte graphique')
Pour faire une prédiction, les transformateurs transforment les plongements d'entrée en plongements de sortie corrects. Vous vous retrouverez donc avec une sortie incorporée comme [1.5, -4, -.1.3, .1,...], que vous pouvez transformer en jeton.
Si ChatGPT ne prédit qu'un jeton à la fois, vous vous demandez peut-être comment il peut proposer des essais entiers. C'est parce que c'est autorégressif. Cela signifie qu'il prédit un jeton, puis le rajoute à l'invite et le réinjecte dans le modèle. Ainsi, le modèle s'exécute en fait une fois pour chaque jeton dans la sortie. C'est pourquoi vous voyez la sortie de ChatGPT mot par mot au lieu de tout à la fois.
ChatGPT cesse de générer la sortie lorsque les couches de transformation génèrent un jeton spécial appelé jeton d'arrêt. À ce stade, vous avez, espérons-le, une bonne réponse à votre invite.
à retenir:
TEXTE >> TOKENS D'ENTREE >> LISTE >> TRAITEMENT >> LISTE >> TOKENS DE SORTIE >> TEXTE
Les paramètres de la requête :
Température :La température est un paramètre des modèles OpenAI ChatGPT, GPT-3 et GPT-4 qui régit le caractère aléatoire et donc la créativité des réponses.
C'est toujours un nombre compris entre 0 et 1.
Une température de 0 signifie que les réponses seront très simples, presque déterministes (ce qui signifie que vous obtenez presque toujours la même réponse à une invite donnée)
Une température de 1 signifie que les réponses peuvent varier énormément.
Comment fonctionne exactement la température ?
Sous le capot, de grands modèles linguistiques tentent de prédire le meilleur mot suivant à partir d'une invite. Un mot a la fois. Il attribue une probabilité à chaque mot de son vocabulaire, puis choisit un mot parmi ceux-ci.
Une température de 0 signifie approximativement que le modèle sélectionnera toujours le mot de probabilité la plus élevée.
Une température plus élevée signifie que le modèle peut sélectionner un mot avec une probabilité légèrement inférieure, ce qui entraîne plus de variation, de caractère aléatoire et de créativité.
Une température très élevée augmente donc le risque "d'hallucination", ce qui signifie que l'IA commence à sélectionner des mots qui n'auront aucun sens ou seront hors sujet.
Étant donné que tous les caractères comptent, le rapport entre les mots et les jetons dépend de la langue.
Règles de base pour le choix de la température
Votre choix de température doit dépendre de la tâche que vous confiez à GPT.
Pour les tâches de transformation (extraction, normalisation, conversion de format, corrections de grammaire) préférez une température de 0 ou jusqu'à 0,3.
Pour les tâches d'écriture, vous devez augmenter la température, plus proche de 0,5. Si vous souhaitez que GPT soit très créatif (pour le marketing ou la publicité par exemple), considérez des valeurs comprises entre 0,7 et 1.
Si vous souhaitez expérimenter et créer rapidement de nombreuses variations, une température élevée est préférable.
1 - Librairie Python
2 - Clef d'Autorisation temporaire:
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
2 - Obtenir la liste des modèles :
https://platform.openai.com/docs/api-reference/completions/create
Corps de la requête
ID du modèle à utiliser. Vous pouvez utiliser l' API List models pour voir tous vos modèles disponibles, ou consulter notre aperçu des modèles pour les décrire.
Les invites pour lesquelles générer des complétions, codées sous forme de chaîne, de tableau de chaînes, de tableau de jetons ou de tableau de tableaux de jetons.
Notez que <|endoftext|> est le séparateur de document que le modèle voit pendant la formation, donc si une invite n'est pas spécifiée, le modèle sera généré comme s'il s'agissait du début d'un nouveau document.
Le suffixe qui vient après l'achèvement du texte inséré.
Le nombre maximum de jetons à générer dans la complétion.
Le nombre de jetons de votre invite plus max_tokens
ne peut pas dépasser la longueur de contexte du modèle. La plupart des modèles ont une longueur de contexte de 2048 jetons (à l'exception des modèles les plus récents, qui prennent en charge 4096).
Quelle température d'échantillonnage utiliser, entre 0 et 2. Des valeurs plus élevées comme 0,8 rendront la sortie plus aléatoire, tandis que des valeurs plus basses comme 0,2 la rendront plus ciblée et déterministe.
Nous recommandons généralement de modifier ceci ou top_p
mais pas les deux.
1 - Exemple de requête :
3 - Lister les différents éléments de la réponse