InsightRed

Dépot GitHub du projet

À propos

InsightRed est un outil alimenté par LLM capable d’extraire les derniers commentaires Reddit des Subreddits, triés par « Hot », et d’identifier les utilisateurs qui manifestent un intérêt potentiel pour votre projet ou produit. C’est un outil de marketing Reddit pour vous aider à obtenir vos premiers utilisateurs pour votre produit/projet. Ce projet a été construit pour le hackathon d’octobre 2023 de ANARCHY.

Annonce(s)

19 octobre 2023

En suivi de ce projet, je suis ravi d’annoncer que nous avons remporté la première place au hackathon d’octobre 2023 d’Anarchy !

Cliquez ici pour voir le message en mode TEXTE (modifié en raison du formatage 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.

Démonstration

Composants d’InsightRed

🧩 Collecteur

Le Collecteur récupère les derniers posts Reddit et les commentaires de ces posts, pour un ou plusieurs Subreddits, en utilisant l’API Reddit. Après la collecte, le collecteur enregistre les données collectées dans une base de données SQLite locale. Cela est facilité par le paquet python praw qui aide à utiliser l’API Reddit et SQLAlchemy pour effectuer des opérations CRUD dans la base de données SQLite locale.

🧩 Vectoriseur

Le Vectoriseur vérifie la base de données SQLite locale pour voir quels commentaires n’ont pas été enregistrés dans la base de données vectorielle. Après avoir obtenu une liste de commentaires, il crée une embedding du post+commentaire en utilisant le modèle « text-embedding-ada-002 » d’OpenAI. Cette embedding est utilisée comme index dans la base de données vectorielle et certaines métadonnées, sous forme de JSON, sont également créées. L’index et les métadonnées sont ensuite téléchargés vers la base de données vectorielle, qui dans ce cas est Pinecone (cloud). Après le téléchargement, la base de données SQLite locale est mise à jour afin d’éviter de re-téléverser les mêmes données vers Pinecone. Tout cela est réalisé en utilisant le client python de Pinecone (pinecone-client) pour les opérations CRUD sur la base de données vectorielle et LangChain pour gérer le processus d’embedding.

🧩 Interface

L’interface est ce que l’utilisateur utilise pour interagir avec l’outil. Dans ce cas, l’interface est une CLI. L’interface implémente le Retrieval-Augmented-Generation (RAG). L’utilisateur fournit une description de son produit, une liste de Subreddits à vérifier, ainsi que certains filtres. Dans ce contexte, le Collecteur est appelé puis le Vectoriseur est appelé. Après que ces deux services aient terminé le traitement, la description du produit saisie est utilisée pour effectuer une recherche similaire dans la base de données vectorielle. Les meilleurs résultats et la description du produit sont alors injectés dans un modèle de prompt qui crée le prompt final. Le prompt final est ensuite envoyé au modèle GPT‑4 d’OpenAI et les résultats finaux sont présentés à l’utilisateur. Ces résultats seront une liste de tous les commentaires Reddit qui suggèrent fortement que l’utilisateur Reddit serait intéressé par le produit fourni, en fonction de sa description. Ce composant fonctionne en utilisant les commentaires du Collecteur et du Vectoriseur, ainsi qu’en utilisant le LLM‑VM d’Anarchy pour interroger le modèle GPT‑4 d’OpenAI.

Membres de l’équipe

Crédit extérieur notable

casta (Hacker News)

Fournissant l’inspiration pour ce projet via leur post HN. Comme leur solution n’était pas open‑source, j’ai été motivé à créer une version open‑source (ce projet).

ChatGPT (GPT‑4)

A été très utile pendant le développement en accélérant réellement le cycle de développement. Il a également généré le logo du projet et la miniature YouTube en utilisant le nouveau modèle DALL‑E 3 d’OpenAI.

James Briggs (YouTuber)

La vidéo de James a vraiment expliqué comment utiliser l’API Reddit ainsi que comment implémenter un pipeline RAG basique avec Python.

Sources