Sign In
Free Sign Up
  • English
  • Español
  • 简体中文
  • Deutsch
  • 日本語
Sign In
Free Sign Up
  • English
  • Español
  • 简体中文
  • Deutsch
  • 日本語

Science Navigator — 使用 MyScale 实现亿级向量与结构化数据的毫秒级检索

在科学研究中,文献调研是至关重要的环节。根据美国国家科学基金会的统计,科研人员花费在查找和消化科研资料上的时间占全部科研时间的51%。尽管查阅式和搜索式检索仍是主流方法,但随着大语言模型的快速发展,越来越多的人开始利用人工智能方法进行文献调研。

作为 AI for Science 基础设施的“替代文献的数据库与知识库”的创新项目之一,Science Navigator 1.0 (opens new window)由北京科学智能研究院、墨奇科技、深势科技、中国科学院计算机网络信息中心、催化剂+等机构联合开发。Science Navigator不仅极大提升了科研人员的工作效率,也为科学探索铺就了全新的路径。

从实际科研需求出发,我们发现仍有许多需求未被满足。例如,学科交叉已成为常态,这使得我们对内容交叉检索的需求更加迫切。与以往仅使用关键词检索不同,我们对内容交叉检索的要求更高。

今天的大语言模型能够有效提升检索的交叉性,但也存在一些问题,如幻觉现象和答非所问。基于科学研究的严谨性,我们对内容溯源的需求愈发强烈。因此,Science Navigator 首先需要一个强大的数据库,能够有效管理上亿篇科研文献,高效存储和索引各种类型的数据,并确保查询的准确性。在评估了不同方案后, MyScale (opens new window) 的优势凸显,接下来将共同剖析其优势点。

Science Navigator 简介 (opens new window)

# Science Navigator 对向量数据库的独特需求

Science Navigator 是一个面向科研人员的 RAG (opens new window) 知识库问答系统,旨在覆盖超过2亿篇科研文献,为高校、材料、化工、生物医药等多个行业的科研人员提供高效的专业知识获取服务,从而显著提升研究效率。为实现这一目标,我们对向量数据库提出以下需求:

# 数据管理

Science Navigator 涉及广泛的科研文献,数据类型复杂多样。除了文字,科学文献中还包含大量独特的科学表示,如分子式、数学公式和图表等,这些都蕴含着丰富的人类智慧。如何有效存储这些不同类型和格式的数据,并确保其可追溯性,是向量数据库面临的挑战。

# 数据查询的准确性

在为企业和科研机构的科研人员提供服务时,Science Navigator 希望确保问答系统的查询结果准确无误,以维护科学研究的严谨性。同时,系统需在高并发情况下保持高效的检索性能,以满足科研人员随时随地获取信息的需求,从而提高研究效率。这对系统的查询准确性和性能提出了较高要求。

# 多租户数据隔离

最后,Science Navigator 需要支持多个行业和领域的用户群体,确保各用户的数据和服务独立,互不干扰,以更好地满足不同学科背景科研人员的个性化需求。这要求底层数据库具备灵活的多租户管理功能。

# 为什么选择 MyScale

Science Navigator 的目标是帮助科研人员快速获取准确的科研文献,而自然语言查询是实现这一目标的重要功能。为了支持自然语言查询,我们需要依赖 Text2SQL (opens new window) 和 SelfQuery 的技术。MyScale 基于 ClickHouse 构建,支持完整的 SQL 语法,并提供基于 LangChain 的结构化和非结构化查询结合的 SelfQueryRetriever (opens new window),完美契合我们的需求。此外,MyScale 能像传统关系型数据库一样处理结构化数据,这使得开发者可以进行复杂的 SQL 查询、聚合和分析操作,同时用户也能通过自然语言提问,提升了系统的易用性,尤其是对不熟悉 SQL 的用户而言,降低了使用门槛。

在确保查询准确性和相关性方面,除了向量搜索,我们还需要向量与结构化数据的联合搜索。MyScale 的架构能够同时存储结构化和非结构化数据,并将向量搜索与结构化数据查询无缝集成。其联合搜索功能可以处理非结构化数据及相关元数据,增强对查询语义的理解,提供更丰富的搜索能力,从而提高搜索的相关性。此外,MyScale 的多租户管理功能 (opens new window)支持多种策略,如基于表的多租户和基于元数据的管理策略,满足我们的灵活需求。

综上所述,我们调研了市面上的专用向量数据库和增加了向量插件的传统数据库,最终只有 MyScale 满足我们的所有需求,因此我们选择 MyScale 作为 Science Navigator 的底层数据库。

Boost Your AI App Efficiency now
Sign up for free to benefit from 150+ QPS with 5,000,000 vectors
Free Trial
Explore our product

# 解决方案

Science Navigator 是一个创新的学术论文搜索和对话 agent 平台,其核心优势之一在于充分利用了 MyScale AI 数据库的强大功能。MyScale 不仅支持高效的向量搜索和 BM25 关键词搜索,还提供了全面的 SQL 支持,这一特性为 Science Navigator 的数据管理带来了巨大的灵活性和效率。

# 数据存储

平台的数据基础包括 2 亿篇论文的元数据和 300 万篇 arXiv 论文的全文内容。通过专门开发的 PDF 解析工具,Science Navigator 能够精确提取论文中的文本、图片、表格和数学公式。这些结构化和非结构化数据都被统一存储在 MyScale 中,既保留了原始格式,又转换为向量形式以支持高效搜索

知识库表

# 数据管理与检索

得益于 MyScale 的 SQL 支持,Science Navigator 能够将各种复杂的论文元数据存储在同一个数据库系统中。这包括论文之间的引用关系、各个学术刊物的详细信息、作者与论文之间的关联等。这种集中化的数据存储方式大大简化了数据管理流程,同时提高了查询效率。如上图所示,Science Navigator 在 MyScale 用多张关系型表格存储相关的论文数据,其中的 paper_table 保存了论文元数据,text_table 保存了 PDF 解析出来的全文数据,我们对其中的文本以及文本转成的向量创建了关键字倒排索引和向量索引。对于从 PDF 中解析出来的图像,我们将 embedding 保存到了 image_table 中并创建向量索引。对于作者元数据的 author_table,我们只针对作者姓名创建关键字倒排索引。对于论文之间的引用关系,它们被直接保存在关系型表格 citation_table 中。

Science Navigator 的搜索功能充分利用了 MyScale 的混合搜索能力 (opens new window)。用户可以同时使用向量搜索和关键词搜索,结合 SQL 查询来精确定位所需的学术资源。例如,可以轻松实现基于论文内容相似度、发表年份、引用次数等多维度的复杂查询。

在对话功能方面,MyScale 的 SQL 支持使得 Science Navigator 能够快速检索和组合各类相关信息,为用户提供全面而准确的回答。系统可以轻松关联论文内容、作者信息、引用网络等数据,生成深入的学术见解。

# 系统调优和维护

为了持续优化性能,Science Navigator 利用 MyScale 存储和分析用户交互数据。聊天历史、大模型调用轨迹等信息都被记录在 MyScale 中。通过 SQL 查询和分析这些数据,平台能够洞察用户行为模式,优化搜索算法和对话模型。

MyScale 的 SQL 支持还为 Science Navigator 提供了强大的数据管理和分析能力。平台管理员可以使用熟悉的 SQL 语法进行复杂的数据操作和分析,如跟踪热门研究主题、分析作者合作网络、评估期刊影响力等。

总的来说,MyScale 对 SQL 的全面支持,结合其在向量搜索和关键词搜索方面的优势,使 Science Navigator 成为一个功能强大、灵活高效的学术研究助手。它不仅提供了先进的搜索和对话能力,还为整个学术生态系统的数据管理和分析提供了强大的支持。

# MyScale 带来的成果

大规模多模态数据存储

Science Navigator 是首个能利用嵌入向量实现对 2 亿篇论文的元数据和 300 万篇 arXiv 论文的全文内容进行语义搜索的论文检索系统。

实现大规模数据精准检索

Science Navigator 强大的自然语言对话式检索能力,能够迅速定位到科研工作者所需的精确信息,使得文献检索变得前所未有的简单和快捷。这一切得益于平台内置的 MyScale AI 数据库,与大语言模型的优势融合,等效实现了 3-6 倍参数量模型效果,训练和推理成本大幅降低。MyScale 为大模型提供了有效的记忆载体,满足科研文献知识库动态快速更新的特点,以及精准输出结果的需求,实现了低成本、高效率的信息存储,而且不占用模型空间。在 MyScale 的帮助下,Science Navigator 实现百亿级向量与海量结构化数据的毫秒级检索,使科研人员平均文献搜索时间缩短90%以上,对专业领域复杂问题仍能保持95%以上的问答精度。

成本控制

在兼顾高精度和高效能的前提下,MyScale AI 数据库采用独特的 MSTG 向量索引算法,将原始向量存储在 NVMe SSD 上。与纯内存的 HNSW 向量索引算法相比,内存消耗减少了 16 倍,总成本降低了 90% 以上。

Join Our Newsletter

# 总结

Science Navigator 不仅仅是一个为科研工作者量身打造的 AI 平台,它更是一个全新的科研生态系统。从知识提取工具到前沿进展追踪工具,从科研灵感的生成器到文献综述写作工具,Science Navigator 开放了绝大部分能力的API接口,使用者可以在这个平台的基础上构建自己的应用和智能体,以满足科研复杂的个性需求。

未来,我们将继续深化与 MyScale 的合作,添加更多行业的高质量科研文献,持续优化系统系能,成为广大科研人员强大且易用的知识文献导航器。

Keep Reading
images
不要将未来建立在专门的向量数据库上

随着人工智能的兴起,向量数据库因其高效存储、管理和检索大规模高维数据的能力而受到了广泛关注。这种能力对于处理文本、图像和视频等非结构化数据的人工智能和生成式人工智能(GenAI)应用至关重要。 向量数据库的主要逻辑是提供相似性搜索功能,而不是传统数据库提供的关键字搜索。这个概念在大型语言模型(LLM)的性能提升中得到了广泛应用,特别是在ChatGPT发布之后。 LLM的最大问题是需要大量的资源 ...

images
优化MyScale中的过滤向量搜索

向量搜索是基于向量表示在数据集中寻找相似向量或数据点的方法。然而,在现实世界的场景中,纯向量搜索往往是不够的。向量通常带有元数据,并且用户经常需要对这些元数据应用一个或多个过滤器。这就引入了过滤向量搜索。 过滤向量搜索在复杂的检索场景中变得越来越重要。您可以应用过滤机制来过滤掉多维嵌入的前k个/范围之外的不需要的向量。 在本博客中,我们首先讨论了实现过滤向量搜索的技术挑战。然后,我们提供了一个 ...

images
如何使用 LangChain 和 OpenAI 对大型文档进行总结

大型语言模型使许多任务变得更加容易,如制作聊天机器人、语言翻译、文本摘要等。我们过去常常为摘要编写模型,然后总是会遇到性能问题。现在,我们可以通过使用大型语言模型(LLM)来轻松实现这一点。例如,最先进的LLM已经可以处理整本书的上下文窗口。但是,在摘要非常大的文档时仍然存在一些限制。 LLM 大型文档摘要的局限性 LLM中的上下文限制或上下文长度是指模型可以处理的标记数量。每个 ...

Start building your Al projects with MyScale today

Free Trial
Contact Us