semantic-search-through-wikipedia-with-weaviate
将维基百科全量数据转化为语义向量知识库,演示 Weaviate 向量搜索引擎的强大检索能力
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
将维基百科全量数据转化为语义向量知识库,演示 Weaviate 向量搜索引擎的强大检索能力
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下,你想在一秒钟内从维基百科全部 600 万篇文章中找到"关于黑洞和时间相对论的关系"——不是精确关键词匹配,而是语义层面的理解。这种需求,传统数据库根本无法满足,而向量数据库正是为这一场景而生。
weaviate/semantic-search-through-wikipedia-with-weaviate 是由知名开源向量数据库 Weaviate 官方团队维护的演示项目。它将完整英文维基百科导入 Weaviate,展示了如何利用向量搜索技术在大规模语料上实现语义级别的信息检索。2023年5月项目归档后,其代码仍具有极高的学习和参考价值。
Weaviate 是一个开源的向量搜索引擎数据库,核心特点是:
Weaviate 在 GitHub 拥有超过 3 万颗星,是向量数据库领域的头部项目,由荷兰公司 SeMI Technologies 主导开发。
该项目将 Wikipedia 数据处理拆解为三个阶段:
Step 1 - 数据预处理(process.py)
从 Wikipedia XML 数据转储中提取文章内容,包括:
mwparserfromhell 解析 Wiki 标记语言,提取纯文本Step 2 - 数据导入(import.py)
通过 Weaviate Python 客户端将处理后的数据批量导入:
Step 3 - 向量化和查询
使用 Sentence-BERT(paraphrase-MiniLM-L6-v2) 模型将文本转为 384 维向量:
text2vec-transformers 模块直接集成在 Weaviate 内部项目提供了两个 docker-compose 配置:
GPU 版本(推荐):docker-compose-gpu.yml
CPU 版本:docker-compose-no-gpu.yml
这个项目是 向量数据库 + 大规模预训练模型 结合的典型案例。它展示了:
随着 LLM 浪潮兴起,向量数据库已成为 RAG 系统的核心基础设施。Weaviate 作为开源领先者,其官方示范项目的架构设计值得深入研究。
注:本文档基于 GitHub 项目仓库代码和 Weaviate 官方博客内容整理,分析时间为 2026年7月。