Fermer

novembre 13, 2023

Connectez votre IA avec l’expérimentation de fonctionnalités optimisées / Blogs / Perficient

Connectez votre IA avec l’expérimentation de fonctionnalités optimisées / Blogs / Perficient


Si vous êtes dans la technologie, les IA sont partout de nos jours. Au travail, j’utilise une IA pour m’aider à réaliser des preuves de concept, parfois en communiquant avec d’autres IA. À la maison, j’utilise Bard de Google pour m’aider dans les tâches mentales quotidiennes telles que la planification des repas. Même en jeu, lorsque vous vous adonnez à un peu de Gran Turismo, il y a une IA pour course contre. Je ne peux rien faire avec les IA que j’utilise de manière plus décontractée (à part en être conscient). Au travail cependant, j’ai un certain contrôle ! Lorsque vous interagissez avec une IA via une API, vous avez la possibilité de modifier les paramètres ou d’essayer la même requête avec différents contextes avant d’obtenir une réponse de votre IA. Et quoi de mieux pour vous aider à juger de l’engagement de vos utilisateurs avec une IA que l’expérimentation des fonctionnalités d’Optimizely !

Ici, je vais travailler avec l’API d’OpenAI avec leur package client de nuget afin de simplifier une configuration plutôt moche. J’inclurai une version HttpClient de l’appel à la fin du message afin que vous puissiez voir les détails impliqués.

Dans cette démo, je vais changer le modèle d’IA utilisé par mon application, mais cette approche peut être utilisée sur n’importe lequel des paramètres envoyés à l’IA. Votre appel API OpenAI de base suit ce format :

            client = new OpenAIAPI(apiKey);

            var parameters = new CompletionRequest

                {

                    Model = "gpt-3_5-turbo",

                    Prompt = promptText,

                    Temperature = 0.7,

                    MaxTokens = 100

                };

            var response = await client.Completions.CreateCompletionAsync(parameters);

            generatedText = response.Completions[0].Text;

Cela devrait sembler familier à tout développeur ayant utilisé un wrapper client pour une API. Les détails de connexion sont gérés par le client, mais le côté commercial de la requête est constitué par les paramètres CompletionRequest. Ici, nous pouvons sélectionner le modèle d’IA sur lequel nous souhaitons interroger, ainsi que fournir le contexte/l’invite, ainsi que d’autres détails pertinents pour la configuration de l’IA.

Mais que se passe-t-il si nous ne sommes pas sûrs que le modèle soit le mieux adapté à nos objectifs ? Ne serait-il pas agréable d’essayer plusieurs modèles différents et d’en suivre les statistiques ? Voici l’expérimentation des fonctionnalités pour vous aider !

Ce que j’ai fait, c’est mettre en place une expérience qui envoie la requête de l’utilisateur à ChatGPT 3.5 ou au modèle Davinci :

À partir de là, nous reconfigurons le client Optimizely dans notre solution :

        optimizely = OptimizelyFactory.NewDefaultInstance(Configuration.GetValue<string>("Optimizely:SdkKey"));


        user = optimizely.CreateUserContext(numGen.Next().ToString());


        user.TrackEvent("Engaged_AI");

Nous pouvons désormais décider si l’utilisateur peut interagir avec l’IA choisie et avec quel modèle il converse, en utilisant l’expérimentation des fonctionnalités d’Optimizely :

var decision = user.Decide("ai_model");


if (decision.Enabled)
{
    var ai_model = decision.VariationKey;
    var parameters = new CompletionRequest
        {
            Model = ai_model,
            Prompt = promptText,
            Temperature = 0.7,
            MaxTokens = 100
        };
    var response = await client.Completions.CreateCompletionAsync(parameters);


    generatedText = response.Completions[0].Text;
}
else{
    generatedText = "AI is not enabled for this user";
}

D’après l’expérience que j’ai mise en place, 90% de mes utilisateurs auront la possibilité d’interagir avec l’IA, s’ils le font leur requête sera soit envoyée vers ChatGPT 3.5 ou Davinici et je pourrai juger du niveau de engagement entre mes utilisateurs et mon IA.

C’est également ici que vous pouvez ajouter plus de contexte à l’invite pour donner à l’IA une meilleure compréhension de la requête. Cela pourrait aider votre IA à comprendre son point de départ, par exemple « vous êtes un agent du service client pour l’entreprise A ».

Maintenant que vous introduisez l’IA dans vos applications, vous pouvez voir comment le marquage des fonctionnalités et l’expérimentation des fonctionnalités peuvent vous aider à évaluer votre approche de l’IA.






Source link

novembre 13, 2023