قاعدة البيانات المتجهة
جدول زمني
كانت Vespa واحدة من أوائل الشركات التي أضافت بحث التشابه المتجه إلى جانب خوارزمية بحث الكلمات الرئيسية السائدة القائمة على BM25.
ثم أطلقت Weaviate منتجًا مخصصًا لقاعدة بيانات بحث ناقلات مفتوحة المصدر في نهاية عام 2018.
بحلول عام 2019 ، بدأنا نرى المزيد من المنافسة في هذا المجال ، بما في ذلك Milvus (المفتوحة المصدر أيضًا). Zilliz هي الشركة الأم لـ Milvus.
وفي عام 2021، انضم ثلاثة موردين جدد إلى المنافسة: فالد، وQdrant، وPinecone.
حتى هذا الوقت ، بدأت الشركات الراسخة مثل Elasticsearch و Redis و PostgreSQL في تقديم بحث المتجهات ، في وقت متأخر بكثير مما كان يعتقد الناس في الأصل ، فقط في عام 2022 وما بعده.
المصادر المفتوحة والأعمال التجارية
الأعمال التجارية: Pinecone و Zilliz
شكل الإضافات
- pgvector
- ريدس كومة
Postgres
قاعدة بيانات واحدة تدعم في نفس الوقت:
- قاعدة البيانات العلاقاتية: RDS
- قاعدة بيانات المتجهات:pgvector
- قاعدة بيانات السلسلة الزمنية: قاعدة بيانات السلسلة الزمنية تلعب دورا كبيرا في تصفية البيانات الفوقية، وهي قاعدة بيانات تسجل الأحداث والوقت الذي يحدث، وسرعة البحث عن السلسلة الزمنية سريعة جدا.في تطبيق RAG ، إذا تم تقسيم ملفات المعرفة الصناعية إلى عشرات الآلاف ، فسيكون من المهم استخدام التصفية الزمنية ، على سبيل المثال ، نحن بحاجة فقط إلى استرجاع ملفات العقد من مارس 2023 ، ثم يمكننا استخدام بيانات التسلسل الزمني لاختيار المكونات المستهدفة من عشرات الآلاف ، ثم إجراء حسابات المتجهات.

إضافة Timescale Vector
بحث أسرع عن التشابه لملايين المتجهات: دعم DiskANN خوارزمية، HNSW خوارزمية
- **Timescale Vector يحسن استعلامات البحث عن المتجهات القائمة على الوقت: ** الاستفادة من التقسيمات والفهرسات التلقائية القائمة على الوقت من الجداول الفائقة من Timescale للعثور على أقرب Embeddings بفعالية ، والبحث عن المتجهات المقيدة من خلال النطاق الزمني أو السنة الوجودية للمستند ، وتخزين واسترداد استجابات النموذج اللغوي الكبير (LLM) وتاريخ الدردشة بسهولة.يتيح لك البحث الدلالي المستند إلى الوقت أيضًا استخدام **Retrieval Augmented Generation (RAG) والبحث السياقي المستند إلى الوقت لتقديم استجابة LLM أكثر فائدة للمستخدمين.
- ** المكدس البنية التحتية للذكاء الاصطناعي المبسطة: ** من خلال الجمع بين ** المتجهات Embeddings**، ** البيانات العلاقاتية**، و ** بيانات السلسلة الزمنية** في قاعدة بيانات PostgreSQL واحدة، يتخلص المتجهات Timescale من التعقيدات التشغيلية التي تنطوي عليها إدارة أنظمة قواعد البيانات متعددة على نطاق واسع.
- ** تبسيط معالجة البيانات الفوقية وتصفية السمات المتعددة: ** يمكن للمطورين الاستفادة من جميع أنواع بيانات PostgreSQL لتخزين البيانات الفوقية وتصفيتها وربط نتائج البحث المتجهة مع البيانات العلائقية للحصول على استجابات أكثر ذات صلة بالسياق.في الإصدارات المستقبلية ، ستزيد Timescale Vector من تحسين التصفية متعددة الخصائص الغنية لتمكين البحث عن التشابه بشكل أسرع عند تصفية البيانات الفوقية.
قاعدة بيانات المتجهات المنظمة من LlamaIndex
** خيارات متجر Vector ودعم الميزات **
Vector Store | Type | Metadata Filtering | Hybrid Search | Delete | Store Documents | Async |
---|---|---|---|---|---|---|
Apache Cassandra® | self-hosted / cloud | ✓ | ✓ | ✓ | ||
Astra DB | cloud | ✓ | ✓ | ✓ | ||
Azure Cognitive Search | cloud | ✓ | ✓ | ✓ | ||
Azure CosmosDB MongoDB | cloud | ✓ | ✓ | |||
ChatGPT Retrieval Plugin | aggregator | ✓ | ✓ | |||
Chroma | self-hosted | ✓ | ✓ | ✓ | ||
DashVector | cloud | ✓ | ✓ | ✓ | ✓ | |
Deeplake | self-hosted / cloud | ✓ | ✓ | ✓ | ||
DocArray | aggregator | ✓ | ✓ | ✓ | ||
DynamoDB | cloud | ✓ | ||||
Elasticsearch | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ | ✓ |
FAISS | in-memory | |||||
txtai | in-memory | |||||
Jaguar | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ | |
LanceDB | cloud | ✓ | ✓ | ✓ | ||
Lantern | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ | ✓ |
Metal | cloud | ✓ | ✓ | ✓ | ||
MongoDB Atlas | self-hosted / cloud | ✓ | ✓ | ✓ | ||
MyScale | cloud | ✓ | ✓ | ✓ | ✓ | |
Milvus / Zilliz | self-hosted / cloud | ✓ | ✓ | ✓ | ||
Neo4jVector | self-hosted / cloud | ✓ | ✓ | |||
OpenSearch | self-hosted / cloud | ✓ | ✓ | ✓ | ||
Pinecone | cloud | ✓ | ✓ | ✓ | ✓ | |
Postgres | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ | ✓ |
pgvecto.rs | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ | |
Qdrant | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ | ✓ |
Redis | self-hosted / cloud | ✓ | ✓ | ✓ | ||
Simple | in-memory | ✓ | ✓ | |||
SingleStore | self-hosted / cloud | ✓ | ✓ | ✓ | ||
Supabase | self-hosted / cloud | ✓ | ✓ | ✓ | ||
Tair | cloud | ✓ | ✓ | ✓ | ||
TencentVectorDB | cloud | ✓ | ✓ | ✓ | ✓ | |
Timescale | ✓ | ✓ | ✓ | ✓ | ||
Typesense | self-hosted / cloud | ✓ | ✓ | ✓ | ||
Weaviate | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ |
معظم قواعد البيانات المدعومة
ector Store | Type | Metadata Filtering | Hybrid Search | Delete | Store Documents | Async | |
---|---|---|---|---|---|---|---|
DashVector | cloud | ✓ | ✓ | ✓ | ✓ | ||
Elasticsearch | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ | ✓ | 总觉得比较重 |
Jaguar | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ | ||
Lantern | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ | ✓ | |
MyScale | cloud | ✓ | ✓ | ✓ | ✓ | ||
Pinecone | cloud | ✓ | ✓ | ✓ | ✓ | ||
Postgres | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ | ✓ | |
pgvecto.rs | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ | ||
Qdrant | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ | ✓ | 创始人好像出走了 |
TencentVectorDB | cloud | ✓ | ✓ | ✓ | ✓ | ||
Weaviate | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ |
Elasticsearch:总觉得比较重
Postgress:先从最简单的开始吧。
Qdrant:创始人好像出走了。
مقارنة LangChain مع قاعدة البيانات
数据库名称 | 应用场景 |
---|---|
HNSWLib, Faiss, LanceDB, CloseVector | 如果你需要一个可以在你的Node.js应用程序中运行的内存数据库,无需其他服务器 |
MemoryVectorStore, CloseVector | 如果你在寻找一个可以在类似浏览器的环境中内存中运行的东西 |
HNSWLib, Faiss | 如果你来自Python,并且你在寻找类似于FAISS的东西 |
Chroma | 如果你在寻找一个开源的、功能全面的向量数据库,可以在docker容器中本地运行 |
Zep | 如果你在寻找一个开源的向量数据库,提供低延迟、本地嵌入文档支持,并且支持边缘上的应用 |
Weaviate | 如果你在寻找一个开源的、生产就绪的向量数据库,可以在docker容器中本地运行或在云中托管 |
Supabase vector store | 如果你已经在使用Supabase,看看Supabase向量存储,使用同一个Postgres数据库来存储你的嵌入 |
Pinecone | 如果你在寻找一个生产就绪的向量存储,你不必担心自己托管 |
SingleStore vector store | 如果你已经在使用SingleStore,或者你需要一个分布式、高性能的数据库,你可能会考虑SingleStore向量存储 |
AnalyticDB vector store | 如果你在寻找一个在线MPP(大规模并行处理)数据仓库服务,你可能会考虑AnalyticDB向量存储 |
MyScale | 如果你在寻找一个性价比高的向量数据库,允许使用SQL进行向量搜索 |
CloseVector | 如果你在寻找一个可以从浏览器和服务器端加载的向量数据库,看看CloseVector。它是一个旨在跨平台的向量数据库 |
ClickHouse | 如果你在寻找一个可扩展的、开源的列式数据库,对于分析查询有着出色的性能 |