Una solución que automatiza la creación de publicaciones en LinkedIn y facilita la interacción de los creadores con los usuarios.
Descripción del proyecto
¿Podéis hacer una breve descripción del proyecto en el que habéis estado trabajando en el Robotics Lab?
La idea que hay detrás de este proyecto es buscar en internet información y noticias sobre tecnología, convertir esos textos en nuevas publicaciones y subirlos a LinkedIn a través de su API.
Objetivo del proyecto
¿Qué os inspiró o motivó a elegir este proyecto en particular?
Actualmente, están saliendo muchas noticias sobre robótica e IA, por lo que resulta difícil estar al día de los últimos avances e investigaciones. Nuestro objetivo es ofrecer resúmenes informativos a los usuarios y a quienes nos siguen en redes sociales, sin abrumarlos con actualizaciones innecesarias ni noticias irrelevantes.
Detalles técnicos
¿Podéis explicar los aspectos técnicos de vuestro proyecto? ¿Qué software y herramientas habéis utilizado?
Usamos Python para las secuencias de comandos y la automatización, además de varias tecnologías que nos permitían recopilar datos de la web. Para administrar los proxies y evitar el bloqueo de direcciones IP, hemos implementado técnicas de raspado proxy. Para la automatización, hemos usado herramientas similares a Zapier y software de programación de Linux, como Cron, para programar tareas. Además, utilizamos la API de OpenAI para el procesamiento de lenguaje natural, y actualmente estamos experimentando con modelos de lenguaje de gran tamaño (LLM) para mejorar nuestras capacidades de generación de texto.
Desafíos y soluciones
¿Cuáles son los desafíos más importantes que han surgido durante el proyecto y cómo los habéis resuelto? ¿Podéis darnos un ejemplo concreto?
Un desafío importante al que nos hemos enfrentado durante el proyecto ha sido el de gestionar la prohibición de direcciones IP al extraer información de varios sitios web. Para superar esa barrera, implementamos técnicas de raspado proxy que nos permitieron distribuir nuestras solicitudes en múltiples direcciones IP, reduciendo así la probabilidad de que bloquearan nuestra actividad.
También tuvimos dificultades con la coherencia y la calidad de los textos generados para las publicaciones de LinkedIn. Al principio solo contábamos con la API de OpenAI para el procesamiento del lenguaje natural, pero vimos que el contenido generado a veces carecía de coherencia o relevancia. Para solucionarlo, empezamos a experimentar con modelos de lenguaje de gran tamaño (LLM) autoalojados. Gracias a ello, pudimos ajustar los modelos en función de nuestras necesidades y publicar textos más precisos y adecuados al contexto. La integración de los LLM autoalojados en nuestras herramientas de automatización y en el software de programación de Cron nos permitió mejorar notablemente la calidad y fiabilidad de las publicaciones automatizadas para LinkedIn. Este cambio al autoalojamiento es también un método prometedor para reducir los costes de recurrir a LLM de terceros. Aún tenemos algunos problemas con las alucinaciones y no implementaremos nuestra solución hasta que estemos 100 % seguros de que no ofrecerá información falsa ni discrepancias. Es importante tener en cuenta que nuestro programa respeta todas las restricciones de los sitios web que prohíben el raspado, tanto en los detalles del estándar de exclusión de robots como en los términos de uso.
Colaboración y trabajo en equipo
¿Habéis colaborado con otros estudiantes o miembros del equipo en este proyecto? ¿Cómo contribuyó el trabajo en equipo al éxito del proyecto?
El trabajo en equipo fue uno de los ejes del proyecto, ya que fue lo que nos permitió hacerlo realidad. Esto se debe principalmente a la amplia gama de habilidades que reúnen todas las personas del grupo, por lo que si queríamos aprovechar las capacidades de cada uno era indispensable que trabajásemos en equipo. Al final, nos organizamos y trabajamos juntos, asegurándonos de que todo encajara bien y funcionara.
Aprendizaje
¿Qué lecciones o habilidades clave habéis aprendido con este proyecto? ¿Cómo ha influido el proyecto en vuestro interés por la robótica
Uno de los aprendizajes más importantes de este proyecto ha sido la integración de las distintas tecnologías. Para poder conectar el script a los modelos autoalojados, tuvimos que implementar varias medidas, como usar Docker para asegurarnos de que el programa pudiera funcionar de manera estable, independientemente de la máquina y los programas. Además, este proyecto ha sido una experiencia de aprendizaje de valor incalculable para el uso de API y herramientas de raspado web. El proyecto no solo nos ha permitido mejorar nuestras habilidades técnicas, sino que también nos ha enseñado que es posible automatizar los flujos de trabajo y las tareas con las innovaciones más punteras en IA.
Desarrollo futuro
¿Tenéis planes para seguir desarrollando o mejorando el proyecto en el futuro? ¿Hay áreas específicas o funciones que os gustaría explorar o mejorar en el proyecto?
En el futuro, podría ser interesante intentar escalar esta idea a otras redes sociales y funciones del club, como los correos electrónicos y las newslettters.