人工智能在最近两年由抽象变得具体,其中 OpenAI ChatGPT 功不可没。强大的大型语言模型(LLM)如 GPT-4、Gemini 1.5 和 Claude 3 在人工智能和技术领域产生了巨大影响。一些模型能够处理超过 100 万个标记,它们处理长上下文的能力令人印象深刻。然而:
许多数据结构对 LLM 来说过于复杂且不断演变,难以进行有效处理。
另一方面,在上下文窗口中管理庞大且异构的企业数据是不切实际的。
当然,LLM 的最大问题是需要大量的资源、时间和数据进行训练和微调,这使得它们难以频繁更新,以包含最新的信息和数据。这就是为什么当你向 LLM 查询最近的事件时,它们经常会提供错误的、荒谬的或与输入提示不相关的答案,导致“幻觉”。
针对以上问题,现在常被提到且运用的一种解决方案是检索增强生成(RAG),它通过整合从外部知识库检索到的最新信息来增强 LLM。而向量数据库的速度和效率使其成为 RAG 系统的重要组成部分。
向量数据库因其高效存储、管理和检索大规模高维数据的能力而受到了广泛关注。向量是指将数据块(如文本、图像、音频等)转换为数值表示的形式,这种数值表示称为向量嵌入。
这些向量通常在高维空间中具有多个维度,可以表示为N 维空间中的一个点。通过这种表示方式,向量数据库能够处理和存储大量的非结构化数据,并支持高效的相似度搜索和数据分析。这种能力对于处理文本、图像和视频等非结构化数据的人工智能和生成式人工智能(GenAI)应用至关重要。
向量数据库的分类
作为 RAG 系统的基石,向量数据库在过去一年中得到了快速发展。它们通常可以分为三类:专用向量数据库、关键词和向量检索系统以及 SQL 向量数据库。每种类型都有其优点和局限性。

01
专用向量数据库
一些向量数据库(如 Pinecone、Weaviate 和 Milvus)从一开始就专为向量搜索而设计。它们在这个领域表现出色,但随着使用案例的增加和人们对应用可扩展性的关注,专用向量数据库的局限性变得明显,比如对于数据类型和复杂查询的有限支持。
专用向量数据库被设计用于存储向量和最少的元数据,这限制了它们的灵活性。这种对向量的关注意味着它们无法处理 SQL 数据库可以处理的更多种类的数据类型,例如整数、字符串和日期,这使得更复杂和多样化的数据操作不太可能。
而复杂查询通常涉及多个条件、连接和聚合,这对于专门的向量数据库来说是具有挑战性的。这些数据库通过元数据过滤提供有限的复杂查询支持。然而,向量数据库中的元数据存储非常有限,这限制了用户进行各种复杂查询的能力。
将专门的向量数据库集成到现有的 IT 基础设施中也充满了挑战。由于专门的向量数据库与现有系统之间的固有差异,常常会出现兼容性问题,这需要进行大量的数据转换,并可能导致数据丢失或损坏。确保与遗留系统的互操作性以及保持数据的一致性和完整性也是复杂的任务。此外,集成过程需要专门的技能,这在组织内可能不容易获得,导致培训成本高昂和学习曲线陡峭。
02
关键词和向量检索系统
以 Elasticsearch 和 OpenSearch 为代表,这些系统由于其全面的基于关键词的检索能力而被广泛应用于生产环境。虽然,它们可以快速存储、搜索和分析大量数据,但仍然存在一些缺点,比如截至 8.13 版本,Elasticsearch 对向量检索算法的支持依然有限,如基于 HNSW 的暴力 k 最近邻搜索和近似 k 最近邻搜索。这限制了它在复杂向量检索场景中的应用。
另一方面,由于其强大的功能和分布式架构,Elasticsearch 在运行时需要消耗较高的资源,包括内存、CPU 和存储空间。因此,高资源消耗以及关键词和向量混合查询的准确性和性能不尽如人意的表现,限制了这类数据库在复杂的人工智能检索和分析场景中的应用。
03
SQL 向量数据库
SQL 向量数据库是一种将传统 SQL 数据库的能力与向量数据库的能力相结合的专用数据库类型。通过 SQL 而具备了高效存储和查询高维向量的能力。
前面的分类图中展示了两个主要的 SQL 向量数据库:pgvector 和 MyScaleDB。pgvector 是 PostgreSQL 的向量搜索插件。它易上手,适用于管理小型数据集。然而,由于 Postgres 的行存劣势和向量算法的限制,pgvector 在大规模、复杂向量查询的准确性和性能方面往往较低。
MyScale AI 数据库是什么
MyScaleDB 是一个基于 ClickHouse 构建的开源 SQL 向量数据库。它旨在为 GenAI 应用提供高性能和具有成本效益的数据库底座。通过将 SQL 数据库/数据仓库、向量数据库和全文搜索引擎的功能集成到一个高效的系统中,MyScaleDB 显著降低了基础设施和维护成本。这种统一不仅促进了联合数据查询和分析,还建立了一个对所有 AI 应用至关重要的强大而多功能的数据基础。

MyScaleDB 具备的能力
完全兼容 SQL
通过利用 ClickHouse 成熟的代码库和生态系统,我们可以为用户提供功能丰富的数据库。
SQL 被广泛用于管理关系数据库。借助 MyScaleDB 对 SQL 的支持,开发人员和数据分析师可以利用他们现有的知识和技能,更容易地集成和使用。
SQL 支持广泛的数据操作、查询和报告功能。因此,MyScaleDB 与SQL 的完全兼容,让用户可以以许多不同的方式执行复杂的 SQL 向量查询和数据分析。
由于 MyScaleDB 构建在 ClickHouse 之上,它不仅为向量搜索提供快速和可扩展的性能,还为过滤向量搜索和复杂的 SQL 加向量查询(例如将向量搜索结果与另一个表连接)提供了快速和可扩展的性能。
多模态数据管理
支持在单一平台上存储和管理多模态数据,包括各种结构化和非结构化数据。
支持跨模态检索,通过多模态相似度衡量不同数据类型的对象之间的语义相似性。
支持自然语言检索和 text-to-SQL,降低用户和开发者的使用门槛。
赋能增效 RAG
支持向量检索、全文检索以及混合检索,提升数据检索体验。
支持元数据过滤搜索提升向量搜索准确性。
SQL 和向量联合的灵活数据建模适应不断变化的业务需求,增强数据建模的灵活性并简化开发。
AI 技术生态矩阵
目前 MyScaleDB 已经完成了与 AI 技术生态中的流行大模型以及应用开发平台的集成,包括但不限于:

LLM + 大数据:构建下一代智能平台
机器学习和大数据推动了 Web 和移动应用的成功。但随着 LLM 的崛起,我们正在转变思路,构建一种新型的 LLM + 大数据解决方案。借助我们的高性能 SQL 向量数据库 MyScaleDB,这些解决方案可以解锁大规模数据处理、知识检索、可观察性、数据分析、少样本学习等关键能力。基于 MyScaleDB,数据和人工智能之间形成了一个闭环,为我们的下一代 LLM + 大数据智能平台奠定了基础。这种范式转变已正在科学研究、金融、工业和医疗等领域中实践。
随着技术的快速发展,预计在未来五到十年内将出现某种形式的人工通用智能(AGI)。对于这个问题,我们必须问:我们需要一个静态的虚拟模型,还是另一种更全面的解决方案?数据无疑是连接 LLM、用户和世界的重要纽带。我们的愿景是将 LLM 和大数据有机地整合在一起,创建一个更专业、实时和协作的人工智能系统,同时充满人情味和价值。
最后,欢迎大家在 GitHub 上探索开源的 MyScaleDB,并利用 SQL 和向量构建创新的生产级 AI 应用。
https://github.com/myscale/MyScaleDB





