InsightRed
Repositorio GitHub del proyecto
Acerca de
InsightRed es una herramienta impulsada por LLM que se destaca en extraer los últimos comentarios de Reddit de los Subreddits, ordenados por “Hot”, y en identificar a los usuarios que muestran un interés potencial en su proyecto o producto. Es una herramienta de marketing en Reddit para ayudarle a conseguir sus primeros usuarios para su producto/proyecto. Este proyecto fue creado para el hackathon de ANARCHY de octubre de 2023.
Anuncio(s)
October 19, 2023
Como seguimiento a este proyecto, ¡estoy emocionado de anunciar que ganamos el primer lugar en el hackathon de octubre de 2023 de Anarchy!
Haga clic aquí para ver el mensaje en modo TEXTO (modificado debido al formato de Discord)
@everyone **👑 HACKATHON 👑**
I'm very excited to announce the second anarchy hackathon's winners as follows:
🥇 "@Ben Zimmerman [T3CH3Y]", @Mehmet, and "@Ananya Aithal"'s InsightRed! https://www.youtube.com/watch?v=xhKwnKxmg5k
🥈 @partho and @Karan's DistillClassifier https://www.loom.com/share/d7e7c8e12dd14bcabdf41051433901a1?sid=900cb491-8117-4530-a131-d87eeca1ca6f
Really **AMAZING WORK EVERYBODY** @MathYouF and I were super impressed by all the submissions.
Special mentions go out to:
1. @B3LOL, @alastine , and @AndrewKamau 's WiE: https://youtu.be/V8gqCvgRcpk
2. "@Mert Bozkir | mertbozkir"'s Doc-String-Ify: https://www.loom.com/share/274565d0ddec417783e739ee728654d3?sid=6bb1b07a-f06a-4ec3-82c6-1d7ba6eae0d3
The feedback we got from these projects has been super valuable and we're going to work on fixing every bit 🦜
We're going to reach out to the teams individually for prizes. Additionally, we think these were incredible enough that we'd like to spend the next few weeks working on showcasing these incredible projects.
Demo
Componentes de InsightRed
🧩 Colector
El Colector recopila las últimas publicaciones de Reddit y los comentarios de esas publicaciones, para un Subreddit dado, utilizando la API de Reddit. Después de recopilar, el colector guarda los datos recopilados en una base de datos SQLite local. Esto se facilita usando el paquete python praw para ayudar con el uso de la API de Reddit y SQLAlchemy para realizar operaciones CRUD en la base de datos SQLite local.
🧩 Vectorizador
El Vectorizador verifica la base de datos SQLite local para ver qué comentarios no se han guardado en la base de datos vectorial. Después de obtener una lista de comentarios, crea una incrustación del post+comentario usando el modelo “text-embedding-ada-002” de OpenAI. Esta incrustación se usa como Índice en la base de datos vectorial y también se crea algunos metadatos, en forma de JSON. El Índice y los metadatos se suben a la base de datos vectorial, que en este caso es Pinecone (basada en la nube). Después de subirlos, la base de datos SQLite local se actualiza para evitar volver a subir los mismos datos a Pinecone. Todo esto se realiza usando el cliente python de Pinecone (pinecone-client) para hacer opciones CRUD en la base de datos vectorial y LangChain para manejar el proceso de incrustación.
🧩 Interfaz
La interfaz es lo que el usuario utiliza para interactuar con la herramienta. En este caso, la interfaz es una CLI. La interfaz implementa Retrieval-Augmented-Generation (RAG). Donde el usuario proporciona una descripción de su producto, una lista de Subreddits a revisar, así como algunos filtros. Dado este contexto, se llama al Colector y luego al Vectorizador. Después de que esos dos servicios terminen de procesar, la descripción del producto ingresada se usa para realizar una búsqueda similar en la base de datos vectorial. Los resultados principales y la descripción del producto se introducen en una plantilla de prompt que crea el prompt final. El prompt final se envía al modelo GPT-4 de OpenAI y los resultados finales se presentan al usuario. Estos resultados serán una lista de todos los comentarios de Reddit que sugieren fuertemente que el(los) usuario(s) de Reddit estarían interesados en el producto proporcionado, basándose en su descripción. Este componente funciona usando los comentarios del Colector y del Vectorizador, así como usando el LLM-VM de Anarchy para manejar consultas al modelo GPT-4 de OpenAI.
Miembros del Equipo
Créditos Externos Notables
casta (Hacker News)
Proporcionó la inspiración para este proyecto a través de su publicación en HN. Dado que su solución no era de código abierto, me motivó a crear una versión de código abierto (este proyecto).
ChatGPT (GPT-4)
Fue muy útil en el desarrollo al acelerar realmente el ciclo de desarrollo. Además, generó el logo del proyecto y la miniatura de YouTube usando el nuevo modelo DALL‑E 3 de OpenAI.
James Briggs (YouTuber)
El video de James explicó realmente cómo usar la API de Reddit así como cómo implementar una canalización RAG básica usando Python.
Fuentes
- Mostrar HN: Proyecto Divertido del Día del Trabajo, Encuentra Comentarios de Reddit para Promocionar Tu Negocio
- Documentación de Visión General del Indexado de Pinecone
- YouTube: Chatbots con RAG - Recorrido Completo de LangChain
- Página de la API de OpenAI
- Documentación de Inicio Rápido de Pinecone
- Reddit: Límites de velocidad actualizados que entrarán en vigor en las próximas semanas
- Página de Aplicaciones de Reddit
- YouTube: Cómo Usar la API de Reddit en Python
- Medium: Extrayendo datos de Reddit usando la API de Reddit
- GitHub Gist: API de Reddit
- GitHub: praw
- ChatGPT - Aplicación Web