Vue d'ensemble d'Azure OpenAI et de la saisie semi-automatique de texte
Azure OpenAI Service fournit un accès API REST aux puissants modèles de langage d'OpenAI, y compris les séries de modèles GPT-3.5 et GPT-4. Ces modèles peuvent être facilement adaptés à des tâches spécifiques, comme la génération de contenu, la synthèse, la recherche sémantique, le langage naturel et la traduction de code, entre autres.
Outre l'accès à l'API REST, il existe un kit (SDK) .NET pour accéder au service Azure OpenAI. C'est précisément ce que nous allons utiliser pour créer notre application. Mais avant de créer l'application, nous allons en apprendre un peu plus sur ce qu'est Azure OpenAI et ce que sont les saisies semi-automatiques de texte. Sachant que cela nous donne les bases dont nous avons besoin pour créer des applications étonnantes avec l'IA.
Vue d'ensemble d'Azure OpenAI
Azure OpenAI Service offre aux clients une IA de langage avancée avec les modèles OpenAI GPT-3.5, GPT-4, Codex et DALL-E avec la promesse de sécurité et d'entreprise d'Azure. Azure OpenAI codéveloppe les API avec OpenAI, ce qui garantit la compatibilité et une transition en douceur de l'une à l'autre.
Avec Azure OpenAI, les clients bénéficient des fonctionnalités de sécurité de Microsoft Azure tout en exécutant les mêmes modèles qu’OpenAI. Azure OpenAI offre une mise en réseau privée, une disponibilité régionale, un filtrage de contenu d'IA responsable et la possibilité d'étendre le modèle avec vos propres données.
Le point de terminaison de saisie semi-automatique est le composant principal du service API. Cette API fournit l’accès à l’interface d’entrée et de sortie de texte du modèle. Les utilisateurs doivent simplement fournir une invite d'entrée contenant la commande de texte en anglais, et le modèle génère une saisie semi-automatique.
Saisies semi-automatiques de texte
Dans cette unité, nous allons découvrir les saisies semi-automatiques de texte. Le point de terminaison des saisies semi-automatiques peut être utilisé pour une grande variété de tâches. Elle fournit une interface d'entrée et sortie de texte simple, mais puissante pour l'un de nos modèles Azure OpenAI. Vous entrez du texte sous forme d'invite, et le modèle génère une saisie semi-automatique de texte qui tente de trouver une correspondance au contexte ou au modèle que vous lui avez donné. Par exemple, si vous donnez à l'API l'invite, « Comme Descartes l'a dit, je pense, donc », elle renvoie la saisie semi-automatique « je suis » avec une probabilité élevée.
Les résultats de la saisie semi-automatique effectivement affichés peuvent différer, car l'IA est stochastique par défaut. En d’autres termes, vous pouvez obtenir une complétion légèrement différente chaque fois que vous l’appelez, même si votre invite reste identique.
Cette interface simple de « texte entrant, texte extrait » signifie que vous pouvez « programmer » le modèle en fournissant des instructions ou quelques exemples de ce que vous souhaitez faire. Sa réussite dépend généralement de la complexité de la tâche et de la qualité de votre invite. Une règle générale consiste à réfléchir à la façon dont vous rédigeriez un problème écrit pour un jeune étudiant. Une invite bien écrite fournit suffisamment d’informations pour que le modèle sache ce que vous voulez et comment il doit répondre.
Nous allons examiner comment écrire une bonne invite un peu plus tard. Pour l'instant, examinons les différents types de saisies semi-automatiques.
Types saisies semi-automatiques d'Azure OpenAI
Comme mentionné, vous transmettez une invite à l'API Azure OpenAI qui fournit des instructions sur ce que vous souhaitez faire. Vous pouvez lui faire effectuer des tâches comme classifier du texte, générer des idées, voire traduire du texte en emojis.
Classification
Pour ce premier type de saisie semi-automatique, examinons en détail comment « programmer » le modèle avec des instructions.
Vous pouvez indiquer au modèle que vous souhaitez qu'il trie les données dans des catégories prédéfinies. Ce type de saisie semi-automatique est appelé Classification.
Par exemple, vous pouvez transmettre des instructions ou une invite comme suit à l'API de saisie semi-automatique :
This is a sentiment classifier
Example: "I loved the new movie!"
Sentiment: Positive
Example: "I hate it when my phone battery dies"
Sentiment: Negative
Example: "My day has been 👍"
Sentiment: Positive
Example: "This is the link to the article"
Sentiment: Neutral
Examples:
1. "I loved the new Batman movie!"
2. "I hate it when my phone battery dies"
3. "My day has been 👍"
4. "This is the link to the article"
5. "This new music video blew my mind"
Examples sentiment ratings:
1: Positive
2: Negative
3: Positive
4: Neutral
5: Positive
Create sentiments for:
1. "I can't stand homework"
2. "This is no fun. I'm bored 😠"
3. "I can't wait for Halloween!!!"
4. "My cat is adorable ❤️❤️"
5. "I hate chocolate"
Sentiment classifications:
1.
Après avoir montré au modèle 4 exemples de phrases classées par sentiment, nous lui fournissons une liste d'exemples, puis une liste de notes de sentiment avec le même indice numérique. L'API est en mesure de récupérer la façon dont elle est censée générer les sentiments classifiés.
Cela nous conduit à ce que nous voulons que le modèle fasse : nous lui donnons 5 sentiments pour qu'il classifie, puis il doit générer la classification de chacun dans une liste triée.
Cela permet au modèle d'évaluer cinq exemples (et même plus) en un seul appel.
Vous pouvez commencer à voir comment l'invite ou le texte transmis au modèle est le langage informatique.
Generation
L'une des tâches les plus puissantes et les plus simples que vous puissiez accomplir avec les différents modèles GPT consiste à générer de nouvelles idées ou versions des données. Vous pouvez donner au modèle une liste de quelques idées d'histoires et il essaiera de la compléter. Nous l’avons vu créer des plans d’affaires, des descriptions de personnages et des slogans marketing juste en lui fournissant quelques exemples.
Conversation
Le modèle est très apte à mener des conversations avec les humains et même avec lui-même. Avec seulement quelques lignes d'instructions, nous avons vu le modèle s'exécuter en tant que chatbot de service client qui répond intelligemment aux questions sans jamais être perturbé ou comme partenaire de conversation drôle qui fait des blagues et des jeux de mots.
Transformation
Le modèle est un modèle de langage qui est familiarisé avec diverses 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. Le modèle est également en mesure de comprendre le contenu à un niveau qui lui permet de résumer, de convertir et de l'exprimer de différentes façons.
Traduction
Le modèle a déjà une compréhension de nombreuses langues comme le français. Vous n'avez donc pas besoin de le lui enseigner. Vous devez simplement lui fournir suffisamment d'exemples de traduction dans l'invite pour qu'il comprenne qu'il est en cours de traduction d'une langue à une autre.
Conversion
Dans cet exemple, nous convertissons le nom d’un film en emojis. Cela montre l'adaptabilité du modèle à la récupération de modèles et à l'utilisation d'autres caractères.
Ici, nous nous attendons à ce que la sortie soit une représentation emoji du film Spider-Man.
Back to Future: 👨👴🚗🕒
Batman: 🤵🦇
Transformers: 🚗🤖
Wonder Woman: 👸🏻👸🏼👸🏽👸🏾👸🏿
Spider-Man: 🕸🕷🕸🕸🕷🕸
Winnie the Pooh: 🐻🐼🐻
The Godfather: 👨👩👧🕵🏻♂️👲💥
Game of Thrones: 🏹🗡🗡🏹
Spider-Man:
Résumé
Le modèle est en mesure de comprendre le contexte du texte et de le reformuler de différentes manières. Par exemple, il peut prendre un bloc de texte et créer une explication qu'un enfant pourrait comprendre.
Completion
Bien que toutes les invites aboutissent à des saisies semi-automatiques, il peut être utile de considérer la saisie semi-automatique du texte comme sa propre tâche dans les cas où vous souhaitez que le modèle reprenne là où vous avez quitté. Par exemple, avec cette invite, le modèle poursuit le raisonnement sur l'agriculture verticale.
Vertical farming provides a novel solution for producing food locally, reducing transportation costs and
Réponses factuelles
Les modèles de langage volumineux (LLM) ont beaucoup de connaissances qu'ils ont apprises à partir des données sur lesquelles ils se sont entraînés. Ils ont également la capacité de fournir des réponses qui semblent réelles, mais sont en fait inventées. Il existe deux façons de limiter la probabilité que les LLM inventent une réponse.
1. Fournissez une vérité de base à l'API Si vous fournissez au modèle un corps de texte pour répondre à des questions (comme une entrée Wikipédia), il est moins susceptible de fabriquer une réponse.
2. Utilisez une faible probabilité et montrez à l'API comment dire « Je ne sais pas » Si le modèle comprend que dans les cas où il est moins certain d'une réponse dire « Je ne sais pas » ou une variante est appropriée, il est moins enclin à inventer des réponses.
Dans cet exemple, nous fournissons les exemples de modèles de questions et de réponses qu'il connaît, puis des exemples de choses qu'il ne connaîtrait pas et fournirait des points d'interrogation. Nous définissons également la probabilité sur zéro afin que le modèle soit plus susceptible de répondre avec un « ? » en cas de doute.
Q: Who is Batman?
A: Batman is a fictional comic book character.
Q: What is torsalplexity?
A: ?
Q: What is Devz9?
A: ?
Q: Who is George Lucas?
A: George Lucas is American film director and producer famous for creating Star Wars.
Résumé
Azure OpenAI Service fournit un accès API REST aux puissants modèles de langage d'OpenAI, y compris les séries de modèles GPT-3.5 et GPT-4. Il vous offre également les fonctionnalités de sécurité et d'entreprise que vous utilisez à partir du cloud Azure.
L'une des fonctionnalités les plus utiles des modèles de langage OpenAI est la saisie semi-automatique de texte. Vous transmettez une invite ou une description en langage brut de ce que vous souhaitez que le modèle fasse. Il peut alors effectuer des tâches comme la classification, la génération ou la synthèse de texte.