Descubre cómo utilizar la API de GPT en un entorno .NET 8 para potenciar tus aplicaciones con IA. Este tutorial te guiará paso a paso sobre cómo integrar la API de OpenAI en tu proyecto ASP.NET Core, permitiéndote aprovechar sus capacidades de inteligencia artificial.
Regístrate en OpenAI y obtén una clave de API para empezar a utilizar la API.
Crea un nuevo proyecto ASP.NET Core en .NET 8 utilizando Visual Studio o la CLI de .NET. Asegúrate de seleccionar la opción de API al crear el proyecto.
dotnet new webapi -n IntegrarApiGPT
Instala el paquete Microsoft.Extensions.Http
para configurar HttpClient
en tu proyecto.
dotnet add package Microsoft.Extensions.Http
Crea una clase de servicio que se encargue de la comunicación con la API de OpenAI. Este servicio enviará solicitudes a la API y procesará las respuestas.
public class OpenAiService { private readonly HttpClient _httpClient; private const string ApiKey = "TU_API_KEY"; // Sustituye con tu clave de API public OpenAiService(HttpClient httpClient) { _httpClient = httpClient; } public async Task<string> GetGPTResponseAsync(string prompt) { var requestData = new { model = "text-davinci-003", prompt = prompt, max_tokens = 100 }; var response = await _httpClient.PostAsJsonAsync("https://api.openai.com/v1/completions", requestData); response.EnsureSuccessStatusCode(); var responseBody = await response.Content.ReadAsStringAsync(); return responseBody; } }
Startup.cs
Registra el servicio OpenAiService
en el contenedor de dependencias de ASP.NET Core.
public class Startup { public void ConfigureServices(IServiceCollection services) { services.AddHttpClient<OpenAiService>() .ConfigureHttpClient(client => { client.DefaultRequestHeaders.Add("Authorization", "Bearer TU_API_KEY"); }); services.AddControllers(); } public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseRouting(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); } }
Crea un controlador que reciba peticiones y utilice el servicio para interactuar con la API de OpenAI. Este controlador será el encargado de recibir los prompts y devolver las respuestas generadas por GPT.
[ApiController] [Route("api/[controller]")] public class GPTController : ControllerBase { private readonly OpenAiService _openAiService; public GPTController(OpenAiService openAiService) { _openAiService = openAiService; } [HttpPost("ask")] public async Task<IActionResult> Ask([FromBody] string prompt) { var response = await _openAiService.GetGPTResponseAsync(prompt); return Ok(response); } }
Usa herramientas como Postman o Swagger para probar la API creada. Envía un POST a /api/gpt/ask
con un cuerpo JSON que contenga el prompt para el modelo GPT.
{ "prompt": "¿Cuál es la capital de Francia?" }