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