InsightRed
Sobre
InsightRed é uma ferramenta alimentada por LLM capaz de extrair os comentários mais recentes do Reddit de Subreddits, classificados por “Quente”, e identificar usuários que demonstram interesse potencial no seu projeto ou produto. É uma ferramenta de marketing no Reddit para ajudar você a conseguir seus primeiros usuários para seu produto/projeto. Este projeto foi construído para o ANARCHY Hackathon de outubro de 2023.
Anúncio(s)
October 19, 2023
Como continuação deste projeto, estou empolgado em anunciar que conquistamos o 1º lugar no Hackathon de outubro de 2023 da Anarchy!
Clique aqui para ver a mensagem no modo TEXTO (modificado devido à formatação do Discord)
@everyone **👑 HACKATHON 👑**
Estou muito empolgado em anunciar os vencedores do segundo hackathon da Anarchy da seguinte forma:
🥇 "@Ben Zimmerman [T3CH3Y]", @Mehmet, e "@Ananya Aithal"'s InsightRed! https://www.youtube.com/watch?v=xhKwnKxmg5k
🥈 @partho e @Karan's DistillClassifier https://www.loom.com/share/d7e7c8e12dd14bcabdf41051433901a1?sid=900cb491-8117-4530-a131-d87eeca1ca6f
Realmente **TRABALHO INCRÍVEL, PESSOAL** @MathYouF e eu ficamos super impressionados com todas as submissões.
Menções especiais vão para:
1. @B3LOL, @alastine , e @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
O feedback que recebemos desses projetos foi super valioso e vamos corrigir cada detalhe 🦜
Vamos entrar em contato com as equipes individualmente para os prêmios. Além disso, achamos que esses projetos foram incríveis o suficiente para que gostaríamos de passar as próximas semanas trabalhando na divulgação desses projetos incríveis.
Demonstração
Componentes do InsightRed
🧩 Coletor
O Coletor coleta as postagens mais recentes do Reddit e os comentários dessas postagens, para um determinado Subreddit, usando a API do Reddit. Após a coleta, o coletor salva os dados coletados em um banco de dados SQLite local. Isso é facilitado pelo uso do pacote Python praw para auxiliar no uso da API do Reddit e do SQLAlchemy para executar operações CRUD no banco de dados SQLite local.
🧩 Vetorizador
O Vetorizador verifica o banco de dados SQLite local para ver quais comentários ainda não foram salvos no banco de dados vetorial. Depois de obter uma lista de comentários, ele cria uma incorporação da postagem+comentário usando o modelo “text-embedding-ada-002” da OpenAI. Essa incorporação é usada como um Índice no banco de dados vetorial e alguns metadados, no formato JSON, também são criados. O Índice e os metadados são então enviados ao banco de dados vetorial, que neste caso é o Pinecone (baseado em nuvem). Após o envio, o banco de dados SQLite local é atualizado para evitar reenvio dos mesmos dados ao Pinecone. Tudo isso é feito usando o cliente Python do Pinecone (pinecone-client) para realizar opções CRUD no banco de dados vetorial e o LangChain para lidar com o processo de incorporação.
🧩 Interface
A interface é o que o usuário utiliza para interagir com a ferramenta. Neste caso, a interface é uma CLI. A interface implementa o Retrieval-Augmented-Generation (RAG). Onde o usuário fornece uma descrição do seu produto, uma lista de Subreddits a serem verificados, bem como alguns filtros. Dado esse contexto, o Coletor é chamado e então o Vetorizador é chamado. Após esses dois serviços concluírem o processamento, a descrição do produto inserida é usada para fazer uma busca semelhante no banco de dados vetorial. Os principais resultados e a descrição do produto são então inseridos em um modelo de prompt que cria o prompt final. O prompt final é então enviado ao modelo GPT-4 da OpenAI e os resultados finais são apresentados ao usuário. Esses resultados serão uma listagem de todos os comentários do Reddit que sugerem fortemente que o(s) usuário(s) do Reddit estariam interessados no produto fornecido, com base em sua descrição. Este componente funciona usando os comentários do Coletor e do Vetorizador, bem como usando o LLM-VM da Anarchy para lidar com consultas ao modelo GPT-4 da OpenAI.
Membros da Equipe
Créditos Externos Notáveis
casta (Hacker News)
Fornecendo a inspiração para este projeto através de seu post no HN. Como a solução deles não era open-source, fui motivado a criar uma versão open-source (este projeto).
ChatGPT (GPT-4)
Foi muito útil no desenvolvimento ao acelerar significativamente o ciclo de desenvolvimento. E gerou o logotipo do projeto e a miniatura do YouTube usando o novo modelo DALL‑E 3 da OpenAI.
James Briggs (YouTuber)
O vídeo de James explicou muito bem como usar a API do Reddit e como implementar um pipeline RAG básico usando Python.
Fontes
- Show HN: Labor Day Fun Project, Find Reddit Comments to Promote Your Business
- Pinecone Indexing Overview Docs
- YouTube: Chatbots with RAG - LangChain Full Walkthrough
- OpenAI API Page
- Pinecone Quickstart Docs
- Reddit: Updated rate limits going into effect over the coming weeks
- Reddit Apps Page
- YouTube: How-to Use The Reddit API in Python
- Medium: Scraping Reddit data using Reddit API
- GitHub Gist: Reddit API
- GitHub: praw
- ChatGPT - Web App