InsightRed

Репозиторій GitHub проєкту

Про

InsightRed — це інструмент на базі LLM, який вміє витягувати останні коментарі Reddit з субреддітів, відсортованих за «Hot», і визначати користувачів, які можуть бути зацікавлені у вашому проєкті чи продукті. Це інструмент маркетингу в Reddit, який допомагає отримати перших користувачів для вашого продукту/проєкту. Цей проєкт був створений для ANARCHY жовтневого хакатону 2023 року.

Оголошення

19 жовтня 2023

У продовження цього проєкту я радий оголосити, що ми зайняли 1‑ше місце на жовтневому хакатоні Anarchy 2023!

Натисніть тут, щоб переглянути повідомлення у TEXT режимі (модифіковано через форматування 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.

Демонстрація

Компоненти InsightRed

🧩 Колектор

Колектор збирає останні пости Reddit та їхні коментарі для заданих субреддітів, використовуючи Reddit’s API. Після збору колектор зберігає зібрані дані у локальну базу даних SQLite. Це спрощується завдяки використанню Python‑пакету praw для роботи з Reddit API та SQLAlchemy для виконання CRUD‑операцій у локальній базі даних SQLite.

🧩 Векторизатор

Векторизатор перевіряє локальну базу даних SQLite, щоб визначити, які коментарі ще не збережені у векторній базі даних. Після отримання списку коментарів він створює вбудовування посту+коментаря за допомогою моделі OpenAI “text-embedding-ada-002”. Це вбудовування використовується як індекс у векторній базі даних, а також створюються деякі метадані у форматі JSON. Індекс і метадані потім завантажуються у векторну базу даних, якою в даному випадку є Pinecone (хмарна). Після завантаження локальна база даних SQLite оновлюється, щоб уникнути повторного завантаження тих самих даних у Pinecone. Усе це здійснюється за допомогою Python‑клієнта Pinecone (pinecone-client) для виконання CRUD‑операцій у векторній базі даних та LangChain для обробки процесу вбудовування.

🧩 Інтерфейс

Інтерфейс — це те, чим користувач взаємодіє з інструментом. У цьому випадку інтерфейс — це CLI. Інтерфейс має реалізацію Retrieval-Augmented-Generation (RAG). Користувач надає опис свого продукту, список субреддітів для перевірки та деякі фільтри. Виходячи з цього контексту, спочатку викликається Колектор, потім Векторизатор. Після завершення обробки цих двох сервісів, введений опис продукту використовується для пошуку у векторній базі даних. Найкращі результати та опис продукту передаються у шаблон підказки, який створює фінальну підказку. Фінальна підказка надсилається моделі GPT‑4 від OpenAI, і результати потім представляються користувачеві. Ці результати — це список усіх коментарів Reddit, які сильно вказують на те, що користувач(і) Reddit можуть бути зацікавлені у зазначеному продукті, згідно з його описом. Цей компонент працює, використовуючи коментарі Колектора та Векторизатора, а також використовуючи LLM-VM від Anarchy для запитів до моделі GPT‑4 від OpenAI.

Члени команди

Помітні зовнішні заслуги

casta (Hacker News)

Надав натхнення для цього проєкту через їхній HN post. Оскільки їхнє рішення не було відкритим, я був мотивований створити відкриту версію (цей проєкт).

ChatGPT (GPT-4)

Був дуже корисним у розробці, значно прискорюючи цикл розробки. Також він згенерував логотип проєкту та мініатюру YouTube, використовуючи нову модель DALL‑E 3 від OpenAI.

James Briggs (YouTuber)

Відео Джеймса дуже добре пояснювало, як використовувати Reddit API, а також як реалізувати базовий RAG‑pipeline за допомогою Python.

Джерела