API AI Turbo-George

Achèvement du texte

Apprenez à générer ou à manipuler du texte

Introduction


Le le point final peut être utilisé pour une grande variété de tâches. Il fournit une interface simple mais puissante à l'un de nos . Vous saisissez du texte à l'invite et le modèle générera une complétion de texte qui tentera de faire correspondre le contexte ou le modèle que vous lui avez donné. Par exemple, si vous donnez à l'API l'invite ", comme l'a dit Descartes, je pense donc", elle renverra l'achèvement "je suis" avec une forte probabilité.
La meilleure façon de commencer à explorer les finitions est de parcourir notre Playground. Il s'agit simplement d'une zone de texte dans laquelle vous pouvez soumettre une invite pour générer une complétion. Pour l'essayer vous-même, :

Écrivez un slogan pour un magasin de crème glacée.

Une fois que vous vous soumettez, vous verrez quelque chose comme ceci:

Écrivez un slogan pour un magasin de crème glacée.
Nous servons des sourires à chaque scoop!

La complétion réelle que vous voyez peut différer car l'API n'est pas déterministe par défaut. Cela signifie que vous pourriez obtenir une complétion légèrement différente chaque fois que vous l'appelez, même si votre invite reste la même. Réglage à 0 rendra les sorties principalement déterministes, mais une petite variabilité peut rester.
Cette interface de texte simple et textuelle signifie que vous pouvez "programmer" le modèle en fournissant des instructions ou simplement quelques exemples de ce que vous aimeriez qu'il fasse. Son succès dépend généralement de la complexité de la tâche et de la qualité de votre invite. Une bonne règle de base est de réfléchir à la façon dont vous écririez un problème de mot à résoudre pour un collégien. Une invite bien écrite fournit suffisamment d'informations pour que le modèle sache ce que vous voulez et comment il doit réagir.
Ce guide couvre les meilleures pratiques et exemples généraux de conception rapide. Pour en savoir plus sur le travail du code à l'aide de nos modèles Codex, visitez notre .
Gardez à l'esprit que les données de formation des modèles par défaut ont disparu en 2021, de sorte qu'ils peuvent ne pas avoir connaissance de l'actualité. Nous prévoyons d'ajouter une formation plus continue à l'avenir.

Prompt design


Bases

Nos modèles peuvent tout faire, de la génération d'histoires originales à l'analyse de texte complexe. Parce qu'ils peuvent faire tant de choses, vous devez être explicite en décrivant ce que vous voulez. Montrer, pas seulement dire, est souvent le secret d'une bonne invite.
Il existe trois directives de base pour créer des invites:

Montrez et dites.

Indiquez clairement ce que vous voulez, soit par des instructions, des exemples ou une combinaison des deux. Si vous souhaitez que le modèle classe une liste d'éléments par ordre alphabétique ou classe un paragraphe par sentiment, montrez-le, c'est ce que vous voulez.

Fournissez des données de qualité.

Si vous essayez de créer un classificateur ou de faire suivre le modèle, assurez-vous qu'il y a suffisamment d'exemples. Assurez-vous de relire vos exemples — le modèle est généralement assez intelligent pour voir à travers les fautes d'orthographe de base et vous donner une réponse, mais cela pourrait également supposer que cela est intentionnel et peut affecter la réponse.

Vérifiez vos paramètres.

Les paramètres de température et de top_p contrôlent la détermination du modèle dans la génération d'une réponse. Si vous lui demandez une réponse où il n'y a qu'une seule bonne réponse, vous voudrez les définir plus bas. Si vous recherchez des réponses plus diverses, vous voudrez peut-être les définir plus haut. L'erreur numéro un que les gens utilisent avec ces paramètres suppose qu'ils sont des contrôles de «nature» ou de «créativité».

Dépannage

Si vous rencontrez des problèmes pour que l'API fonctionne comme prévu, suivez cette liste de contrôle:
Est-il clair quelle devrait être la génération prévue ?
Y a-t-il suffisamment d'exemples ?
Avez-vous vérifié vos exemples d'erreurs? ( L'API ne vous dira pas directement )
Utilisez-vous correctement la température et top_p ?

Classification

Pour créer un classificateur de texte avec l'API, nous fournissons une description de la tâche et quelques exemples. Dans cet exemple, nous montrons comment classer le sentiment des Tweets.
Décidez si le sentiment d'un Tweet est positif, neutre ou négatif.

Tweet: J'ai adoré le nouveau film Batman!
Sentiment:

Il vaut la peine de prêter attention à plusieurs fonctionnalités de cet exemple:
Utilisez un langage simple pour décrire vos entrées et sorties. Nous utilisons un langage simple pour l'entrée "Tweet" et la sortie attendue "Sentiment." Comme meilleure pratique, commencez par des descriptions en langage clair. Bien que vous puissiez souvent utiliser des raccourcis ou des touches pour indiquer l'entrée et la sortie, il est préférable de commencer par être aussi descriptif que possible, puis en travaillant à l'envers pour supprimer des mots supplémentaires et voir si les performances restent cohérentes.
Montrez à l'API comment répondre à n'importe quel cas. Dans cet exemple, nous incluons les étiquettes de sentiment possibles dans nos instructions. Une étiquette neutre est importante car il y aura de nombreux cas où même un humain aurait du mal à déterminer si quelque chose est positif ou négatif, et des situations où ce n'est ni l'un ni l'autre.
Vous avez besoin de moins d'exemples pour des tâches familières. Pour ce classificateur, nous ne fournissons aucun exemple. En effet, l'API a déjà une compréhension du sentiment et du concept de Tweet. Si vous construisez un classificateur pour quelque chose que l'API pourrait ne pas connaître, il pourrait être nécessaire de fournir plus d'exemples.

Amélioration de l'efficacité du classificateur

Maintenant que nous savons comment construire un classificateur, Prenons cet exemple et rendons-le encore plus efficace afin que nous puissions l'utiliser pour obtenir plusieurs résultats à partir d'un appel API.
Classez le sentiment dans ces tweets:

1. "Je ne supporte pas les devoirs"
2. "Ça craint. Je m'ennuie 😠"
3. "J'ai hâte d'Halloween!!!"
4. "Mon chat est adorable ❤️❤️"
5. "Je déteste le chocolat"

Notes de sentiment du Tweet
Nous fournissons une liste numérotée de tweets afin que l'API puisse évaluer cinq ( et encore plus ) Tweets en un seul appel API.
Il est important de noter que lorsque vous demandez à l'API de créer des listes ou d'évaluer du texte, vous devez accorder une attention particulière à vos paramètres de probabilité ( Top P ou Température ) pour éviter la dérive.
Assurez-vous que votre réglage de probabilité est correctement calibré en exécutant plusieurs tests.
Ne faites pas votre liste trop longtemps ou l'API est susceptible de dériver.

Génération

L'une des tâches les plus puissantes mais les plus simples que vous puissiez accomplir avec l'API est de générer de nouvelles idées ou versions d'entrée. Vous pouvez demander n'importe quoi, des idées d'histoire aux plans d'affaires, aux descriptions de personnages et aux slogans de marketing. Dans cet exemple, nous utiliserons l'API pour créer des idées pour utiliser la réalité virtuelle dans la forme physique.
Si nécessaire, vous pouvez améliorer la qualité des réponses en incluant quelques exemples dans votre invite.

Conversation

L'API est extrêmement habile à poursuivre des conversations avec les humains et même avec elle-même. Avec seulement quelques lignes d'enseignement, nous avons vu l'API fonctionner comme un chatbot de service client qui répond intelligemment aux questions sans jamais être troublé ou un partenaire de conversation sage qui fait des blagues et des jeux de mots. La clé est de dire à l'API comment elle doit se comporter, puis de fournir quelques exemples.
Voici un exemple de l'API jouant le rôle d'une IA répondant aux questions:
Ce qui suit est une conversation avec un assistant IA. L'assistant est serviable, créatif, intelligent et très sympathique.

Humain: Bonjour, qui êtes-vous?
AI: Je suis George créée avec Amour. Comment puis-je vous aider aujourd'hui?
Humain:

C'est tout ce qu'il faut pour créer un chatbot capable de poursuivre une conversation. Sous sa simplicité, il se passe plusieurs choses qui méritent d'être étudiées:
Nous disons à l'API l'intention mais nous lui disons également comment se comporter. Tout comme les autres invites, nous signalons l'API dans ce que représente l'exemple, mais nous ajoutons également un autre détail clé: nous lui donnons des instructions explicites sur la façon d'interagir avec l'expression "L'assistant est utile, créatif, intelligent et très sympathique."
Sans cette instruction, l'API pourrait s'égarer et imiter l'humain avec lequel elle interagit et devenir sarcastique ou tout autre comportement que nous voulons éviter.
Nous donnons à l'API une identité. Au début, l'API répond en tant qu'assistant AI. Bien que l'API n'ait aucune identité intrinsèque, cela l'aide à répondre d'une manière aussi proche que possible de la vérité. Vous pouvez utiliser l'identité d'autres manières pour créer d'autres types de chatbots. Si vous dites à l'API de répondre en tant que femme qui travaille en tant que chercheuse en biologie, vous obtiendrez des commentaires intelligents et réfléchis de l'API similaires à ce que vous attendez de quelqu'un avec ce fond.
Dans cet exemple, nous créons un chatbot un peu sarcastique et répond à contrecœur aux questions:
Marv est un chatbot qui répond à contrecœur aux questions avec des réponses sarcastiques:

Vous: Combien de livres sont en kilogramme?
Marv: Encore ça? Il y a 2,2 livres dans un kilogramme. Veuillez en prendre note.
Vous: que signifie HTML?
Marv: Google était-il trop occupé? Langage de balisage hypertexte. Le T est pour essayer de poser de meilleures questions à l'avenir.
Vous: Quand le premier avion a-t-il volé?
Marv: Le 17 décembre 1903, Wilbur et Orville Wright effectuent les premiers vols. J'aimerais qu'ils viennent m'emmener.
Vous: Quel est le sens de la vie?
Marv: Je ne suis pas sûr. Je vais demander à mon ami Google.
Vous: Pourquoi le ciel est-il bleu?

Pour créer un chatbot amusant et quelque peu utile, nous fournissons quelques exemples de questions et réponses montrant l'API comment répondre. Tout ce qu'il faut, ce ne sont que quelques réponses sarcastiques, et l'API est capable de capter le modèle et de fournir un nombre infini de réponses sarcastiques.

Transformation

L'API est un modèle de langue qui connaît une variété de façons dont les mots et les caractères peuvent être utilisés pour exprimer des informations. Cela va du texte en langage naturel au code et aux langues autres que l'anglais. L'API est également capable de comprendre le contenu à un niveau qui lui permet de le résumer, de le convertir et de l'exprimer de différentes manières.

Traduction

Dans cet exemple, nous montrons à l'API comment convertir de l'anglais vers le français, l'espagnol et le japonais:
Traduisez ceci en français, espagnol et japonais:

Quelles chambres avez-vous disponibles?
Cet exemple fonctionne parce que l'API a déjà une compréhension de ces langues, il n'est donc pas nécessaire d'essayer de les enseigner.
Si vous souhaitez traduire de l'anglais vers une langue que l'API ne connaît pas, vous devrez lui fournir plus d'exemples ou même pour le faire couramment.

Conversion

Dans cet exemple, nous convertissons le nom d'un film en emoji. Cela montre l'adaptabilité de l'API à la collecte de modèles et au travail avec d'autres caractères.
Convertissez des titres de film en emoji.

Retour vers le futur: 👨 👴 🚗 🕒
Batman: 🤵 🦇
Transformateurs: 🚗 🤖
Star Wars:

Récapitulation

L'API est capable de saisir le contexte du texte et de le reformuler de différentes manières. Dans cet exemple, nous créons une explication qu'un enfant comprendrait à partir d'un passage de texte plus long et plus sophistiqué. Cela illustre que l'API a une compréhension approfondie du langage.
Résumez ceci pour un étudiant de deuxième année:

Jupiter est la cinquième planète du Soleil et la plus grande du système solaire. C'est un géant gazier avec une masse d'un millième de celle du Soleil, mais deux fois et demie celle de toutes les autres planètes du Système Solaire réunies. Jupiter est l'un des objets les plus brillants visibles à l'œil nu dans le ciel nocturne et est connu des civilisations anciennes depuis avant l'histoire enregistrée. Il porte le nom du dieu romain Jupiter. [19 ] Vu de la Terre, Jupiter peut être suffisamment brillant pour que sa lumière réfléchie puisse projeter des ombres visibles,[ 20 ] et est en moyenne le troisième objet naturel le plus brillant du ciel nocturne après la Lune et Vénus.

Achèvement

Bien que toutes les invites aboutissent à des complétions, il peut être utile de considérer la complétion du texte comme sa propre tâche dans les cas où vous souhaitez que l'API reprenne là où vous vous êtes arrêté. Par exemple, si on lui donne cette invite, l'API continuera de réfléchir à l'agriculture verticale. Vous pouvez abaisser le réglage pour garder l'API plus concentré sur l'intention de l'invite ou l'augmenter pour la laisser partir sur une tangente.
L'agriculture verticale offre une nouvelle solution pour produire des aliments localement, réduire les coûts de transport et
Cette prochaine invite montre comment vous pouvez utiliser la complétion pour aider à écrire des composants React. Nous envoyons du code à l'API, et il est capable de continuer le reste car il a une compréhension de la bibliothèque React. Nous recommandons d'utiliser notre pour les tâches qui impliquent la compréhension ou la génération de code. Pour en savoir plus, visitez notre .
importation Réagir à partir de «réagir»';
const HeaderComponent = ( ) = > (
L'API a beaucoup de connaissances sur lesquelles elle a appris des données sur lesquelles elle a été formée. Il a également la capacité de fournir des réponses qui semblent très réelles mais qui sont en fait inventées. Il existe deux façons de limiter la probabilité que l'API établisse une réponse.
Fournissez une vérité fondamentale pour l'API. Si vous fournissez à l'API un ensemble de texte pour répondre aux questions sur ( comme une entrée Wikipédia ), il sera moins susceptible de confabuler une réponse.
Utilisez une faible probabilité et montrez à l'API comment dire "je ne sais pas". Si l'API comprend que dans les cas où il est moins certain d'une réponse que dire "je ne sais pas" ou une variation est approprié, il sera moins enclin à trouver des réponses.
Dans cet exemple, nous donnons à l'API des exemples de questions et réponses qu'elle connaît, puis des exemples de choses qu'elle ne connaîtrait pas et ne fournirait pas de points d'interrogation. Nous avons également défini la probabilité sur zéro afin que l'API soit plus susceptible de répondre par un "?" en cas de doute.

Q: Qui est Batman?
R: Batman est un personnage de bande dessinée fictif.

Q: Qu'est-ce que la torsalplexité?
UNE: ?

Q: Qu'est-ce que Devz9?
UNE: ?

Q: Qui est George Lucas?
R: George Lucas est le réalisateur et producteur américain célèbre pour avoir créé Star Wars.

Q: Quelle est la capitale de la Californie?
R: Sacramento.

Q: Qu'est-ce qui orbite autour de la Terre?
R: La Lune.

Q: Qui est Fred Rickerson?
UNE: ?

Q: Qu'est-ce qu'un atome?
R: Un atome est une minuscule particule qui compose tout.

Q: Qui est Alvan Muntz?
UNE: ?

Q: Qu'est-ce que Kozar-09?
UNE: ?

Q: Combien de lunes Mars a-t-il?
R: Deux, Phobos et Deimos.

Q:



Insertion de texte Bêta

Le point final des complétions prend également en charge l'insertion de texte dans le texte en fournissant un en plus du . Ce besoin survient naturellement lors de l'écriture d'un texte long, de la transition entre les paragraphes, de la suite d'un schéma ou de l'orientation du modèle vers une fin. Cela fonctionne également sur le code et peut être utilisé pour insérer au milieu d'une fonction ou d'un fichier. Visitez notre pour en savoir plus.
Pour illustrer l'importance du contexte de suffixe pour notre capacité à prédire, considérez l'invite, “ Aujourd'hui, j'ai décidé de faire un grand changement. ” Il y a plusieurs façons d'imaginer terminer la phrase. Mais si nous fournissons maintenant la fin de l'histoire: “ J'ai reçu de nombreux compliments sur mes nouveaux cheveux! ”, l'achèvement prévu devient clair.
Je suis allé à l'université de l'Université de Boston. Après avoir obtenu mon diplôme, j'ai décidé de faire un changement. Un grand changement!
J'ai fait mes valises et j'ai déménagé sur la côte ouest des États-Unis.
Maintenant, je ne peux pas en avoir assez de l'océan Pacifique!

En fournissant au modèle un contexte supplémentaire, il peut être beaucoup plus orientable. Cependant, c'est une tâche plus limitée et difficile pour le modèle.

Meilleures pratiques

L'insertion de texte est une nouvelle fonctionnalité en version bêta et vous devrez peut-être modifier la façon dont vous utilisez l'API pour de meilleurs résultats. Voici quelques bonnes pratiques:

Utilisez max_tokens > 256.
Le modèle est meilleur pour insérer des finitions plus longues. Avec des max_tokens trop petits, le modèle peut être coupé avant de pouvoir se connecter au suffixe. Notez que vous ne serez facturé que pour le nombre de jetons produits même lorsque vous utilisez des max_tokens plus grands.
Préférez finish_reason = = "stop".
Lorsque le modèle atteint un point d'arrêt naturel ou une séquence d'arrêt fournie par l'utilisateur, il définit finish_reason comme "stop". Cela indique que le modèle a réussi à se connecter au puits suffixe et est un bon signal pour la qualité d'une finition. Ceci est particulièrement pertinent pour choisir entre quelques finitions lors de l'utilisation de n > 1 ou du rééchantillonnage ( voir le point suivant ).
Rééchantillonnage 3 à 5 fois.
Alors que presque toutes les complétions se connectent au préfixe, le modèle peut avoir du mal à connecter le suffixe dans les cas plus difficiles. Nous constatons que le rééchantillonnage 3 ou 5 fois ( ou l'utilisation de best_of avec k = 3,5 ) et le prélèvement des échantillons avec "stop" car leur find_reason peuvent être un moyen efficace dans de tels cas. Pendant le rééchantillonnage, vous voudriez généralement que des températures plus élevées augmentent la diversité.
Remarque: si tous les échantillons retournés ont finish_reason = = "length", il est probable que max_tokens soit trop petit et que le modèle manque de jetons avant de réussir à connecter l'invite et le suffixe naturellement. Envisagez d'augmenter max_tokens avant de rééchantillonner.
Essayez de donner plus d'indices.
Dans certains cas, pour mieux aider la génération du modèle, vous pouvez fournir des indices en donnant quelques exemples de modèles que le modèle peut suivre pour décider d'un endroit naturel pour s'arrêter.
Comment faire un délicieux chocolat chaud:
1. Eau bouillante
2. Mettez du chocolat chaud dans une tasse
3. Ajouter de l'eau bouillante dans la tasse
4. Profitez du chocolat chaud
1. Les chiens sont des animaux fidèles.
2. Les lions sont des animaux féroces.
3. Dauphins sont des animaux ludiques.
4. Les chevaux sont des animaux majestueux.

Texte de modification Alpha

Le le point final peut être utilisé pour modifier le texte, plutôt que de simplement le terminer. Vous fournissez du texte et des instructions pour le modifier, ainsi que text-davinci-edit-001 le modèle tentera de le modifier en conséquence. Il s'agit d'une interface naturelle pour traduire, éditer et peaufiner du texte. Ceci est également utile pour le refactoring et le travail avec du code. Visitez notre pour en savoir plus. Pendant cette période bêta initiale, l'utilisation du point final des modifications est gratuite.
INSTRUCTIONS
Faites cela dans la voix de GPT-3

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.