¿Por qué C# y la IA son la pareja ideal?
\n\nCuando hablamos de inteligencia artificial y desarrollo, normalmente pensamos en Python. Es lógico: TensorFlow, PyTorch, transformadores... Pero, ¿qué pasa si tu stack es C#, .NET y no quieres cambiar tus herramientas habituales? La buena noticia es: C# y las redes neuronales se combinan perfectamente, especialmente cuando se trata de usar modelos ya preparados a través de una API.
\n\nChatGPT no es solo un juguete de moda. Es una herramienta potente que puede generar código, escribir documentación, analizar datos e incluso ayudar con la depuración. En este artículo, veremos cómo conectar ChatGPT a un proyecto de C#, escribiremos código real y exploraremos las oportunidades que se abren para los desarrolladores de .NET.
\n\n¿Qué necesitas saber antes de empezar?
\n\nPara trabajar con la API de OpenAI en C# necesitarás:
\n\n- \n
- Una cuenta en platform.openai.com (necesitas una clave API) \n
- Visual Studio 2022 o JetBrains Rider \n
- .NET 6.0 o superior (se recomienda .NET 8) \n
- La biblioteca
OpenAI(paquete NuGet) \n
No te asustes: todo el proceso no te llevará más de 15 minutos. Repasemos paso a paso cómo crear una aplicación de consola que se comunique con ChatGPT.
\n\nPaso 1. Crear el proyecto e instalar la biblioteca
\n\nAbre la terminal o la Consola del Administrador de Paquetes y ejecuta el comando:
\n\ndotnet new console -n ChatGPTDemo\ncd ChatGPTDemo\ndotnet add package OpenAI --version 1.11.0\n\n\nEl paquete OpenAI para C# es un cliente oficial que soporta todos los modelos más recientes, incluyendo GPT-4 y GPT-4 Turbo. Se desarrolla activamente, así que es mejor usar la versión más reciente.
\n\nConfiguración de la clave API
\n\nNunca guardes las claves en el código. Usa variables de entorno o un archivo de configuración. Para el ejemplo, crearemos un appsettings.json:
{\n "OpenAiApiKey": "tu_súper_clave_secreta"\n}\n\n\nAñade el paquete NuGet Microsoft.Extensions.Configuration.Json al proyecto y carga la clave así:
var config = new ConfigurationBuilder()\n .AddJsonFile("appsettings.json")\n .Build();\n\nstring apiKey = config["OpenAiApiKey"];\n\n\nAhora estamos listos para la parte más interesante.
\n\nPaso 2. Primera solicitud a ChatGPT en C#
\n\nEscribamos un método simple que envíe un mensaje al modelo y reciba una respuesta. Aquí está el código completo:
\n\nusing OpenAI;\nusing OpenAI.Chat;\n\nvar client = new OpenAIClient(apiKey); // apiKey del config\n\nvar chatClient = client.GetChatClient("gpt-4o-mini");\n\nvar messages = new List<ChatMessage>\n{\n new SystemChatMessage("Eres un asistente útil que responde en español."),\n new UserChatMessage("Escribe un ejemplo de código en C# para leer un archivo JSON.")\n};\n\nvar response = await chatClient.CompleteChatAsync(messages);\nvar reply = response.Value.Content[0].Text;\n\nConsole.WriteLine(reply);\n\n\n¿Qué sucede aquí? Creamos un cliente, especificamos el modelo gpt-4o-mini (rápido y económico), establecemos un prompt de sistema (el rol del asistente) y enviamos la solicitud del usuario. La respuesta llega como texto estructurado.
\n\nEsto es lo básico. Luego se puede complicar: añadir historial de diálogo, manejar errores, hacer llamadas asíncronas.
\n\nPaso 3. Crear un asistente inteligente para trabajar con código
\n\nUna de las funciones más útiles de ChatGPT en el desarrollo con C# es la revisión de código y la generación de documentación. Creemos una clase que analice nuestro código y sugiera mejoras.
\n\npublic class CodeReviewer\n{\n private readonly ChatClient _chatClient;\n\n public CodeReviewer(string apiKey)\n {\n var client = new OpenAIClient(apiKey);\n _chatClient = client.GetChatClient("gpt-4o-mini");\n }\n\n public async Task<string> ReviewCodeAsync(string code)\n {\n