Salut tout le monde! Je m'appelle Nataraj et tout comme vous, je suis fasciné par les récents progrès de l'intelligence artificielle. Réalisant que je devais me tenir au courant de tous les développements, j'ai décidé de me lancer dans un parcours personnel d'apprentissage. C'est ainsi que 100 jours d'IA sont nés ! Avec cette série, je vais découvrir les LLM et partager des idées, des expériences, des opinions, des tendances et des apprentissages à travers mes articles de blog. Vous pouvez suivre le voyage sur HackerNoon ici ou sur mon site Web personnel ici . Dans l'article d'aujourd'hui, nous chercherons à créer un noyau sémantique à l'aide de GPT-4.
Dans cet article, nous verrons comment utiliser l’IA pour mener une réflexion conceptuelle sur un problème commercial donné. Pour les besoins de cet exemple, nous définissons le design thinking comme une série d'étapes présentées ci-dessous. Vous pouvez également étendre cette idée pour ajouter plus d’étapes et écrire une logique pour celles-ci.
Pour définir le contexte, prenons l'exemple d'un café qui a récemment reçu des commentaires de clients et utilisons-le pour appliquer la réflexion sur la conception de l'IA et trouver des moyens d'améliorer l'entreprise.
Nous utiliserons le modèle gpt-4 d'Open AI et le noyau sémantique de Microsoft pour faire du design thinking. En cours de route, nous explorerons également comment utiliser le concept de plugins dans le noyau, ce qui facilite la réutilisation des fonctions sémantiques.
Alors allons-y.
La première étape consiste à charger la clé secrète d'Open AI à partir du fichier .env local, puis à créer une nouvelle instance du noyau. Ajoutez ensuite le service OpenAIChatCompletion au noyau.
# SWOT questions strength_questions = ["What unique recipes or ingredients does the coffee shop use?","What are the skills and experience of the staff?","Does the coffee shop have a strong reputation in the local area?","Are there any unique features of the shop or its location that attract customers?", "Does the coffee shop have a strong reputation in the local area?", "Are there any unique features of the shop or its location that attract customers?"] weakness_questions = ["What are the operational challenges of the coffee shop? (eg, slow service, high staff turnover, not having wifi)","Are there financial constraints that limit growth or improvements?","Are there any gaps in the product offering?","Are there customer complaints or negative reviews that need to be addressed?"] opportunities_questions = ["Is there potential for new products or services (eg, delivery, food along with coffee)?","Are there under-served customer segments or market areas?","Can new technologies or systems enhance the business operations?","Are there partnerships or local events that can be leveraged for marketing?"] threats_questions = ["Who are the major competitors and what are they offering?","Are there potential negative impacts due to changes in the local area (eg, construction, closure of nearby businesses)?","Are there economic or industry trends that could impact the business negatively (eg, increased ingredient costs)?","Is there any risk due to changes in regulations or legislation (eg, health and safety, employment)?"] # SWOT answers strengths = [ "Unique coffee recipe that wins top awards","Owner trained in Sicily","Strong local reputation","Prime location on university campus" ] weaknesses = [ "High staff turnover","Floods in the area damaged the seating areas that are in need of repair","Absence of popular mocha latte from menu","Negative reviews from younger demographic for lack of hip ingredients" ] opportunities = [ "Untapped work from anywhere potential as they dont have wifi","Growing local tech startup community","Unexplored online presence and order capabilities","Upcoming annual food fair" ] threats = [ "Competition from big coffee chains nearby","There's nearby street construction that will impact foot traffic","Rising cost of coffee beans will increase the cost of coffee","No immediate local regulatory changes but it's election season" ] # Customer comments some positive some negative customer_comments = """ Customer 1: The seats look really raggedy. Customer 2: The americano is the best on this earth. Customer 3: I've noticed that there's a new server every time I visit, and they're clueless. Customer 4: Why aren't there any snacks? Customer 5: I love the coffe blend they use and can't get it anywhere else. Customer 6: The dark roast they have is exceptional. Customer 7: why is there no wifi? Customer 8: Why is the regular coffee so expensive? Customer 9: There's no way to do online ordering. Customer 10: Why is the seating so uncomfortable and dirty? """
Qu'est-ce qu'un plugin ? Semantic Kernel possède cette fonctionnalité appelée Plugins où vous pouvez définir les fonctions sémantiques leurs entrées et les réutiliser à plusieurs reprises. Un plug-in est composé de deux fichiers : un .json (contient des informations de configuration pour LLM et les paramètres d'entrée) et un .txt (contient une invite personnalisée). Pour le cas d’utilisation du design thinking, nous allons créer 4 plugins. Vous pouvez trouver le code des 4 plugins ici .
Notez que dans les étapes précédentes, même si j'ai donné le code de quatre plugins, j'ai expliqué ce qu'ils font dans le contexte du Design Thinking. J'ai également affiché le résultat qu'ils généreront. Mais nous n’avons pas réellement appelé ces plugins à partir de notre code. Faisons-le maintenant comme indiqué ci-dessous.
## access design thiking plugin pluginsDirectory = "./plugins-sk" pluginDT = kernel.import_semantic_skill_from_directory(pluginsDirectory, "DesignThinking"); async def run_designthinking_async(): my_result = await kernel.run_async(pluginDT["Empathize"], pluginDT["Define"], pluginDT["Ideate"], pluginDT["PrototypeWithPaper"], input_str=customer_comments) display(my_result) asyncio.run(run_designthinking_async())
Vous avez déjà vu le résultat généré par les 4 étapes à l’étape précédente. Notez à quel point Kernel permet d'appeler facilement un plug-in après l'autre en un seul appel.
Pour conclure, voici ce que nous avons fait. Nous avons écrit des invites personnalisées, en avons créé des plugins et les avons placés dans un dossier appelé plugins-sk . Et puis j'ai utilisé Kernel pour les appeler en utilisant l'analyse SWOT et les commentaires des clients pour le Coffee Shop. Désormais, en modifiant l'analyse SWOT et en prenant en compte les commentaires des clients pour un problème commercial différent, vous pouvez réfléchir à la conception et proposer une solution MVP pour résoudre votre problème.
Même si au cœur de celle-ci se trouvent 4 invites personnalisées, cette méthode met en évidence comment Kernel rend le développement d'objectifs complexes avec l'IA facile et gérable avec des plugins.
C'est tout pour le jour 10 des 100 jours d'IA.
J'écris une newsletter intitulée Above Average dans laquelle je parle des idées de second ordre derrière tout ce qui se passe dans la grande technologie. Si vous êtes dans la technologie et que vous ne voulez pas être dans la moyenne, abonnez-vous .
Suivez-moi sur Twitter , LinkedIn ou ** HackerNoon ** pour les dernières mises à jour sur 100 jours d'IA. Si vous êtes dans le domaine de la technologie, vous pourriez être intéressé à rejoindre ma communauté de professionnels de la technologie ici .