AI College of Engineering : 1) Cue Engineering
🚀 Conseil pour le projet
L'ingénierie des messages-guides est une compétence clé à l'ère de l'IA générative. Il s'agit de l'art et de la science de la conception d'instructions efficaces pour guider les modèles de langage dans la production des résultats souhaités. Cette discipline émergente implique la conception et l'optimisation de messages-guides pour obtenir des réponses spécifiques de la part des modèles d'IA, en particulier les grands modèles de langage (LLM), façonnant ainsi la manière dont nous interagissons avec l'IA et dont nous exploitons sa puissance, selon DataCamp.
📚 Structure de l'entrepôt
Nom du document | descriptions |
---|---|
Conseils de base Conception | Introduction aux concepts et aux structures de l'ingénierie rapide de base. |
Conception avancée des queues | Conseils avancés pour optimiser et structurer la production. |
Conception avancée d'une queue de billard | Un guide pratique pour appliquer des techniques avancées de conception rapide. |
Comprendre l'API OpenAI | Une vue d'ensemble de l'incitation à l'aide de l'API OpenAI. |
Appels de fonctions en LLM | Carnet de notes qui démontre la fonctionnalité d'appel de fonction dans le modèle de langage. |
Conseils intégrés Cahier d'ingénierie | Jupyter Notebook couvrant un large éventail de techniques de conception rapide. |
🎯 Cue Design Briefs
L'incitation est le processus qui consiste à fournir à un modèle d'IA des instructions ou des entrées spécifiques pour déclencher une sortie ou un comportement souhaité. Il s'agit d'une interface importante entre les humains et les systèmes d'IA, qui permet à l'utilisateur de guider efficacement la réponse du modèle. Dans le contexte des grands modèles de langage (LLM), l'incitation peut être étendue de simples requêtes à des ensembles complexes d'instructions, y compris des guides de contexte et de style.
Les principaux aspects de la conception rapide sont les suivants :
- Polyvalence : en fonction du modèle d'IA et de la tâche, les invites peuvent être textuelles, visuelles ou auditives.
- Spécificité : des conseils bien conçus fournissent des détails précis afin de générer des résultats plus exacts et plus pertinents.
- Optimisation itérative : la conception des indices implique généralement d'interpréter la réponse du modèle et d'ajuster les indices suivants pour obtenir de meilleurs résultats.
- Diversité des applications : les indices sont utilisés dans des domaines aussi variés que la génération de texte, la reconnaissance d'images, l'analyse de données et l'IA conversationnelle.
🌟 Conseils sur l'importance de l'ingénierie
- Améliorer les performances de l'IA : des indices bien conçus peuvent améliorer considérablement la qualité et la pertinence des résultats générés par l'IA. En fournissant des instructions et un contexte clairs, l'ingénierie des indices permet aux modèles de générer des réponses plus précises, plus cohérentes et plus utiles.
- Personnalisation et flexibilité : Cue Engineering permet aux utilisateurs d'adapter les réponses de l'IA à des besoins et à des domaines spécifiques, sans qu'il soit nécessaire de procéder à un réapprentissage approfondi du modèle. Cette flexibilité permet aux systèmes d'IA de mieux s'adapter à diverses applications dans un grand nombre d'industries.
- Atténuation des préjugés : il est possible de réduire les préjugés dans les résultats de l'IA en élaborant des mots-clés qui peuvent guider le modèle pour qu'il prenne en compte plusieurs perspectives ou qu'il se concentre sur des sources spécifiques d'informations impartiales.
- Amélioration de l'expérience utilisateur : une ingénierie des indices efficace améliore l'expérience utilisateur en comblant le fossé entre l'intention humaine et la compréhension de la machine, ce qui rend les outils d'IA plus accessibles et plus conviviaux [4].
- Rentabilité : l'optimisation des mots-clés permet une utilisation plus efficace des ressources informatiques et réduit la nécessité d'utiliser des modèles plus grands et plus coûteux pour obtenir les résultats souhaités.
- Prototypage et itération rapides : Cue Engineering permet d'expérimenter et d'optimiser rapidement les applications d'IA, ce qui accélère les cycles de développement et l'innovation.
- Considérations éthiques : une conception réfléchie des indices permet de s'assurer que les systèmes d'IA respectent les directives éthiques et génèrent un contenu adapté aux différents contextes et publics.
- Évolutivité : une fois que des signaux efficaces ont été mis au point, ils peuvent être facilement transposés dans l'ensemble de l'organisation pour permettre des interactions cohérentes et de haute qualité avec l'IA.
- Applications interdisciplinaires : Cue Engineering relie l'expertise technique et l'expertise du domaine, permettant aux experts en la matière d'exploiter les capacités de l'IA sans avoir de connaissances techniques approfondies.
Conseils pour l'ingénierie
- Introduction à l'ingénierie des repères : une vue d'ensemble des concepts de l'ingénierie des repères, y compris les principes de base, les repères structurés, l'analyse comparative et les applications pour la résolution de problèmes.
- Structures de base des messages-guides : explore les messages-guides à un ou plusieurs tours, en montrant comment créer des messages-guides simples et engager un dialogue avec les modèles d'IA.
- Modèles et variables d'invite : Une introduction à l'utilisation de modèles et de variables dans les invites, en mettant l'accent sur la création de structures d'invite flexibles et réutilisables avec des outils tels que Jinja2.
- Zero Sample Prompting : démontre comment les modèles d'IA peuvent être guidés pour accomplir des tâches grâce à la spécification directe de la tâche et à des techniques d'incitation basées sur le rôle en l'absence d'un exemple concret.
- Apprentissage sans échantillon et apprentissage contextuel : techniques qui améliorent les performances sur des tâches spécifiques sans nécessiter de réglage fin en fournissant un petit nombre d'exemples pour guider la réponse de l'IA.
- Conseil sur la pensée en chaîne : encouragez les modèles d'IA à décomposer les problèmes complexes en processus de raisonnement étape par étape afin d'améliorer la résolution des problèmes.
- Autoconsistance et raisonnement par trajets multiples : exploration de méthodes permettant de générer divers trajets de raisonnement et d'agréger les résultats afin d'améliorer la précision et la fiabilité des résultats de l'intelligence artificielle.
- Génération contrainte et guidée : elle se concentre sur la définition de contraintes sur les sorties du modèle et sur la mise en œuvre d'une génération basée sur des règles afin de contrôler et de guider la réponse de l'IA.
- Invitations à jouer un rôle : montrer comment attribuer des rôles spécifiques aux modèles d'IA et concevoir des descriptions de rôle efficaces pour susciter le comportement ou l'expertise requis.
- Invitations à la décomposition des tâches : Explorez les techniques de décomposition des tâches complexes en sous-tâches plus petites et plus faciles à gérer dans les invitations à la décomposition des tâches.
- Chaînes et séquences de repères : montre comment relier plusieurs repères dans un flux logique afin de gérer des tâches complexes à plusieurs étapes.
- Ingénierie des directives : elle se concentre sur la conception de directives claires et efficaces pour les modèles linguistiques, en équilibrant la spécificité et la généralité afin d'optimiser les performances.
- Techniques d'optimisation des signaux : couvre les méthodes avancées d'amélioration des signaux, y compris les tests A/B et l'optimisation itérative basée sur les mesures de performance.
- Gérer l'ambiguïté et améliorer la clarté : explorer les techniques pour reconnaître et résoudre les questions ambiguës, et les stratégies pour rédiger des questions plus claires et plus efficaces.
- Gestion de la longueur et de la complexité des messages : explorer les stratégies de gestion des messages longs ou complexes, y compris les techniques de découpage et de résumé.
- Indices négatifs et évitement des résultats non désirés : montre comment utiliser des exemples négatifs et des contraintes pour détourner le modèle des réponses non désirées.
- Formats et structures des signaux : étudier les différents formats de signaux et les éléments structurels qui optimisent les réponses des modèles d'IA.
- Incitations à des tâches spécifiques : se concentrer sur la conception d'incitations à des tâches spécifiques telles que les résumés, les quiz, la génération de codes et l'écriture créative.
- Invitations multilingues et interlangues : explorez les techniques de conception d'invitations qui fonctionnent efficacement dans plusieurs langues, ainsi que la conception d'invitations pour les tâches de traduction.
- Considérations éthiques dans l'ingénierie des indices : se concentrer sur les dimensions éthiques de l'évitement des préjugés et de la création d'indices inclusifs.
- Mesures de sécurité et de sûreté : couvre les techniques de prévention de l'injection rapide et la mise en œuvre du filtrage de contenu pour garantir la sécurité des applications IA.
- Évaluation de la validité des repères : explorer les méthodes d'évaluation et de mesure de la validité des repères, y compris les techniques d'évaluation manuelles et automatisées.
Conseils de base sur les signaux
L'ingénierie des indices englobe une série de techniques conçues pour optimiser l'interaction avec les modèles d'IA. Ces méthodes de base constituent le fondement de stratégies plus avancées et sont des compétences essentielles pour quiconque souhaite utiliser tout le potentiel des outils d'IA générative.
Les conseils sans échantillon constituent la technique la plus simple, c'est-à-dire qu'ils consistent à poser des instructions ou des questions directement à l'IA, sans contexte ni exemples supplémentaires [1][2]. Cette approche convient pour les tâches simples ou pour obtenir des réponses rapidement. Par exemple, demander "Où est la capitale de la France ?" est une invite à échantillon zéro.
Les indices à échantillon unique ajoutent un exemple aux indices à échantillon zéro pour guider la réponse de l'IA [3]. Cette technique est particulièrement utile lorsqu'il s'agit de formats ou de styles spécifiques. Par exemple, pour générer une description de produit, on peut fournir un exemple de description, puis demander de générer une autre description pour un produit différent.
L'indice "sample less" étend ce concept en fournissant plusieurs exemples à l'IA [2]. Cette approche est particulièrement efficace pour les tâches complexes ou lorsque la cohérence des résultats est requise. En fournissant plusieurs exemples du format ou du style de sortie souhaité, l'IA peut mieux comprendre et reproduire les modèles.
Les invites basées sur le rôle influencent considérablement le ton et le contenu de la réponse d'une IA en lui attribuant un rôle ou une identité spécifique [1]. Par exemple, le fait de demander à l'IA de "jouer au spécialiste de l'assistance technique" avant de poser une question peut entraîner une réponse plus technique et plus positive.
Le recadrage des messages-guides est une technique qui permet de guider l'IA pour qu'elle fournisse des perspectives différentes ou des réponses plus nuancées en reformulant ou en restructurant les messages-guides [3]. Cette approche est particulièrement utile lorsque les résultats initiaux ne sont pas satisfaisants ou lorsque plusieurs aspects d'un sujet doivent être explorés. Par exemple, au lieu de demander "Quels sont les avantages des énergies renouvelables ?" la question peut être reformulée comme suit : "Comment les énergies renouvelables affectent-elles les différents secteurs de l'économie ?"
La combinaison d'invites combine plusieurs instructions ou questions en une seule invite globale [3]. Cette technique est très utile pour obtenir des réponses multiples ou pour traiter des questions complexes. Par exemple, la combinaison des questions "Expliquez la différence entre l'hébergement partagé et l'hébergement VPS" et "Recommandez ce qui convient le mieux aux petits sites de commerce électronique" en une seule invite permet d'obtenir une réponse plus complète et plus personnalisée.
Ces techniques fondamentales constituent une base solide pour une ingénierie des indices efficace, permettant aux utilisateurs de guider les modèles d'IA pour générer des résultats plus précis, plus pertinents et plus utiles dans un large éventail d'applications.
Stratégie de repérage avancée
Les techniques d'ingénierie des indices avancés utilisent des méthodes plus sophistiquées pour améliorer les performances et les capacités des grands modèles de langage. Ces méthodes vont au-delà des indices de base et visent à obtenir un raisonnement plus complexe et des résultats spécifiques à la tâche.
Pistes de réflexion cohérente (CoT)
Cette technique améliore les performances du modèle dans les tâches de raisonnement complexes en fournissant une série d'étapes de raisonnement intermédiaires. Des indices de raisonnement cohérents permettent au modèle linguistique de décomposer les problèmes complexes en étapes plus petites et plus faciles à gérer, générant ainsi des résultats plus précis et plus logiques.
auto-compatibilité
En tant qu'amélioration de CoT, l'approche de l'autoconsistance implique l'échantillonnage de plusieurs voies de raisonnement et la sélection de la réponse la plus cohérente. Cette approche est particulièrement efficace dans les problèmes où il existe plusieurs solutions valides, car elle permet au modèle d'explorer plusieurs stratégies de raisonnement avant de déterminer le résultat le plus fiable.
ReAct
ReAct combine le raisonnement et l'action, le modèle générant à la fois le processus de raisonnement et les actions spécifiques à la tâche. Cette approche permet à l'IA de planifier, d'exécuter et d'adapter dynamiquement son approche, ce qui la rend idéale pour les scénarios de résolution de problèmes complexes qui nécessitent une interaction avec des sources d'information externes.
Ingénierie des indices multimodaux
Cette technique avancée consiste à concevoir des indices qui intègrent plusieurs types d'entrée, tels que le texte, les images et le son. En tirant parti de divers types de données, les indices multimodaux rendent les interactions avec l'IA plus complètes et plus pertinentes sur le plan contextuel, imitant ainsi les capacités de perception et de communication de l'homme.
Optimisation des alertes en temps réel
Cette technologie émergente fournit un retour d'information immédiat sur la validité des messages-guides, en évaluant la clarté, les biais potentiels et l'alignement des messages-guides sur le résultat souhaité. Ces conseils en temps réel simplifient le processus de rédaction des messages-guides pour les utilisateurs novices et expérimentés.
Conseils proactifs
Cette approche dynamique permet d'adapter les indices en fonction de l'interaction et du retour d'information de l'utilisateur. Les indices proactifs permettent au modèle d'IA d'adapter ses réponses en temps réel, augmentant ainsi la pertinence et la validité des résultats tout au long de l'interaction.
Conseils pour la génération de connaissances
Cette technique utilise des modèles de langage pour générer des connaissances pertinentes avant de répondre à une question, améliorant ainsi leur raisonnement fondé sur le bon sens. En générant d'abord des informations pertinentes, puis en les intégrant dans la réponse, le modèle peut fournir une réponse plus perspicace et contextualisée.
Ces techniques avancées sont à la pointe de l'ingénierie des signaux et fournissent des outils puissants pour optimiser les performances de l'IA dans un large éventail de domaines d'application et de problèmes.
pensée logique
Le raisonnement cohérent (CoT) est une technique d'ingénierie avancée conçue pour améliorer les capacités de raisonnement des grands modèles de langage. La méthode consiste à générer plusieurs voies de raisonnement pour un problème donné et à sélectionner la solution la plus cohérente ou la plus complète. En effectuant plusieurs fois le raisonnement CoT, les ingénieurs de cueing peuvent améliorer la capacité d'un modèle à résoudre des problèmes qui nécessitent une pensée logique et plusieurs étapes.
Points clés du raisonnement du CdT
- décodage de l'autocomplétionLes conclusions des raisonnements multiples : Sélectionnez les conclusions les plus courantes dans les raisonnements multiples.
- Conseils basés sur la complexitéLe résultat de la chaîne d'inférence la plus longue est sélectionné.
- intervention humaineCorriger la chaîne d'inférence à l'aide d'une correction manuelle lorsque les résultats de l'inférence sont significativement incohérents.
- Améliorer la précisionAméliorer les performances du modèle dans les tâches impliquant le raisonnement, le calcul et la prise de décision.
En utilisant le raisonnement CoT, les ingénieurs cue peuvent créer des systèmes d'IA plus robustes et plus fiables, capables de traiter des problèmes complexes dans une variété de domaines.
Exemple de demande de ReAct
La méthode d'incitation ReAct (Reasoning and Acting) est une technique de haut niveau qui combine des processus de raisonnement et des actions spécifiques à une tâche afin d'améliorer les capacités de résolution de problèmes des grands modèles de langage (LLM). Cette approche permet aux LLM de générer alternativement des étapes de raisonnement linguistique et d'effectuer des actions, ce qui conduit à une résolution de problèmes plus efficace et plus dynamique.
Un conseil ReAct typique
- PenséeLe processus de raisonnement du modèle.
- ActionLe terme de "tâche" désigne une tâche ou une requête spécifique qui doit être exécutée.
- ObservationLes résultats ou les informations obtenus par une action.
exemple typique
questions: Quelle est la capitale du pays où se trouve la Tour Eiffel ?
- réflexionsPour répondre à cette question, je devrais trouver où se trouve la Tour Eiffel et ensuite identifier la capitale de ce pays.
- acte: Recherchez "Emplacement de la Tour Eiffel".
- tenir compteLa Tour Eiffel : La Tour Eiffel est située à Paris, en France.
- réflexions: Maintenant que je sais que la Tour Eiffel se trouve en France, il faut que je cherche la capitale française.
- acteRecherchez "capitale de la France".
- tenir compteLa France : La capitale de la France est Paris.
- réflexionsJe dispose de toutes les informations nécessaires pour répondre à cette question.
- acte: Fournir des réponses.
- solutionLa Tour Eiffel : La capitale du pays où se trouve la Tour Eiffel est Paris, en France.
Application de la procédure ReAct
- question et réponseLes modèles d'évaluation de la qualité de l'eau : renforcer la capacité des modèles à décomposer des problèmes complexes et à obtenir des informations pertinentes.
- Automatisation des tâchesLe modèle : guider le modèle à travers un processus à plusieurs étapes en combinant le raisonnement et l'action.
- Interagir avec des bases de connaissances externesLe modèle permet de récupérer et d'incorporer des informations supplémentaires pour étayer son raisonnement.
- Prise de décisionAméliorer la capacité des modèles à évaluer les options et à faire des choix éclairés sur la base des données disponibles.
En mettant en œuvre l'invite ReAct, les développeurs et les chercheurs peuvent créer des systèmes d'IA plus robustes et plus adaptables, capables de tâches de raisonnement complexes et de scénarios de résolution de problèmes réalistes.
Stimulus ciblé (cueing)
Le Directional Stimulus Prompting (DSP) est un cadre innovant permettant de guider les grands modèles de langage (LLM) afin qu'ils génèrent des résultats spécifiques souhaités. La technique utilise un petit modèle de stratégie réglable pour générer des stimuli directionnels auxiliaires pour chaque instance d'entrée, qui agissent comme des indices nuancés pour guider les LLM dans la production des résultats souhaités.
Caractéristiques principales du DSP
- Génération de stimuli orientés à l'aide d'un petit modèle de stratégie ajustable (par exemple T5).
- Optimisation par le biais d'un réglage fin supervisé et d'un apprentissage intensif.
- Il peut être appliqué à une variété de tâches, y compris la génération de résumés, la génération de réponses au dialogue et le raisonnement en chaîne.
- Améliorer considérablement les performances avec des données d'annotation limitées, par exemple avec seulement 80 dialogues utilisés, en convertissant l'option ChatGPT La performance sur l'ensemble de données MultiWOZ est améliorée de 41,41 TP3T.
En utilisant le DSP, les chercheurs et les praticiens peuvent améliorer les capacités du LLM sans modifier directement ses paramètres, ce qui permet une approche flexible et efficace de l'ingénierie des repères.
Conseils pour la génération de connaissances
L'incitation à la génération de connaissances améliore les performances des modèles d'IA en leur demandant de générer des faits pertinents avant de répondre à une question ou d'accomplir une tâche. Ce processus en deux étapes comprend la génération de connaissances (lorsque le modèle génère des informations pertinentes) et l'intégration des connaissances (lorsque ces informations sont utilisées pour formuler des réponses plus précises et contextualisées).
Principaux avantages
- Améliorer la précision et la fiabilité du contenu généré par l'IA.
- Améliorer la compréhension contextuelle de sujets donnés.
- Capacité à ancrer les réponses à des informations factuelles.
- Les connaissances peuvent être étendues en incorporant des sources externes telles que des API ou des bases de données.
En incitant le modèle à considérer d'abord les faits pertinents, la méthode d'incitation à la génération de connaissances permet de créer des résultats plus informatifs et plus sensés, en particulier pour les tâches complexes ou lorsqu'il s'agit de sujets spécialisés.
Conseils sur les techniques pratiques d'ingénierie
Ce guide technique de l'ingénierie du conseil est entièrement basé sur NirDiamant Un référentiel d'excellentes pratiques. Tout le contenu et le carnet Jupyter sont protégés par les droits d'auteur du dépositaire original :Ingénierie rapide.
Je l'ajoute ici parce qu'il s'agit d'une excellente ressource d'apprentissage, avec tous les droits d'auteur. Ingénierie rapide Entrepôt.
🌱 Concepts de base
- Profil du projet Tip
Aperçu 🔎
Une introduction détaillée aux concepts qui sous-tendent l'IA et l'ingénierie des signaux des modèles linguistiques.
Mise en œuvre 🛠️
Combine des explications théoriques avec des démonstrations pratiques couvrant les concepts fondamentaux, les messages-guides structurés, l'analyse comparative et les applications de résolution de problèmes.
- Structure de base des signaux
Aperçu 🔎
Explorer deux structures de repérage de base : les repères à un tour et les repères à plusieurs tours (dialogues).
Mise en œuvre 🛠️
Démonstration d'invites à un ou plusieurs tours, de modèles d'invites et de chaînes de dialogue à l'aide du modèle GPT d'OpenAI et de LangChain.
- Modèles et variables de conseils
Aperçu 🔎
Décrit comment créer et utiliser des modèles d'invite avec des variables en utilisant Python et le moteur de modèles de Jinja2.
Mise en œuvre 🛠️
Implique la création de modèles, l'insertion de variables, le contenu conditionnel, le traitement de listes et l'intégration avec l'API OpenAI.
🔧 Technologies de base
- Conseil pour l'échantillon zéro
Aperçu 🔎
Exploration des indices de l'échantillon zéro pour permettre aux modèles linguistiques d'accomplir des tâches sans exemples spécifiques ni formation préalable.
Mise en œuvre 🛠️
Démonstration de la spécification directe de la tâche, de l'incitation basée sur le rôle, de la spécification du format et de l'inférence en plusieurs étapes à l'aide d'OpenAI et de LangChain.
- Apprentissage par échantillonnage réduit ou apprentissage contextuel
Aperçu 🔎
Explorez des exemples de techniques d'apprentissage moins et contextuel avec les modèles GPT d'OpenAI et la bibliothèque LangChain.
Mise en œuvre 🛠️
Meilleures pratiques pour la mise en œuvre de l'apprentissage à partir d'un échantillon, de l'apprentissage contextuel et de la sélection et de l'évaluation d'exemples.
- Conseils sur la pensée en chaîne (CoT)
Aperçu 🔎
Introduction d'indices de pensée en chaîne (CoT) pour guider les modèles d'IA dans la décomposition de problèmes complexes en processus de raisonnement étape par étape.
Mise en œuvre 🛠️
Couvre les techniques de base et avancées du CoT, les applique à une variété de scénarios de résolution de problèmes et les compare à des messages-guides standard.
🔍 Stratégie avancée
- Autoconsistance et raisonnement par trajets multiples
Aperçu 🔎
Explorer les techniques permettant de générer divers chemins d'inférence et d'agréger les résultats afin d'améliorer la qualité des réponses générées par l'IA.
Mise en œuvre 🛠️
Démontrer la conception de divers messages d'inférence, la génération de réponses multiples, la mise en œuvre de méthodes d'agrégation et l'application de contrôles d'autoconsistance.
- Génération contrainte et bootstrap
Aperçu 🔎
L'accent est mis sur les techniques permettant de fixer des contraintes sur les résultats du modèle et de mettre en œuvre une génération basée sur des règles.
Mise en œuvre 🛠️
Utilisez le PromptTemplate de LangChain pour créer des invites structurées, appliquer des contraintes et explorer des techniques de génération basées sur des règles.
- Conseils pour les personnages
Aperçu 🔎
Explorer les techniques permettant d'attribuer des rôles spécifiques aux modèles d'IA et de concevoir des descriptions de rôles efficaces.
Mise en œuvre 🛠️
Démontrer la création d'invites basées sur les rôles, l'attribution de rôles aux modèles d'IA et l'optimisation des descriptions de rôles pour différents scénarios.
🚀 Réalisation avancée
- Conseils pour la répartition des tâches
Aperçu 🔎
Explorer les techniques permettant de décomposer les tâches complexes et de relier les sous-tâches dans les messages-guides.
Mise en œuvre 🛠️
Comprend l'analyse du problème, la définition des sous-tâches, l'élaboration d'indices d'objectifs, l'exécution séquentielle et la synthèse des résultats.
- Enchaînement et sérialisation des signaux
Aperçu 🔎
Démontrer comment connecter plusieurs invites et construire des flux logiques pour des tâches complexes pilotées par l'IA.
Mise en œuvre 🛠️
Explorer les chaînes de repères de base, les repères séquentiels, la génération dynamique de repères et la gestion des erreurs dans les chaînes de repères.
- ingénierie de commandement
Aperçu 🔎
Se concentrer sur la conception d'instructions claires et efficaces pour les modèles linguistiques, en équilibrant la spécificité et la généralité.
Mise en œuvre 🛠️
Il s'agit de créer et d'optimiser les instructions, d'essayer différentes structures et d'apporter des améliorations itératives sur la base des réponses du modèle.
🎨 Optimisation et amélioration
- Techniques d'optimisation des signaux
Aperçu 🔎
Explorer les techniques avancées d'optimisation des messages-guides en mettant l'accent sur les tests A/B et l'amélioration itérative.
Mise en œuvre 🛠️
Démontrer qu'il est possible d'effectuer rapidement des tests A/B, de mettre en place un processus d'amélioration itératif et d'évaluer les performances à l'aide d'indicateurs pertinents.
- Gérer l'ambiguïté et améliorer la clarté
Aperçu 🔎
L'accent est mis sur les techniques permettant de reconnaître et de résoudre les questions ambiguës et de rédiger des questions plus claires.
Mise en œuvre 🛠️
Comprend l'analyse des questions ambiguës, la mise en œuvre de stratégies pour résoudre l'ambiguïté et l'exploration de techniques pour rédiger des questions plus claires.
- Gestion de la longueur et de la complexité des signaux
Aperçu 🔎
Explorer les techniques de gestion de la longueur et de la complexité des messages lors de l'utilisation de modèles linguistiques de grande taille.
Mise en œuvre 🛠️
Démontrer des techniques permettant d'équilibrer les détails et la concision et des stratégies pour traiter des contextes longs, y compris le découpage, le résumé et le traitement itératif.
🛠️ Applications spécialisées
- Repères négatifs et évitement des sorties inattendues
Aperçu 🔎
Exploration des indices négatifs et des techniques permettant d'éviter les résultats indésirables des grands modèles de langage.
Mise en œuvre 🛠️
Inclut des exemples de négations de base, d'exclusions explicites, de mise en œuvre de contraintes à l'aide de LangChain et de méthodes d'évaluation et d'amélioration des indices négatifs.
- Formatage et structure des signaux
Aperçu 🔎
Explorer une variété de formats de signaux et d'éléments structurels et démontrer leur impact sur les réponses du modèle d'IA.
Mise en œuvre 🛠️
Démontrer la création de plusieurs formats d'indices, l'intégration d'éléments structurels et la comparaison des réponses à différentes structures d'indices.
- Conseils spécifiques à une tâche
Aperçu 🔎
Explorer la création et l'utilisation de messages-guides pour des tâches spécifiques telles que les résumés de texte, les quiz, la génération de codes et l'écriture créative.
Mise en œuvre 🛠️
Il s'agit notamment de concevoir des modèles d'invite spécifiques à une tâche, de les mettre en œuvre à l'aide de LangChain, de les exécuter avec des exemples d'entrées et d'analyser les résultats pour chaque type de tâche.
🌍 Applications avancées
- Conseils multilingues et interlangues
Aperçu 🔎
Exploration des techniques de conception de messages-guides efficaces pour les tâches multilingues et de traduction.
Mise en œuvre 🛠️
Il s'agit notamment de créer des messages-guides multilingues, de mettre en œuvre la détection et l'adaptation linguistiques, de concevoir des messages-guides de traduction interlinguistique et de gérer différents systèmes d'écriture et jeux de caractères.
- Considérations éthiques sur l'ingénierie des signaux
Aperçu 🔎
Explorer les dimensions éthiques de l'ingénierie des messages, en mettant l'accent sur la nécessité d'éviter les préjugés et de créer des messages inclusifs et équitables.
Mise en œuvre 🛠️
Comprend des méthodes pour identifier les biais dans les messages-guides, mettre en œuvre des stratégies pour créer des messages-guides inclusifs, et évaluer et améliorer la qualité éthique des résultats de l'IA.
- Conseils Sécurité et sûreté
Aperçu 🔎
Ce document explique comment prévenir l'injection d'invites et mettre en place un filtrage du contenu des invites pour sécuriser les applications d'intelligence artificielle.
Mise en œuvre 🛠️
Il comprend des techniques de prévention de l'injection rapide, des implémentations de filtrage de contenu et des tests d'efficacité des mesures de sécurité.
- Évaluer l'efficacité des messages-guides
Aperçu 🔎
Explorer les méthodes et les techniques permettant d'évaluer la validité des indices du modèle linguistique de l'IA.
Comprendre l'API du grand modèle de langue (LLM)
Examinons l'API du modèle linguistique étendu (LLM).
Il existe plusieurs façons d'utiliser l'API, l'une consiste à envoyer une requête HTTP directe, l'autre à installer le paquetage officiel d'OpenAI via pip, qui est toujours à jour avec les dernières fonctionnalités.
pip install openai
Ce format d'API étant très populaire, de nombreux autres fournisseurs proposent des API dans le même format, que l'on appelle "conformes à l'OpenAI".
Liste des fournisseurs proposant des API compatibles avec l'OpenAI
Vous trouverez ci-dessous une liste de fournisseurs compatibles avec l'API OpenAI, et les développeurs peuvent profiter de ces services d'une manière similaire à celle fournie par OpenAI :
- Groq
- Groq La plupart des API fournies sont compatibles avec les bibliothèques client d'OpenAI. Les utilisateurs n'ont qu'à modifier le fichier
base_url
et utilisent la clé API de Groq pour configurer leurs applications afin qu'elles fonctionnent sur Groq.
- Groq La plupart des API fournies sont compatibles avec les bibliothèques client d'OpenAI. Les utilisateurs n'ont qu'à modifier le fichier
- Mistral AI
- Mistral Fournit une API qui prend en charge les requêtes conformes à l'OpenAI, permettant aux développeurs d'accéder à divers modèles par le biais de ce service.
- Visage étreint
- Hugging Face donne accès à un certain nombre de modèles via une API configurée de manière similaire à l'API d'OpenAI. Hugging Face est connu pour sa grande bibliothèque de modèles.
- Google Vertex AI
- Google Vertex AI permet aux utilisateurs d'interagir avec de grands modèles de langage d'une manière compatible avec l'API OpenAI.
- Microsoft Azure OpenAI
- Microsoft fournit un accès aux modèles OpenAI par l'intermédiaire de sa plateforme Azure afin de faciliter l'intégration avec les services Azure existants.
- Anthropique
- Anthropique sont également accessibles via une API qui imite la structure d'OpenAI et permet des interactions similaires.
Ces fournisseurs permettent aux développeurs de tirer parti de différentes capacités d'IA tout en restant compatibles avec la structure familière de l'API OpenAI afin de faciliter l'intégration dans les applications et les flux de travail.
Il existe également des fournisseurs qui utilisent des architectures et des types d'API différents, mais nous pouvons utiliser quelque chose comme l'API litellm Une telle bibliothèque client fournit un ensemble unifié de clients pour différents types de grands modèles linguistiques.
En outre, des personnalités telles que Clé USB Une telle passerelle fournit des API compatibles avec l'OpenAI pour n'importe quel grand modèle linguistique.
Dans cet article, vous découvrirez les différents paramètres de l'API.
Paramètres clés
Température
- descriptionsLe paramètre : Temperature contrôle le caractère aléatoire de la sortie du modèle, entre 0 et 2.
- affecter (généralement de façon négative):
- Valeur faible (0-0.3)Le résultat est plus déterministe et plus ciblé, répétant souvent des réponses similaires.
- Moyen (0,4-0,7)Le rôle de l'Union européenne : : Trouver un équilibre entre la créativité et la cohérence.
- Valeur élevée (0,8-2)Les résultats sont plus diversifiés et plus créatifs, mais peuvent produire des résultats dénués de sens.
- exemple typique:
response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": "完成句子:'幸福的关键是'。"}], temperature=1 )
Top_p
- descriptionsCe paramètre permet l'échantillonnage des noyaux, le modèle ne prenant en compte que les noyaux les plus élevés.
p
Qualité probabiliste de la sortie. - royaume: De 0 à 1, les valeurs inférieures limitent la sortie au jeton le plus probable.
- exemple typique:
response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": "写一首诗。"}], top_p=0.9 )
Nombre maximal de jetons
- descriptionsDéfinir le nombre maximum de Jeton Quantité (mots ou parties de mots).
- valeur par défautPour la plupart des modèles, cette valeur est généralement fixée à un maximum de 4096 tokens.
- exemple typique:
response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": "讲一个故事。"}], max_tokens=150 )
Appel de fonction
- descriptionsCette fonction permet au modèle d'interagir avec des API ou des services externes en appelant des fonctions prédéfinies basées sur les données de l'utilisateur.
- exemple typique:
functions = [ { "name": "get_current_weather", "description": "获取某地的当前天气。", "parameters": { "type": "object", "properties": { "location": {"type": "string"}, "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]} }, "required": ["location"] } } ] response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": "纽约的天气如何?"}], functions=functions, function_call={"name": "get_current_weather"} )
Rôles dans les appels à l'API
Comprendre les rôles impliqués dans un appel à l'API permet de structurer l'interaction de manière efficace.
Rôle du système
- objectifLe modèle est un outil d'aide à la décision qui fournit des instructions de haut niveau ou un contexte qui oriente le comportement du modèle tout au long du dialogue.
- utilisation: Défini au début du tableau de messages pour établir le ton ou les règles de l'interaction.
- exemple typique: :
messages = [ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "What can you do?"} ]
rôle de l'utilisateur
- objectif: représente l'entrée d'un utilisateur humain, guidant le dialogue par le biais de questions ou de messages-guides.
- utilisationLes questions et les affirmations sont le plus souvent utilisées dans le cadre d'une interaction.
- exemple typique: :
{"role": "user", "content": "Can you explain how OpenAI works?"}
Rôle d'assistant
- objectif: représente la réponse générée par le modèle en fonction des entrées de l'utilisateur et des commandes du système.
- utilisationLorsqu'il répond à une requête d'un utilisateur, le modèle assume automatiquement ce rôle.
- exemple typique: :
{"role": "assistant", "content": "OpenAI uses advanced machine learning techniques to generate text."}
Autres paramètres
ruisseau (d'eau, etc.)
- descriptions: S'il est fixé à true, il autorise le streaming lors de la génération de réponses partielles, pour les applications en temps réel.
Logprobs
- descriptions: Renvoie la probabilité logarithmique de la prédiction du jeton, qui est utilisée pour comprendre le comportement du modèle et améliorer le résultat.
résumés
L'API OpenAI fournit un ensemble puissant de paramètres et de rôles que les développeurs peuvent utiliser pour créer des applications hautement interactives. En ajustant des paramètres tels que la température et en utilisant efficacement des rôles structurés, les utilisateurs peuvent adapter les réponses à des besoins spécifiques tout en garantissant la clarté et le contrôle du dialogue.
Vous trouverez ci-dessous des exemples d'utilisation des API de divers fournisseurs compatibles avec l'OpenAI, ainsi que des exemples d'application du modèle de langage large et léger (LLM).
Exemple d'utilisation de l'API OpenAI d'un fournisseur compatible
1. Groq
Pour utiliser l'API de Groq, vous devez définir l'URL de base et fournir la clé API de Groq.
import os
import openai
client = openai.OpenAI(
base_url="https://api.groq.com/openai/v1",
api_key=os.environ.get("GROQ_API_KEY")
)
response = client.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Tell me a joke."}]
)
print(response.choices[0].message['content'])
2. Mistral AI
Mistral AI Il fournit également une API compatible avec OpenAI, et voici comment l'utiliser :
import requests
url = "https://api.mistral.ai/v1/chat/completions"
headers = {
"Authorization": f"Bearer {os.environ.get('MISTRAL_API_KEY')}",
"Content-Type": "application/json"
}
data = {
"model": "mistral-7b",
"messages": [{"role": "user", "content": "What is the capital of France?"}]
}
response = requests.post(url, headers=headers, json=data)
print(response.json()['choices'][0]['message']['content'])
3. Visage étreint
Des jetons d'accès sont nécessaires pour utiliser l'API "Hugging Face". Voici un exemple de code :
import requests
url = "https://api-inference.huggingface.co/models/gpt2"
headers = {
"Authorization": f"Bearer {os.environ.get('HUGGINGFACE_API_KEY')}"
}
data = {
"inputs": "Once upon a time in a land far away,"
}
response = requests.post(url, headers=headers, json=data)
print(response.json()[0]['generated_text'])
4. Google Vertex AI
Le code suivant peut être utilisé pour interagir avec Google Vertex AI :
from google.cloud import aiplatform
aiplatform.init(project='your-project-id', location='us-central1')
response = aiplatform.gapic.PredictionServiceClient().predict(
endpoint='projects/your-project-id/locations/us-central1/endpoints/your-endpoint-id',
instances=[{"content": "Who won the World Series in 2020?"}],
)
print(response.predictions)
5. Microsoft Azure OpenAI
Voici un exemple de code qui appelle le service OpenAI d'Azure :
import requests
url = f"https://your-resource-name.openai.azure.com/openai/deployments/your-deployment-name/chat/completions?api-version=2023-05-15"
headers = {
"Content-Type": "application/json",
"api-key": os.environ.get("AZURE_OPENAI_API_KEY")
}
data = {
"messages": [{"role": "user", "content": "What's the weather today?"}],
"model": "gpt-35-turbo"
}
response = requests.post(url, headers=headers, json=data)
print(response.json()['choices'][0]['message']['content'])
6. Anthropique
L'utilisation de la méthode anthropique Claude Un exemple de code pour le modèle et son API est présenté ci-dessous :
import requests
url = "https://api.anthropic.com/v1/complete"
headers = {
"Authorization": f"Bearer {os.environ.get('ANTHROPIC_API_KEY')}",
"Content-Type": "application/json"
}
data = {
"model": "claude-v1",
"prompt": "Explain quantum physics in simple terms.",
}
response = requests.post(url, headers=headers, json=data)
print(response.json()['completion'])
L'exemple montre comment utiliser efficacement un modèle léger tout en obtenant des résultats significatifs dans une tâche de génération de texte.
Source :
https://www.coltsteele.com/tips/understanding-openai-s-temperature-parameter
https://community.make.com/t/what-is-the-difference-between-system-user-and-assistant-roles-in-chatgpt/36160
https://arize.com/blog-course/mastering-openai-api-tips-and-tricks/
https://learn.microsoft.com/ko-kr/Azure/ai-services/openai/reference
https://community.openai.com/t/the-system-role-how-it-influences-the-chat-behavior/87353
https://community.openai.com/t/understanding-role-management-in-openais-api-two-methods-compared/253289
https://platform.openai.com/docs/advanced-usage
https://platform.openai.com/docs/api-reference
https://console.groq.com/docs/openai
https://docs.jabref.org/ai/ai-providers-and-api-keys
https://www.reddit.com/r/LocalLLaMA/comments/16csz5n/best_openai_api_compatible_application_server/
https://docs.gptscript.ai/alternative-model-providers
https://towardsdatascience.com/how-to-build-an-openai-compatible-api-87c8edea2f06?gi=5537ceb80847
https://modelfusion.dev/integration/model-provider/openaicompatible/
https://docs.jabref.org/ai/ai-providers-and-api-keys
https://docs.gptscript.ai/alternative-model-providers
https://console.groq.com/docs/openai
Guide du projet Tip II (appels de fonction)
Les bibliothèques, outils et configurations suivants sont nécessaires pour le chargement.
https://colab.research.google.com/github/adithya-s-k/AI-Engineering.academy/blob/main/PromptEngineering/function_calling.ipynb
Premiers pas avec Cue Engineering
Les bibliothèques, outils et configurations suivants sont nécessaires pour le chargement.
https://colab.research.google.com/github/adithya-s-k/AI-Engineering.academy/blob/main/PromptEngineering/prompt_engineering.ipynb
© déclaration de droits d'auteur
Article copyright Cercle de partage de l'IA Tous, prière de ne pas reproduire sans autorisation.
Articles connexes
Pas de commentaires...