sábado, 11 de marzo de 2023

Crear un programa que interactúe con las librerías de open AI

Hoy vamos crear una aplicación que cree una conversación con open AI, voy a usar MAUI, para crear un formulario para android muy básico


Damos en crear proyecto 

Seleccionamos Aplicación .NET MAUI, siguiente y le damos un nombre al proyecto y a la solución.

Para integrar el chat GPT con C# utilizando la API que se descarga de NuGet, debemos seguir los siguientes pasos:


1. Ve a Herramientas -> Administrador de paquetes NuGet -> Consola del Administrador de paquetes.


2. En la consola de NuGet, ejecute el siguiente comando para instalar la API de OpenAI:

```

Install-Package OpenAI_API

```

Al haber creado la aplicación de MAUI voy a el main XAML 


Donde modificare la vista para agregar 

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="muiaexample.MainPage">
    <ScrollView>
        <VerticalStackLayout
            Spacing="25"
            Padding="30,0"
            VerticalOptions="Center">
            <Image
                Source="dotnet_bot.png"
                SemanticProperties.Description="Cute dot net bot waving hi to you!"
                HeightRequest="200"
                HorizontalOptions="Center" />
            <Label
                Text="Hola realiza tus preguntas"
                x:Name="lblFormulaPreguntas"
                SemanticProperties.HeadingLevel="Level1"
                FontSize="32"
                HorizontalOptions="Center" />
            <Entry Text="ingresa tus preguntas" x:Name="Preguntas" />
            <Button
                x:Name="Accion"
                Text="Click me"
                SemanticProperties.Hint="Accion"
                Clicked="btnPreguntas"
                HorizontalOptions="Center" />
            <Label
                MaxLines="1000"
                Text=""
                SemanticProperties.HeadingLevel=""
                FontSize="15"
                x:Name="Respuestas"
                 />
        </VerticalStackLayout>
    </ScrollView>
</ContentPage>

Donde dejo la imagen que da MAUI por default buen detalleel robotito.
  <Image
                Source="dotnet_bot.png"
                SemanticProperties.Description="Cute dot net bot waving hi to you!"
                HeightRequest="200"
                HorizontalOptions="Center" />
            <Label
                Text="Hola realiza tus preguntas"
                x:Name="lblFormulaPreguntas"
                SemanticProperties.HeadingLevel="Level1"
                FontSize="32"
                HorizontalOptions="Center" />
Y agrego una etiqueta que pedira que ingrese tu pregunta.
Para llevar acabo esta acción creo una entrada llamada Preguntas.
<Entry Text="ingresa tus preguntas" x:Name="Preguntas" />
Un botón
<Button
                x:Name="Accion"
                Text="Click me"
                SemanticProperties.Hint="Accion"
                Clicked="btnPreguntas"
                HorizontalOptions="Center" />
y una etiqueta que estará disponible para escribir el resultado
<Label
                MaxLines="1000"
                Text=""
                SemanticProperties.HeadingLevel=""
                FontSize="15"
                x:Name="Respuestas"
                 /> 

 Si ya te inscribiste en CHATGPT Api https://platform.openai.com/ puedes crear tu key.

En el MainPage.xaml.cs

Defino el código



....

using System;



namespace muiaexample;


public partial class MainPage : ContentPage

{

    //Defino la Api

    OpenAI_API.OpenAIAPI api = null;

//Defino la conversación la creo en global para accesarla entrepeticiones

    OpenAI_API.Chat.Conversation conv = null;

    public MainPage()

{

InitializeComponent();

//Instancio la api con la llavesecreta       

 api = new OpenAI_API.OpenAIAPI("secretkey........");

   //Instacion la conversación

     conv = api.Chat.CreateConversation();

    }

//Cada vez que hago click en el botón mando una petición 

private async void btnPreguntas(object sender, EventArgs e)

{

        

      //Mando la entrada del usuario

        conv.AppendUserInput(Preguntas.Text);

    //Rescato el resultado de la conversación

        var result = await conv.GetResponseFromChatbot();

        Respuestas.Text=result;

        Preguntas.Text = "";

      




    }

}


```


En este ejemplo, primero se crea una instancia del cliente de la API de OpenAI y se utiliza para crear una nueva sesión de chat. A continuación, se envían mensajes al bot utilizando el método AppendUserInput y se muestran las respuestas en la etiqueta. 

Obviamente  leer la documentación de la API para entender todos los parámetros que se pueden personalizar al crear una conversación con el bot GPT es importante y verificar los cobros por default te da cierta cantidad de credito hoy cuando escribo este post son 18 dolares. 

La aplicación que da de la siguiente forma en android.







No hay comentarios:

Publicar un comentario

Crear un programa que interactúe con las librerías de open AI

Hoy vamos crear una aplicación que cree una conversación con open AI, voy a usar MAUI, para crear un formulario para android muy básico Damo...