Ir al contenido

El Poder de la IA con Delphi: Cómo Dext Framework simplifica la integración con Gemini

El Poder de la IA con Delphi

Veo muchos artículos por ahí mostrando integraciones complejas de IA usando una “ensalada de frutas” de tecnologías: frameworks JS pesados en el front, capas y más capas en el back. A veces, parece que para ser “moderno”, necesitas complicar las cosas.

Pero Delphi siempre ha sido sobre simplicidad y poder. Y con o Dext Framework, esta filosofía alcanza un nuevo nivel.

Decidí demostrar que es posible crear un chat de IA moderno, con un aspecto premium y alto rendimiento, usando solo Delphi y un frontend simple en HTML/Tailwind, todo servido por un único binário. Sin “ida y vuelta” innecesario, solo código limpio y directo al grano.

¿El resultado? Un código limpio, performante y extremadamente productivo.


El secreto de este proyecto es el concepto de Full Stack Delphi. En lugar de separar el frontend y el backend en ecosistemas diferentes que apenas se hablan, usamos Dext para unificar la experiencia. El servidor Delphi no solo procesa la lógica de IA, sino que también entrega los archivos estáticos de forma optimizada.

  1. Minimal API Style: Nada de controladores pesados. Rutas definidas de forma fluida e directa en el .dpr.
  2. Serving Static Files: Una línea de código para servir todo tu frontend (wwwroot). La UI es simple a propósito, enfocada en demostrar la integración rápida con IA.
  3. Model Binding Inteligente: Dext recebe el JSON del frontend y ya lo transforma en un record Delphi validado.
  4. Inyección de Dependencia (DI): Gestión de instancias nativa con TActivator.
  5. Async RestClient: Comunicación no bloqueante con la API de Gemini usando .Await.
  6. Validación por Atributos: Garantizando que los datos lleguen correctos con el uso de [Required].

Para el frontend, nada de configuraciones complejas. Usamos un simple index.html com Tailwind CSS para un visual Glassmorphism premium, consumindo nuestra API Delphi vía fetch.

Dext Gemini Mockup

Dext sirve este archivo automáticamente a través del middleware .UseStaticFiles('wwwroot').

[!TIP] Evolucionando la UI: Aunque usamos HTML puro para este ejemplo, Dext ofrece potentes motores de plantillas como o Dext Template Engine (basado en AST, estilo Razor) y soporte nativo para Web Stencils (Delphi 12.2+). Esto permite crear vistas dinámicas y complejas en el servidor (SSR) con la misma facilidad.


Mira qué sencillo es configurar el servidor. Usamos middlewares de log y tratamiento de excepciones que facilitan mucho el debug durante el desarrollo.

program DextGeminiServer;
uses
Dext, Dext.Web, Dext.Net.RestClient, Gemini.Models;
begin
var App := WebApplication;
App.Builder
.UseDeveloperExceptionPage
.UseHttpLogging
.UseStaticFiles('wwwroot')
// Ruta de la API para IA
.MapPost<TChatRequest, IResult>('/ia/ask',
function(Req: TChatRequest): IResult
begin
var Response := RestClient(AgentModelUrl)
.PostJson(TDextJson.Serialize(TGeminiRequest.Create(Req.question)))
.Await;
if Response.StatusCode = HttpStatus.OK then
begin
var Gemini := TDextJson.Deserialize<TGeminiResponse>(Response.ContentString);
Result := Results.Ok(TChatResponse.Create(Gemini.FirstText));
end
else
Result := Results.Problem('Error en la API de Gemini');
end);
App.Run;
end.

Olvida las clases complejas para DTOs. En Dext, usamos records para mapear el JSON, lo que reduce el consumo de memoria y simplifica el código.

type
TChatRequest = record
public
[Required]
question: string;
end;

El punto aquí no es decir que una tecnología es mejor que otra, sino mostrar el poder de elección. Con el Dext Framework, el desarrollador Delphi gana superpoderes modernos:

  • Productivity: Menos código repetitivo (boilerplate).
  • Modernidad: Patrones usados por las mayores empresas de tecnología (Minimal APIs, Async/Await).
  • Performance: Bajo consumo de recursos y alta velocidad de respuesta.

Si quieres llevar tus aplicaciones Delphi al siguiente nivel e integrar con lo más nuevo en Inteligencia Artificial, Dext es el camino.

¿Qué te pareció este enfoque? ¿Ya estás usando IA en tus proyectos Delphi? ¡Hablemos en los comentarios!

#Delphi #DextFramework #AI #Gemini #WebDevelopment #Backend #Productivity

Documentación de Dext: Lee los Detalles Técnicos