InsightRed
关于
InsightRed 是一个由大型语言模型驱动的工具,擅长从子版块中提取最新的 Reddit 评论,按“热门”排序,并定位对您的项目或产品可能感兴趣的用户。它是一个 Reddit 营销工具,帮助您为您的产品/项目获取初始用户。该项目是为 ANARCHY 2023年10月黑客马拉松构建的。
公告
2023年10月19日
作为此项目的后续,我很高兴宣布我们在 Anarchy 2023年10月黑客马拉松中获得第一名!
点击此处以文本模式查看消息(因 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 的 API 为给定的子版块收集最新的 Reddit 帖子及其评论。收集完成后,收集器将收集到的数据保存到本地 SQLite 数据库中。这通过使用 Python 包 praw 来辅助使用 Reddit API,以及使用 SQLAlchemy 在本地 SQLite 数据库中执行 CRUD 操作而变得简便。
🧩 向量化器
向量化器检查本地 SQLite 数据库,查看哪些评论尚未保存到向量数据库中。获取评论列表后,它使用 OpenAI 的 “text-embedding-ada-002” 模型为帖子+评论创建嵌入。该嵌入作为向量数据库中的索引,并且还会创建以 JSON 形式的元数据。随后,将索引和元数据上传到向量数据库,本例中使用的是 Pinecone(云端)。上传后,本地 SQLite 数据库会更新,以避免将相同数据再次上传到 Pinecone。这一切都是通过使用 Pinecone 的 Python 客户端(pinecone-client)进行向量数据库的 CRUD 操作,以及使用 LangChain 来处理嵌入过程实现的。
🧩 界面
界面是用户与工具交互的方式。在本例中,界面是一个 CLI。该界面实现了 检索增强生成(RAG)。用户提供其产品的描述、要检查的子版块列表以及一些过滤条件。基于这些上下文,首先调用收集器,然后调用向量化器。两项服务处理完毕后,输入的产品描述用于在向量数据库中进行相似搜索。将搜索到的顶部结果和产品描述一起输入到提示模板中,生成最终提示。最终提示随后发送给 OpenAI 的 GPT-4 模型,最终结果呈现给用户。这些结果将列出所有高度暗示 Reddit 用户可能对所提供产品感兴趣的评论,基于其描述。该组件通过使用收集器和向量化器的评论,以及使用 Anarchy 的 LLM-VM 来处理对 OpenAI GPT-4 模型的查询。
团队成员
显著的外部致谢
casta (Hacker News)
通过他们的 HN 帖子 为本项目提供了灵感。由于他们的解决方案不是开源的,我受到激励去创建一个开源版本(本项目)。
ChatGPT (GPT-4)
在开发过程中提供了极大帮助,显著加快了开发周期。它还使用 OpenAI 的新 DALL·E 3 模型生成了项目的徽标和 YouTube 缩略图。
James Briggs (YouTuber)
James 的视频很好地解释了如何使用 Reddit 的 API 以及如何使用 Python 实现基本的 RAG 流水线。