ABM-marketing met InsightRed

GitHub-repo van het project

Over

InsightRed is een LLM-aangedreven Account-Based Marketing (ABM)-tool die de nieuwste Reddit-reacties uit Subreddits extraheert, gesorteerd op “Hot”, en gebruikers identificeert die mogelijke interesse in je project of product tonen. Het helpt je om hoogwaardige gebruikers op Reddit te identificeren en te targeten, zodat je je eerste gebruikers voor je product/project kunt krijgen. Dit project is gebouwd voor de ANARCHY oktober 2023 hackathon.

Aankondiging(en)

19 oktober 2023

Als vervolg op dit project ben ik verheugd aan te kondigen dat we de 1e plaats hebben gewonnen op Anarchy’s oktober 2023 hackathon!

Klik hier om het bericht in TEKST-modus te bekijken (aangepast vanwege Discord's opmaak)
@everyone **👑 HACKATHON 👑**

Ik ben erg blij om de winnaars van de tweede anarchy-hackathon als volgt aan te kondigen:

🥇 "@Ben Zimmerman [T3CH3Y]", @Mehmet, en "@Ananya Aithal"'s InsightRed! https://www.youtube.com/watch?v=xhKwnKxmg5k

🥈 @partho en @Karan's  DistillClassifier https://www.loom.com/share/d7e7c8e12dd14bcabdf41051433901a1?sid=900cb491-8117-4530-a131-d87eeca1ca6f

Echt **GEWELDIG WERK IEDEREEN** @MathYouF en ik waren super onder de indruk van alle inzendingen.

Speciale vermeldingen gaan uit naar:

1. @B3LOL, @alastine , en @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

De feedback die we van deze projecten hebben gekregen was super waardevol en we gaan eraan werken om elk stukje te verbeteren 🦜

We zullen de teams individueel benaderen voor prijzen. Bovendien denken we dat deze projecten ongelooflijk genoeg waren om de komende paar weken te besteden aan het onder de aandacht brengen van deze ongelooflijke projecten.

Demo

Onderdelen van InsightRed

🧩 Verzamelaar

De Verzamelaar verzamelt de nieuwste Reddit-berichten en de reacties op dat bericht, voor een gegeven Subreddit, met behulp van Reddit’s API. Na het verzamelen slaat de verzamelaar de verzamelde gegevens op in een lokale SQLite-database. Dit wordt eenvoudig gemaakt door het python-pakket praw te gebruiken om te helpen bij het gebruik van de Reddit API en SQLAlchemy voor het uitvoeren van CRUD-bewerkingen in de lokale SQLite-database.

🧩 Vectorizer

De Vectorizer controleert de lokale SQLite-database om te zien welke reacties nog niet zijn opgeslagen in de vector-database. Na het verkrijgen van een lijst met reacties, maakt het een embedding van het bericht+reactie met behulp van OpenAI’s “text-embedding-ada-002”-model. Deze embedding wordt gebruikt als een index in de vector-database en er wordt ook enkele metadata, in de vorm van een JSON, gemaakt. De index en metadata worden vervolgens geüpload naar de vector-database, die in dit geval Pinecone is (cloudgebaseerd). Na het uploaden wordt de lokale SQLite-database bijgewerkt om het opnieuw uploaden van dezelfde gegevens naar Pinecone te voorkomen. Dit gebeurt allemaal met behulp van Pinecone’s python-client (pinecone-client) voor het uitvoeren van CRUD-opties op de vector-database en LangChain voor het afhandelen van het embeddingproces.

🧩 Interface

De interface is wat de gebruiker gebruikt om met de tool te communiceren. In dit geval is de interface een CLI. De interface heeft een implementatie van Retrieval-Augmented-Generation (RAG). Waar de gebruiker een beschrijving van zijn product, een lijst met Subreddits om te controleren, evenals enkele filters opgeeft. Gegeven deze context wordt eerst de Verzamelaar aangeroepen en daarna de Vectorizer. Nadat die twee services klaar zijn met verwerken, wordt de ingevoerde productbeschrijving gebruikt om een vergelijkbare zoekopdracht uit te voeren in de vector-database. De beste resultaten en de productbeschrijving worden vervolgens ingevoerd in een promptsjabloon, dat de uiteindelijke prompt maakt. De uiteindelijke prompt wordt vervolgens naar OpenAI’s GPT-4-model gestuurd en de uiteindelijke resultaten worden vervolgens aan de gebruiker gepresenteerd. Deze resultaten zullen een lijst zijn van alle Reddit-reacties die sterk suggereren dat de Reddit-gebruiker(s) geïnteresseerd zouden zijn in het aangeboden product, gebaseerd op de beschrijving ervan. Dit onderdeel werkt door gebruik te maken van de reacties van de Verzamelaar en de Vectorizer, evenals door Anarchy’s LLM-VM te gebruiken voor het afhandelen van het opvragen van OpenAI’s GPT-4-model.

Teamleden

Opmerkelijke externe credits

casta (Hacker News)

Leverde de inspiratie voor dit project via hun HN-bericht. Omdat hun oplossing niet open-source was, werd ik gemotiveerd om een open-source versie te maken (dit project).

ChatGPT (GPT-4)

Was erg behulpzaam bij de ontwikkeling door de ontwikkelcyclus echt te versnellen. En het genereerde het logo van het project en de YouTube-thumbnail met behulp van OpenAI’s nieuwe DALL-E 3-model.

James Briggs (YouTuber)

James’ video legde heel goed uit hoe je Reddit’s API gebruikt, evenals hoe je een basis RAG-pijplijn implementeert met behulp van Python.

Bronnen