Pruebe sin autenticación de Firebase (solución temporal): #2 (comentario)
Nuestra pila consta de Next.js, Rust, Postgres, MeiliSearch y Firebase Auth para autenticación. Regístrese para obtener una cuenta de Firebase y cree un proyecto.
En Firebase, navegue hasta Configuración del proyecto -> Cuentas de servicio, genere una clave privada y guárdela dentro de firebaseAdmin/cert/dev.json
si es para desarrollo o prod.json si es para producción.
Después de eso, asegúrese de instalar las dependencias antes de iniciar la aplicación.
npm install
npm run db:deploy
npm run dev
(para desarrollo)npm run build
(para producción)npm run start
(para producción) Una vez que haya ejecutado 'dev' o 'build', encontrará la extensión integrada dentro de la carpeta ./client/extension/build
. Luego puede cargar esta carpeta como una extensión descomprimida en su navegador.
Hay varios problemas con los agentes de navegador actuales. Aquí te explicamos los problemas y cómo los hemos solucionado.
Existen varias técnicas para esto, que van desde enviar una forma abreviada de HTML a GPT-3, crear un cuadro delimitador con ID y enviarlo a GPT-4-vision para realizar acciones, o pedirle directamente a GPT-4-vision que obtenga el Coordenadas X e Y del elemento. Sin embargo, ninguno de estos métodos fue confiable; todos condujeron a alucinaciones.
Para abordar esto, desarrollamos una nueva técnica en la que indexamos todo el DOM en MeiliSearch, lo que permite a GPT-4-vision generar comandos para el texto interno de qué elemento hacer clic, copiar o realizar otras acciones. Luego buscamos el índice con el texto generado y recuperamos el ID del elemento para enviarlo al navegador para que tome medidas. Aquí existen algunas limitaciones, pero hemos implementado algunas técnicas para superarlas, como tratar el mismo texto en múltiples elementos o hacer clic en un ícono (todavía estamos trabajando en esto).
Para evitar que GPT se descarrile de las tareas, utilizamos una técnica similar a la generación aumentada de recuperación, pero la llamamos generación aumentada de acciones. Básicamente, cuando un usuario crea un flujo de trabajo, no grabamos la pantalla, el micrófono o la cámara, pero sí registramos los cambios del elemento DOM para cada acción (hacer clic, escribir, etc.) que realiza el usuario. Luego utilizamos el título del flujo de trabajo, el objetivo y las acciones registradas para generar un conjunto de tareas. Cada vez que ejecutamos una tarea, incorporamos todas las acciones que el usuario realizó en ese dominio en particular con el mensaje. De esta manera, GPT se mantiene al día con la tarea, incluso si el usuario no ha proporcionado un título y un objetivo muy breves; sus acciones guiarán a GPT para completar la tarea.