Foto de George Becker

Y si la IA puede ayudarme como un compañero de trabajo. Es lo que os voy a mostrar.

Imaginar este caso de uso: necesito pasar cientos de ficheros de código de visual basic 6 a .net 7.

Lo primero es implementar Azure OpenAI con ChatGPT4 ya que es la versión más moderna.

Lo segundo es prepara un buen prompt, aquí la cuestión: “quiero que adoptes el rol de un desarrollador y tranformes el siguiente código de visual basic 6 a c# con .net 7: ‘[tu_codigo]’

Con este pequeño código puedes mejorarlo para que lea de forma recursiva todos los ficheros y los transforme:

using System.Text;
using Azure;
using Azure.AI.OpenAI;

var client = new OpenAIClient(
    new Uri("https://[YOUR_IMPLEMENTATION].openai.azure.com/"),
    new AzureKeyCredential("[YOUR_KEY]"));

var options = new ChatCompletionsOptions { MaxTokens = 30000 };

options.Messages.Add(new ChatMessage(ChatRole.System,
    @"You are an AI assistant that helps developers to transform code."));

var fileImput = File.ReadAllText(@"C:\temp\testInput.txt");

var prompt = string.Concat(@"[YOUR_PROMPT]", fileImput, @" ");

options.Messages.Add(new ChatMessage(ChatRole.User, prompt));

var response = await client.GetChatCompletionsStreamingAsync(
    "[YOUR_CHAT]", options);

var sb = new StringBuilder();
await foreach (var choice in response.Value.GetChoicesStreaming())
await foreach (var message in choice.GetMessageStreaming())
    if (!string.IsNullOrEmpty(message.Content))
        sb.Append(message.Content);

File.WriteAllText(@"C:\temp\testOutput.txt", sb.ToString());

Con este pequeño código puedes mejorarlo para que lea de forma recursiva todos los ficheros y los transforme.

Para finalizar y dejar un trabajo más fino, ando viendo como funciona Semantic Kernel para mejorar mi trabajo. Esto lo veremos en un artículo más adelante.

 Conclusión

No es una mala jugada y según mis estimaciones voy ahorrar entre un 10% y un 25% de prorciento del trabajo, esto en un proyecto de 10K puede que no se aprecie mucho, pero en un proyecto de 100K el ahorro monetario salta a la vista.