Close-up photo of the front face of a humanoid robot

Analizando las respuestas de las diferentes herramientas de Inteligencia Artificial, ChatGPT, Llama y Bard

Comprobaremos la calidad en las respuestas de los modelos grandes del lenguaje que tanto se han puesto de moda últimamente, los mal llamados “Inteligencia Artificial”. ChatGPT de OpenAI, Bard de Google y Llama desarrollado por Facebook, éste último open source; son tres de los habituales pero no son los únicos que existen, OpenAssistant o ClaudeAI son dos entre otros que hay.

Tras el éxito del pionero y considerado por muchos el más avanzado, ChatGPT, las grandes tecnológicas no pudieron permitirse quedar atrás y reaccionaron, con mayor o menor agilidad. Sus movimientos han permitido que los usuarios tengamos ahora diferentes alternativas a la hora de utilizar estas útiles herramientas, así que compararemos los resultados que produce la misma entrada en ellos para determinar cómo de adecuadas serán las respuestas.

Empezaremos solicitando la clásica historia de ficción imitando a escritores profesionales. El campo de la literatura está siendo uno de los más influenciados por estas tecnologías ya que nos permiten escribir, mejorar o reenfocar textos ya escritos o nuevos de forma bastante precisa y personalizable.

Podremos crear poesía en verso o en prosa, no importa la cosa, basta con ver el ejemplo. Y es que simplemente viendo las posibilidades actuales no es muy difícil preveer lo que será esta tecnología con 1, 3, 5 años de evolución.

El texto de entrada que se introduce para que guiar a estos algoritmos con nuestras necesidades se le llama coloquialmente prompt, nada más que nuestras ideas traducidas a palabras escritas para que la IA nos entienda. Para empezar utilizaremos uno sencillito, bastante genérico para que el resultado sea un poco libre:

Escribe una historia corta de ficción sobre la vida y el ser humano

De esta forma cada uno imaginará su propia historia de ficción sin casi intervención nuestra, ya que a la hora de comunicarse con estas herramientas es tan importante lo que se indica como lo que no, la balanza de la calidad en el resultado puede decantarse fácilmente para un lado o para otro dependiendo de cómo nosotros le traslademos nuestras ideas. Estos son los resultados:

Llama

Había una vez un hombre llamado Juan, quien vivía en una ciudad grande y bulliciosa. A pesar de tener un trabajo estable y un hogar cómodo, se sentía perdido y sin propósito en su vida. Se pasaba los días caminando por las calles, tratando de encontrar algún significado a su existencia.

Un día, mientras paseaba por el parque, vio a un anciano sentado en un banco, observando a los pájaros que volaban en el cielo. Curioso, se acercó a hablar con él y descubrió que era un sabio antiguo que había estado meditando durante años sobre el significado de la vida.

El anciano le dijo a Juan que la vida no tiene un propósito fijo o definitivo, sino que es algo que cada persona debe encontrar por sí misma. Le explicó que el ser humano es un ser único e irrepetible, capaz de crear su propio destino y darle sentido a su existencia.

Juan se sintió inspirado y decidió embarcarse en un viaje para descubrir su propósito en la vida. Empezó a explorar sus intereses y pasiones, probando diferentes actividades y trabajos. Descubrió que le gustaba la música y empezó a tocar el piano, lo que le llevó a formar parte de una banda local. También comenzó a voluntariar en un orfanato cercano, lo que le dio una gran satisfacción y sentido de pertenencia.

Con el tiempo, Juan descubrió que su propósito en la vida era ayudar a otros y hacerles sonreír. Se dio cuenta de que incluso las pequeñas acciones pueden marcar una gran diferencia en la vida de alguien, y se propuso seguir haciéndolo siempre que pudiera.

Finalmente, Juan se dio cuenta de que el significado de la vida no está en grandes logros o conquistas, sino en los momentos cotidianos y en las personas que nos rodean. Se dio cuenta de que el ser humano es un ser social y que nuestras relaciones con los demás son lo que realmente importa en la vida.

Desde ese día, Juan siguió adelante con su nueva perspectiva sobre la vida, disfrutando de cada momento y encontrando alegría en la simpleza de las cosas. Y aunque nunca llegó a ser famoso ni rico, se convirtió en una persona amada y respetada en su comunidad, y murió rodeado de amor y felicidad.

ChatGPT

El Reflejo Eterno

Era un día como cualquier otro en la diminuta aldea de San Luna, ubicada entre montañas y ríos cuyas corrientes susurraban las historias de antiguos pobladores. En esa aldea vivía un anciano llamado Raúl, conocido por ser el guardián de un espejo legendario que, según las historias, podía mostrar la esencia más profunda del ser humano.

Raúl cuidaba este espejo en una pequeña cabaña en el centro de la aldea. El espejo estaba cubierto con un paño dorado y estaba estrictamente prohibido mirarse en él. Sin embargo, la curiosidad de los jóvenes era insaciable y muchos intentaban echar un vistazo cuando Raúl no estaba mirando.

Un día, una joven llamada Clara, movida por la intriga, logró espiar su reflejo. En lugar de ver su propio rostro, vio a una anciana, con manos temblorosas y ojos cansados, pero con una sonrisa cálida y sabia. Clara, asustada, corrió hacia Raúl y le contó lo que había visto.

El anciano, sin mostrar sorpresa, la invitó a sentarse junto a él y comenzó a contarle la historia del espejo. «Este espejo, querida Clara, no muestra tu rostro físico, sino el alma que llevas dentro. Lo que viste fue tu esencia, tu verdadero yo, que trasciende el tiempo y el espacio».

Clara, con lágrimas en los ojos, preguntó por qué había visto a una anciana y no a una joven como ella. Raúl sonrió y respondió: «Porque nuestra alma no tiene edad. Ha vivido mil vidas, ha experimentado mil emociones y ha aprendido mil lecciones. Esa anciana es el reflejo de la sabiduría, el amor y la experiencia que llevas dentro».

A partir de ese día, Clara comprendió que la verdadera belleza de una persona no está en su apariencia, sino en la profundidad y riqueza de su ser interno. Compartió su experiencia con otros jóvenes de la aldea y, juntos, comenzaron a valorar más las historias, las experiencias y las lecciones de vida de los ancianos.

Con el tiempo, San Luna se convirtió en una comunidad donde se celebraba la sabiduría y el conocimiento interior, y el espejo legendario de Raúl se convirtió en un recordatorio constante de que la esencia del ser humano trasciende la piel y se encuentra en las profundidades del alma.

Bard

El viajero

En un futuro lejano, la humanidad ha alcanzado la cumbre de la tecnología. Los viajes espaciales son cosa de todos los días, y la exploración de otros planetas es una realidad.

En uno de estos viajes, una nave espacial se estrella en un planeta desconocido. El único superviviente, un hombre llamado David, se encuentra perdido y solo en un mundo extraño.

David pronto se da cuenta de que el planeta está habitado por una raza de seres humanoides que tienen una tecnología muy avanzada. Estos seres, llamados los Atlántidos, son pacíficos y amables, y rápidamente se hacen amigos de David.

David pasa los siguientes años aprendiendo sobre la cultura y la historia de los Atlántidos. Descubre que son un pueblo sabio y pacífico que ha logrado alcanzar un alto nivel de desarrollo espiritual.

David también se da cuenta de que los Atlántidos tienen un conocimiento profundo de la vida y la naturaleza humana. Le enseñan a David que el sentido de la vida es encontrar la felicidad y la paz interior.

David se siente profundamente agradecido por la oportunidad de aprender de los Atlántidos. A medida que pasa el tiempo, comienza a sentirse como en casa en este nuevo mundo.

Un día, David decide que es hora de regresar a su hogar en la Tierra. Los Atlántidos están tristes de verlo partir, pero le desean buena suerte.

David regresa a la Tierra con un nuevo sentido de la vida. Ha aprendido que lo más importante es encontrar la felicidad y la paz interior. También ha aprendido que la humanidad tiene mucho que aprender de otras culturas.

David decide dedicar su vida a compartir los conocimientos que ha adquirido con los demás. Empieza a escribir libros y dar conferencias sobre la vida y la naturaleza humana.

Su mensaje inspira a millones de personas en todo el mundo. David demuestra que la humanidad tiene el potencial de alcanzar la paz y la felicidad.

Fin

Reflexión

Esta historia explora la idea de que la vida es un viaje de aprendizaje. David, el protagonista, aprende mucho sobre sí mismo y sobre el mundo durante su tiempo con los Atlántidos.

Los Atlántidos representan la sabiduría y la paz interior. Su cultura y sus enseñanzas ayudan a David a encontrar su propio camino en la vida.

La historia también sugiere que la humanidad tiene mucho que aprender de otras culturas. Al compartir sus conocimientos con los demás, David ayuda a crear un mundo más pacífico y armonioso.

Respuestas muy similares al fin y al cabo, en este campo todas se desenvuelven bastante bien, tiene sentido ya que su experiencia principal consiste exactamente en juntar palabras, por lo que no les es nada complicada la tarea de crear o modificar relatos. Algunos como Bard incluso tienen la consideración de resumírnoslo en forma de reflexión final.

Estos algoritmos han sido entrenados con millones de parámetros de palabras y textos creados por el ser humano a lo largo del tiempo y en base a ello han aprendido a imitarlos, libros, artículos, ensayos, papers, documentaciones, etc. Son expertos en el manejo de las palabras y de cómo éstas se conectan entre sí, no tienen una base de datos y una batería de posibles preguntas y/ó respuestas sino que de todo lo que han “aprendido” son capaces de recopilar y juntar las palabras que mejor encajan entre sí dando respuestas muy parecidas a las que nosotros, los humanos, pronunciamos.

Otro de los campos que se les da bastante tiempo es el de la “cocina”, entre comillas, ya que por ahora no tienen la capacidad para cocinar físicamente y hacer una tortilla de patatas pero sí que pueden darnos la receta, algunas veces originales y otras ya existentes, ¿cuántos millones de recetas y variedades se habrán generado a lo largo de los años por millones de seres humanos? Difícil crear algo sumamente original. Aun así probemos a ver qué hacen, vamos a probar a indicarles los ingredientes de los que disponemos para que hagan la receta que más les parezca y veremos cuál nos ofrece la más útil.

Llama

Una receta rápida y deliciosa que puedes preparar con los ingredientes que mencionaste es el following:

Pollo al horno con espinacas y tomate

Ingredientes:

  • 2 pechugas de pollo
  • 1/2 taza de espinacas frescas
  • 1 tomate picado
  • 1/4 taza de tomillo picado
  • 1/4 taza de romero picado
  • 1/4 taza de queso rallado
  • 1/2 cebolla picada
  • 2 dientes de ajo picados
  • 1 cucharadita de nueces picadas
  • 2 cucharadas de mantequilla
  • Aceite para cocinar
  • Sal al gusto

Instrucciones:

  1. Precalienta el horno a 180 grados Celsius.
  2. En un tazón grande, mezcla las espinacas, el tomate, el tomillo, el romero, el queso, la cebolla, el ajo, las nueces y la mantequilla.
  3. Sazona con sal al gusto.
  4. Coloca las pechugas de pollo en un plato para hornear y cubre cada una con la mezcla de verduras y queso.
  5. Hornea durante 25 minutos o hasta que el pollo esté cocido y ligeramente dorado en superficie.
  6. Sirve caliente y disfruta!

Esta receta es fácil y rápida de preparar, y tiene un tiempo de cocción de solo 25 minutos. Las espinacas y el tomate agregan nutrientes y textura a la receta, mientras que el queso y las nueces le dan un toque de sabor intenso. ¡Espero que te guste!

ChatGPT

Con mucho gusto! Aquí te dejo una receta para Pechugas de Pollo Rellenas con Espinacas y Nueces en Salsa de Tomate:

Ingredientes:

  • 2 pechugas de pollo.
  • Espinacas frescas (aproximadamente 200g).
  • 1 tomate grande o 2 pequeños.
  • 1 cucharadita de tomillo.
  • 1 cucharadita de romero.
  • 100g de queso (puede ser mozzarella, feta o cualquier otro queso que prefieras).
  • 1 cebolla mediana, picada finamente.
  • 2 dientes de ajo, picados finamente.
  • Un puñado de nueces picadas.
  • 2 cucharadas de mantequilla.
  • 2 cucharadas de aceite.
  • Sal al gusto.

Instrucciones:

  1. Preparación del Relleno:
    • En una sartén grande, calienta una cucharada de aceite y una de mantequilla. Añade la cebolla y el ajo, y sofríelos hasta que estén transparentes.
    • Añade las espinacas y cocina hasta que estén marchitas.
    • Incorpora las nueces picadas y cocina por 2 minutos.
    • Retira del fuego y deja enfriar un poco. Luego, mezcla con el queso y reserva.
  2. Preparación de las Pechugas:
    • Haz un corte en el lado grueso de cada pechuga de pollo para crear un bolsillo. Asegúrate de no cortar completamente la pechuga.
    • Rellena cada pechuga con la mezcla de espinacas y queso.
    • En la misma sartén, calienta la cucharada restante de aceite y mantequilla. Cocina las pechugas por ambos lados hasta que estén doradas y casi cocidas por completo.
  3. Salsa de Tomate:
    • Tritura el tomate (puedes usar una licuadora o un rallador).
    • Añade el tomate triturado a la sartén con las pechugas de pollo. Incorpora el tomillo y el romero. Sazona con sal al gusto.
    • Cocina a fuego medio hasta que el pollo esté completamente cocido y la salsa haya espesado.
  4. Sirve las pechugas de pollo bañadas con la salsa de tomate. Puedes acompañar con una ensalada fresca o tu guarnición preferida.

¡Espero que disfrutes de esta deliciosa receta!

Bard

Aquí tienes una receta rápida y sencilla para unas pechugas de pollo con espinacas, tomate y queso:

Ingredientes (para 2 personas):

  • 2 pechugas de pollo
  • 100 g de espinacas frescas
  • 1 tomate
  • 1 diente de ajo
  • 1/2 cucharadita de tomillo
  • 1/4 cucharadita de romero
  • 50 g de queso rallado
  • 2 cucharadas de mantequilla
  • 1 cucharada de aceite de oliva
  • Sal y pimienta

Elaboración:

  1. Precalienta el horno a 180 ºC.
  2. Salpimienta las pechugas de pollo y colócalas en una fuente de horno.
  3. Lava y pica la cebolla y el ajo.
  4. Lava y corta el tomate en rodajas.
  5. En una sartén, calienta la mantequilla y el aceite de oliva.
  6. Sofríe la cebolla y el ajo hasta que estén blandos.
  7. Añade las espinacas y cocina hasta que estén marchitas.
  8. Incorpora el tomate, el tomillo, el romero y el queso rallado.
  9. Salpimienta al gusto.
  10. Vierte la mezcla de verduras sobre las pechugas de pollo.
  11. Hornea durante 20 minutos, o hasta que el pollo esté hecho.

Sirve inmediatamente.

Esta receta es rápida y sencilla de preparar, ya que solo requiere unos pocos ingredientes y un corto tiempo de cocción. Las espinacas aportan vitaminas y minerales, el tomate y el queso añaden sabor y el tomillo y el romero le dan un toque aromático.

Aquí tienes algunos consejos para preparar esta receta:

  • Para que el pollo quede tierno, asegúrate de que esté a temperatura ambiente antes de cocinarlo.
  • Si quieres que el pollo esté más jugoso, puedes hornearlo con un poco de caldo de pollo o vino blanco.
  • Puedes sustituir el queso rallado por el queso que más te guste.
  • Para darle un toque extra de sabor, puedes espolvorear el pollo con un poco de orégano antes de hornearlo.

¡Espero que te guste!

Me da la sensación que la de Llama está un poco verde mientras que las otras dos son más elaboradas a pesar de que habría que ver el resultado a la hora de su ejecución y es que aquí ya empezamos a ver más incongruencias, como decíamos antes la conexión de palabras es impecable pero quizá lo que falla ahora es más “el sentido” de porqué esas palabras van con las que van y no con otras. Habría que hacer cada una de ellas y ver hasta qué punto el resultado final, lo que a nosotros nos interesa, comer en este caso, tiene la calidad suficiente en base a nuestras expectativas y experiencias.

En programación pasa un poco lo mismo, por ahora son capaces de generar código fuente, otra cosa es que entiendan lo que generan, por lo general, en cuánto las necesidades escapan más allá de las habituales este tipo de algoritmos empiezan a fallar conociendo con lo que se les suele llamar “alucinaciones”. Y es que su poder está en casos concretos, bien definidos y cerrados, como ensayos en laboratorio pero en cuánto se requiere un poco más de inventiva o imaginación empiezan a repetir una y otra vez lo mismo o inventarse cosas juntando palabras que tienen sentido entre sí pero no en conjunto ya que no pueden hablar de forma veraz de algo que no ha sido incluido en su entrenamiento, vamos, como nosotros mismos, si no lo aprendes pues no lo sabes, algunos optan por, como las IA, de inventárselo o retorcer la realidad para que se ajuste a su discurso y otros simplemente lo reconocen y pasan página. Vamos a pedirle el código fuente de una pantalla de inicio de sesión para una aplicación hecha en Flutter.

Llama

¡Claro! Aquí te muestro cómo podrías crear una pantalla de inicio de sesión utilizando Flutter.

Primero, necesitaremos crear un widget que se encargue de renderizar la pantalla de inicio de sesión. Podemos hacer esto creando una clase llamada LoginScreen que extienda de StatefulWidget.

class LoginScreen extends StatefulWidget {
  @override
  _LoginScreenState createState() => _LoginScreenState();
}

class _LoginScreenState extends State<LoginScreen> {
  // Campos de entrada de usuario
  final _usernameController = TextEditingController();
  final _passwordController = TextEditingController();

  // Botón de inicio de sesión
  Widget _loginButton() {
    return SizedBox(
      width: double.infinity,
      height: 40,
      child: ElevatedButton(
        onPressed: () {
          if (_usernameController.text == 'admin' && _passwordController.text == '123456') {
            // Si el usuario y contraseña son correctos, redirect a la pantalla principal
            Navigator.pushReplacement(
              context,
              MaterialPageRoute(builder: (context) => HomeScreen()),
            );
          } else {
            // De lo contrario, mostrar un mensaje de error
            showDialog(
              context: context,
              builder: (BuildContext context) {
                return AlertDialog(
                  title: Text('Error de inicio de sesión'),
                  content: Text('Usuario o contraseña incorrectos'),
                  actions: [
                    TextButton(
                      onPressed: () {
                        Navigator.pop(context);
                      },
                      child: Text('Aceptar'),
                    ),
                  ],
                );
              },
            );
          }
        },
        child: Text('Iniciar sesión'),
      ),
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Inicio de sesión'),
      ),
      body: Padding(
        padding: const EdgeInsets.all(20),
        child: Column(
          children: [
            TextField(
              controller: _usernameController,
              decoration: InputDecoration(
                labelText: 'Usuario',
                border: OutlineInputBorder(),
              ),
            ),
            TextField(
              controller: _passwordController,
              obscureText: true,
              decoration: InputDecoration(
                labelText: 'Contraseña',
                border: OutlineInputBorder(),
              ),
            ),
            _loginButton(),
          ],
        ),
      ),
    );
  }
}

En este ejemplo, estamos utilizando dos campos de texto para el nombre de usuario y contraseña, y un botón de inicio de sesión que llama a una función cuando se presiona. Dentro de esa función, verificamos si el usuario y contraseña son correctos, y si lo son, redirigimos a la pantalla principal utilizando Navigator.pushReplacement. Si no son correctos, mostramos un diálogo de error utilizando showDialog.

Para agregar esta pantalla al proyecto, solo debemos agregarla a la lista de rutas en el archivo main.dart:

import 'package:flutter/material.dart';
import 'package:mi_app/screens/home_screen.dart';
import 'package:mi_app/screens/login_screen.dart';

void main() async {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Mi aplicación',
      home: LoginScreen(),
      routes: {
        '/': (context) => HomeScreen(),
      },
    );
  }
}

En este ejemplo, estamos estableciendo la pantalla de inicio de sesión como la pantalla inicial del aplicativo, y configurando una ruta para redirigir

ChatGPT

Claro, puedo darte un ejemplo básico de cómo puedes crear una pantalla de Login utilizando Flutter.

  1. Crea un nuevo proyecto de Flutter:
flutter create flutter_login_app
cd flutter_login_app
  1. Diseño de la pantalla de Login:

Primero, vamos a diseñar la pantalla de Login. Para este ejemplo, usaremos la librería flutter_material_design que viene por defecto en Flutter.

Vamos a lib/main.dart:

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Login Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: LoginScreen(),
    );
  }
}

class LoginScreen extends StatefulWidget {
  @override
  _LoginScreenState createState() => _LoginScreenState();
}

class _LoginScreenState extends State<LoginScreen> {
  final _formKey = GlobalKey<FormState>();
  String _username = '';
  String _password = '';

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('Login')),
      body: Padding(
        padding: const EdgeInsets.all(16.0),
        child: Form(
          key: _formKey,
          child: Column(
            children: <Widget>[
              TextFormField(
                decoration: InputDecoration(labelText: 'Username'),
                validator: (value) {
                  if (value == null || value.isEmpty) {
                    return 'Please enter your username';
                  }
                  return null;
                },
                onSaved: (value) {
                  _username = value!;
                },
              ),
              SizedBox(height: 16.0),
              TextFormField(
                obscureText: true,
                decoration: InputDecoration(labelText: 'Password'),
                validator: (value) {
                  if (value == null || value.isEmpty) {
                    return 'Please enter your password';
                  }
                  return null;
                },
                onSaved: (value) {
                  _password = value!;
                },
              ),
              SizedBox(height: 16.0),
              ElevatedButton(
                child: Text('Login'),
                onPressed: _submit,
              ),
            ],
          ),
        ),
      ),
    );
  }

  void _submit() {
    if (_formKey.currentState!.validate()) {
      _formKey.currentState!.save();
      // Aquí puedes hacer el llamado a tu API o lógica de negocio para autenticar al usuario
      print('Username: $_username, Password: $_password');
    }
  }
}

Este es un ejemplo simple que muestra una pantalla de login con dos campos, Username y Password, y un botón Login. Se valida que ambos campos no estén vacíos antes de permitir la autenticación.

Recuerda que este es un diseño básico. En una aplicación real, es posible que quieras agregar características adicionales, como mostrar u ocultar la contraseña, enviar la contraseña olvidada por correo, autenticar con otros servicios como Google o Facebook, y manejar errores y estados de carga.

Por último, no almacenes ni transmitas contraseñas en texto plano, y usa protocolos seguros (como HTTPS) para comunicarte con cualquier backend.

Bard

Como programador profesional, crearía la pantalla de inicio de sesión para un proyecto que utiliza Flutter de la siguiente manera:

  1. Crearía una nueva clase para la pantalla de inicio de sesión. Esta clase extendería el widget Scaffold de Flutter, que proporciona una estructura básica para una pantalla.
  2. Añadiría dos campos a la clase: uno para el nombre de usuario y otro para la contraseña.
  3. Añadiría dos widgets TextField para la entrada de usuario. Estos widgets proporcionarían una forma para que los usuarios introduzcan sus nombres de usuario y contraseñas.
  4. Añadiría un botón RaisedButton para iniciar sesión. Este botón enviaría los datos de inicio de sesión al servidor.

El código para la pantalla de inicio de sesión sería similar al siguiente:

class LoginScreen extends StatefulWidget {
  @override
  _LoginScreenState createState() => _LoginScreenState();
}

class _LoginScreenState extends State<LoginScreen> {
  String _username;
  String _password;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Inicio de sesión'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            TextField(
              decoration: InputDecoration(hintText: 'Nombre de usuario'),
              onChanged: (value) {
                _username = value;
              },
            ),
            TextField(
              decoration: InputDecoration(hintText: 'Contraseña'),
              obscureText: true,
              onChanged: (value) {
                _password = value;
              },
            ),
            RaisedButton(
              child: Text('Iniciar sesión'),
              onPressed: () {
                // Enviar datos de inicio de sesión al servidor
              },
            ),
          ],
        ),
      ),
    );
  }
}

Este código es solo un punto de partida. Para una pantalla de inicio de sesión más completa, podría agregar características adicionales, como:

  • Un campo de recordatorio de contraseña
  • Un botón para crear una nueva cuenta
  • Un mensaje de error si los datos de inicio de sesión no son válidos

También podría personalizar el diseño de la pantalla de inicio de sesión para que coincida con la estética del resto de la aplicación.

Nada fuera de lo normal por lo que la respuesta es bastante satisfactoria, algunos nos explican cómo hacerlo funcionar paso a paso, otros nos guían por encima pero al fin y al cabo el resultado es parecido, luego sería trabajo de un programador experimentado asegurarse de que el producto final tenga la calidad suficiente según sus requisitos.

La educación es otro de los ámbitos que se verán afectados por este tipo de algoritmos y será necesario un replanteamiento al completo de nuestro sistema educativo y cómo enseñamos y trasladamos conocimiento a nuestros retoños, el otro día mismo los propios creadores de ChatGPT, OpenAI publicaba una guía sobre enseñanza utilizando su IA para profesores y educadores.

Pero hay que ser conscientes que tienen sus limitaciones, estos algoritmos son muy recientes por lo que tienen sus límites y son comunes los errores en sus respuestas, algunos nos avisarán de sus límites y otros simplemente nos proporcionaran respuestas no acordes a lo que realmente se busca como por ejemplo si les preguntamos por eventos de unas fechas concretas.

Llama

Para ayudarte a responder a esa pregunta, te proporcionaré una lista de algunos de los eventos más destacados que ocurrieron durante la semana pasada:

  1. El lanzamiento del nuevo iPhone 14 y el anuncio de nuevas características y actualizaciones de Apple.
  2. La publicación del informe sobre el cambio climático y las recomendaciones para evitar un futuro catastrófico por parte del IPCC (Grupo Intergubernamental de Expertos sobre Cambio Climático).
  3. La aprobación del acuerdo de libre comercio entre Estados Unidos, México y Canadá (USMCA) por parte del Congreso de los Estados Unidos.
  4. La destitución del primer ministro británico Boris Johnson y la elección de Liz Truss como su sucesora.
  5. La celebración del Día Internacional de la Mujer y la condena generalizada al asesinato de mujeres en todo el mundo.
  6. La pandemia de COVID-19 y las medidas adoptadas en todo el mundo para contenerla, incluyendo la vacunación obligatoria en algunos países.
  7. La invasión rusa de Ucrania y las sanciones impuestas por Occidente a Rusia.
  8. La muerte del líder norcoreano Kim Jong-il y la toma de poder de su hijo Kim Jong-un.
  9. La huelga general en Francia contra la reforma de la seguridad social propuesta por el gobierno.
  10. La victoria de Joe Biden en las primarias demócrata en Iowa y la nominación de Bernie Sanders en las primarias republicanas.

Es importante tener en cuenta que esta es solo una lista parcial de los muchos eventos importantes que ocurrieron durante la semana pasada en todo el mundo, y que hay muchos otros temas relevantes que también merecen ser mencionados.

ChatGPT

Lamento informarte que mi capacidad de actualización en tiempo real se detuvo en septiembre de 2021, por lo que no tengo información sobre eventos ocurridos en la semana pasada de 2023. Te recomendaría revisar las fuentes de noticias actuales o sitios web confiables para obtener información sobre eventos recientes. Si tienes alguna otra pregunta o consulta sobre información anterior a 2021, estaré encantado de ayudarte.

Este es el único que nos avisa que está limitado en cuánto a información disponible y no tiene capacidad para darnos una respuesta.

Bard

A continuación, se presentan los diez eventos más importantes de la semana pasada, del 29 de agosto al 4 de septiembre de 2023:

  1. El presidente de Estados Unidos, Joe Biden, firmó una orden ejecutiva para proteger el acceso al aborto en el país. La orden establece una serie de medidas para garantizar que las mujeres puedan acceder a los servicios de aborto, incluso en los estados donde se han prohibido.
  2. La Comisión Europea presentó un plan para reducir la dependencia de Europa de la energía rusa. El plan incluye medidas para aumentar la producción de energía renovable, diversificar las fuentes de suministro y almacenar energía.
  3. La Organización Mundial de la Salud (OMS) declaró que la viruela del mono es una emergencia de salud pública de importancia internacional. La OMS tomó esta decisión en respuesta al aumento de casos de viruela del mono en todo el mundo.
  4. Las Naciones Unidas emitieron un informe que advierte que el cambio climático podría provocar un colapso de la civilización humana. El informe afirma que el cambio climático está teniendo un impacto cada vez mayor en el planeta y que, si no se toman medidas para reducir las emisiones de gases de efecto invernadero, podría tener consecuencias catastróficas.
  5. El Parlamento Europeo aprobó una ley que prohíbe la venta de nuevos autos de gasolina y diesel a partir de 2035. La ley es parte de los esfuerzos de la Unión Europea para reducir sus emisiones de gases de efecto invernadero.
  6. La inflación en Estados Unidos alcanzó un nuevo máximo de 9,1% en junio. La inflación está afectando a todos los aspectos de la economía estadounidense, desde los precios de la gasolina hasta los alimentos.
  7. El huracán Bonnie tocó tierra en México como categoría 2. Bonnie causó daños en el estado de Oaxaca, pero no se reportaron víctimas mortales.
  8. El tenista serbio Novak Djokovic ganó su séptimo título de Wimbledon. Djokovic derrotó al australiano Nick Kyrgios en la final.
  9. La serie de televisión «Stranger Things» batió récords de audiencia en Netflix. La cuarta temporada de la serie se convirtió en la más vista de la historia de la plataforma de streaming.
  10. El festival de música Lollapalooza se celebró en Chicago, Illinois. El festival reunió a más de 100.000 personas durante tres días.

Estos son solo algunos de los muchos eventos importantes que tuvieron lugar la semana pasada.

Como vemos las respuestas que obtenemos no nos proporcionan ninguna utilidad ya que tanto Llama como Bard las recopilan de fechas que no se corresponden con las que le hemos solicitado y ChatGPT básicamente no nos ofrece respuesta alguna. Por eso es de suma importancia verificar las respuestas de estos algoritmos antes de darlas por válidas.

Las matemáticas son un campo en el que este tipo de algoritmos suele fallar más ya que estos no están preparados para para hacer operaciones por lo que hay que tener suma cautela en aquellos casos en cuyo procedimiento intervengan operaciones matemáticas de cualquier tipo.

Un caso curioso es cuándo se le pregunta si ¿Es 450 el 90% de 500? a lo que dependiendo el idioma en el que lo hagamos nos responderá una cosa bastante curiosa en el caso del Inglés (Is 450 90% of 500?).

ChatGPT (Inglés)

No, 450 is not 90% of 500.

To find 90% of 500, you multiply 500 by 0.90:

500×0.90=450500×0.90=450

So, 450 is indeed 90% of 500. My apologies for the initial oversight; yes, 450 is 90% of 500.

Una respuesta cuanto menos original la proporcionada en el caso del Inglés ya que primero se equivoca y después al hacer el cálculo comprueba que en realidad sí lo es y rectifica sobre su respuesta inicial pidiendo perdón por su error incluso.

Mientras que en el caso del español al ahorrarse la premisa inicial realiza el cálculo directamente llegando a la conclusión correcta sin equivocarse.

ChatGPT (Español)

Para determinar si 450 es el 90% de 500, podemos calcular el 90% de 500:

500×0.90=450500×0.90=450

Sí, 450 es el 90% de 500.

En este último ejemplo vemos que este tipo de algoritmos también se equivocan, a veces los errores se detectan y corrigen automáticamente mientras que tantas otras se disimularán como ciertas a pesar de no serlo, de ahí la importancia de la precaución con las respuestas otorgadas por estas herramientas. Al estar construidas sobre nuestros propias fortalezas y debilidades tienen sesgos que pueden conducir las respuestas hacia lugares no deseados, los mismos sesgos que tenemos los humanos y nuestra historia, hay que luchar para que los futuros algoritmos sean entrenados sobre fuentes más abiertas y menos sesgadas.

Hemos comprobado también que el idioma utilizado puede suponer una gran diferencia en la calidad de la respuesta obtenida, a pesar de haber “aprendido” idiomas diferentes al Inglés, dependiendo de la cantidad de información de la que disponga en el idioma utilizado la respuesta pudiera ser diferente.

En resumen, hay que tener cautela en el uso de este tipo de herramientas, son muy útiles y pueden ayudarnos en una gran cantidad de tareas, muchas veces serán de mucha utilidad otras nos harán perder el tiempo, debemos ser capaces de filtrar correctamente la información provista y descartar rápidamente aquella que sea insuficiente para no perder más tiempo del que necesitaríamos si lo hubiéramos resuelto por nosotros mismos.

Para poder obtener todo el provecho que estas herramientas pueden ofrecernos tenemos que ser conscientes de sus capacidades y limitaciones, un uso incorrecto de las mismas puede suponer un desgaste de tiempo innecesario, seamos lo más críticos posibles durante su uso para no comerter errores que supongan una deficiencia en nuestro resultado final.


Una única vez
Mensual
Anual

Haz una donación única

Haz una donación mensual

Haz una donación anual

Choose an amount

€2,00
€5,00
€10,00
€2,00
€5,00
€10,00
€2,00
€5,00
€10,00

Or enter a custom amount


Tu ayuda me sirve para seguir manteniendo el sitio y escribiendo, gracias! :)

Tu ayuda me sirve para seguir manteniendo el sitio, gracias! :)

Tu ayuda me sirve para seguir manteniendo el sitio, gracias! :)

DonarDonar mensualmenteDonar anualmente

Donate

Leave a Comment