Hacker News 向量搜索数据集
介绍
Hacker News 数据集 包含 2874 万
条帖子及其向量嵌入。这些嵌入是使用 SentenceTransformers 模型 all-MiniLM-L6-v2 生成的。每个嵌入向量的维度为 384
。
该数据集可用于走访大型、真实世界向量搜索应用程序的设计、规模和性能方面,该应用程序建立在用户生成的文本数据之上。
数据集详细信息
ClickHouse 提供的完整数据集与向量嵌入作为一个单一的 Parquet
文件存储在 S3 bucket
我们建议用户首先进行规模估算,以通过参考 文档 来估计该数据集的存储和内存需求。
步骤
为搜索查询生成嵌入
Sentence Transformers 提供本地、易于使用的嵌入 模型,用于捕获句子和段落的语义含义。
HackerNews 数据集中包含从 all-MiniLM-L6-v2 模型生成的向量嵌入。
下面提供一个示例 Python 脚本,演示如何使用 sentence_transformers
Python 包程序化生成
嵌入向量。搜索嵌入向量随后作为参数传递给 SELECT
查询中的 cosineDistance()
函数。
下面显示了运行上述 Python 脚本和相似度搜索结果的示例 (仅打印每个前 20 条帖子的 100 个字符):
总结演示应用
上述示例演示了使用 ClickHouse 的语义搜索和文档检索。
接下来展示一个非常简单但潜力巨大的生成 AI 示例应用。
该应用程序执行以下步骤:
- 从用户那里接受一个 主题 作为输入
- 使用
SentenceTransformers
和模型all-MiniLM-L6-v2
为 主题 生成一个嵌入向量 - 使用在
hackernews
表上进行的向量相似度搜索检索高度相关的帖子/评论 - 使用
LangChain
和 OpenAIgpt-3.5-turbo
聊天 API 总结 步骤 #3 中检索到的内容。 步骤 #3 中检索到的帖子/评论作为 上下文 传递给聊天 API,并且是生成 AI 的关键链接。
下面首先列出运行总结应用程序的示例,然后是
总结应用程序的代码。运行该应用程序需要在环境变量 OPENAI_API_KEY
中设置 OpenAI API 密钥。
在 https://platform.openai.com 注册后可以获得 OpenAI API 密钥。
该应用程序演示了适用于多个企业领域的生成 AI 用例,例如: 客户情感分析、技术支持自动化、挖掘用户对话、法律文档、医疗记录、 会议记录、财务报表等。
上述应用程序的代码: