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.