Menu
IA Generativa

Cómo integrar la API de GPT en un proyecto .NET 8

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.

Crear una cuenta en OpenAI

Regístrate en OpenAI y obtén una clave de API para empezar a utilizar la API.

Crear un proyecto .NET 8

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
Instalar dependencias necesarias

Instala el paquete Microsoft.Extensions.Http para configurar HttpClient en tu proyecto.

dotnet add package Microsoft.Extensions.Http
Crear un servicio para la API de OpenAI

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;
    }
}
Configurar el servicio en 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();
        });
    }
}
Crear un controlador para la API

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);
    }
}
Probar la API

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?"
}