# Base de dades vectorials

Un sistema de gestió de bases de dades vectorials (VDBMS) o simplement una base de dades vectorial o una botiga de vectors és una base de dades que pot emmagatzemar vectors (llistes de nombres de longitud fixa) juntament amb altres elements de dades. Les bases de dades vectorials solen implementar un o més algorismes d'Aproximate Nearest Neighbor (ANN), de manera que es pot cercar a la base de dades amb un vector de consulta per recuperar els registres de la base de dades més propers.
Els vectors són representacions matemàtiques de dades en un espai d'alta dimensió. En aquest espai, cada dimensió correspon a una característica de les dades, amb el nombre de dimensions que oscil·la entre pocs centenars i desenes de milers, depenent de la complexitat de les dades que es representen. La posició d'un vector en aquest espai representa les seves característiques. Es poden vectoritzar paraules, frases o documents sencers, i imatges, àudio i altres tipus de dades.
Aquests vectors de característiques es poden calcular a partir de les dades en brut mitjançant mètodes d'aprenentatge automàtic com ara algorismes d'extracció de característiques, incrustacions de paraules o xarxes d'aprenentatge profund. L'objectiu és que els elements de dades semànticament similars rebin vectors de característiques que estiguin a prop els uns dels altres.
Les bases de dades vectorials es poden utilitzar per a cerca de semblances, cerca multimodal, motors de recomanacions, grans models de llenguatge (LLM), etc.
Les bases de dades vectorials també s'utilitzen per implementar la Retrieval-Augmented Generation (RAG), un mètode per millorar les respostes específiques del domini dels grans models de llenguatge. Es recullen documents de text que descriuen el domini d'interès i per a cada document es calcula un vector de característiques (conegut com a " incrustació "), normalment utilitzant una xarxa d'aprenentatge profund, i s'emmagatzema en una base de dades vectorial. Donat una indicació d'usuari, es calcula el vector de característica de la sol·licitud i es consulta la base de dades per recuperar els documents més rellevants. A continuació, s'afegeixen automàticament a la finestra de context del model de llenguatge gran i el model de llenguatge gran passa a crear una resposta a l'indicador donat aquest context.

## Tècniques

Les tècniques més importants per a la cerca de similitud en vectors d'alta dimensió inclouen:
* Gràfics jeràrquics del petit món navegable (HNSW).
* Hashing sensible a la localitat (LSH) i Sketching
* Quantificació del producte (PQ)
* Fitxers invertits
i combinacions d'aquestes tècniques
En els darrers punts de referència, les implementacions basades en HNSW es troben entre les millors. Conferències com la International Conference on Similarity Search and Applications, SISAP i la Conference on Neural Information Processing Systems (NeurIPS) acullen concursos sobre cerca vectorial en grans bases de dades.

## Implementacions

| Nom | Llicència |
| Apache Cassandra | Apache Cassandra |
| Chroma | Chroma |
| Azure Cosmos DB Integrated Vector Database | Azure Cosmos DB Integrated Vector Database |
| Couchbase | Couchbase |
| Elasticsearch | Elasticsearch |
| Lantern | Lantern |
| LlamaIndex | LlamaIndex |
| Milvus | Milvus |
| MongoDB Atlas | MongoDB Atlas |
| OpenSearch | OpenSearch |
| Pinecone | Pinecone |
| Postgres with pgvector | Postgres with pgvector |
| Qdrant | Qdrant |
| Redis Stack | Redis Stack |
| SurrealDB | SurrealDB |
| Vespa | Vespa |
| Weaviate | Weaviate |

## Referències

* ↑ Roie Schwaber-Cohen. «What is a Vector Database & How Does it Work» (en anglès). Pinecone. [Consulta: 18 novembre 2023].
* ↑ «What is a vector database» (en anglès). Elastic. [Consulta: 18 novembre 2023].
* 1 2 «Vector database» (en anglès). learn.microsoft.com, 26-12-2023. [Consulta: 11 gener 2024].
* ↑ Evan Chaki. «What is a vector database?» (en anglès). Microsoft, 31-07-2023.
* ↑ Lewis, Patrick; Perez, Ethan; Piktus, Aleksandra; Petroni, Fabio; Karpukhin, Vladimir Advances in Neural Information Processing Systems 33, 2020, pàg. 9459–9474. arXiv: 2005.11401.
* ↑ Aumüller, Martin; Bernhardsson, Erik; Faithfull, Alexander (en anglès) Similarity Search and Applications [Cham], 2017, pàg. 34–49. arXiv: 1807.05614. DOI: 10.1007/978-3-319-68474-1_3.
* 1 2 «5 Hard Problems in Vector Search, and How Cassandra Solves Them» (en anglès americà). TheNewStack, 22-09-2023. [Consulta: 22 setembre 2023].
* ↑ «Vector Search quickstart» (en anglès). [Consulta: 21 novembre 2023].
* ↑ «Vector Search quickstart». [Consulta: 21 novembre 2023].
* 1 2 Palazzolo, Stephanie. «Vector database Chroma scored $18 million in seed funding at a $75 million valuation. Here's why its technology is key to helping generative AI startups.» (en anglès americà). Business Insider. [Consulta: 16 novembre 2023].
* 1 2 MSV, Janakiram. «Exploring Chroma: The Open Source Vector Database for LLMs» (en anglès americà). The New Stack, 28-07-2023. [Consulta: 16 novembre 2023].
* 1 2 «Vector database». learn.microsoft.com, 26 December 2023. [Consulta: 10 gener 2024].
* 1 2 «Couchbase aims to boost developer database productivity with Capella IQ AI tool» (en anglès americà). VentureBeat, 30-08-2023.
* 1 2 «Investor Presentation Third Quarter Fiscal 2024» (en anglès americà). Couchbase Investor Relations, 06-12-2023.
* 1 2 «Lantern» (en anglès americà), 05-04-2024. [Consulta: 5 abril 2024].
* 1 2 Wiggers, Kyle. «LlamaIndex adds private data to large language models» (en anglès americà). TechCrunch, 06-06-2023. [Consulta: 29 octubre 2023].
* 1 2 «Open Source Vector Database – Milvus – LFAI & DATA». [Consulta: 29 octubre 2023].
* 1 2 Liao, Ingrid Lunden and Rita. «Zilliz raises $60M, relocates to SF» (en anglès americà). TechCrunch, 24-08-2022. [Consulta: 29 octubre 2023].
* 1 2 «Introducing Atlas Vector Search: Build Intelligent Applications with Semantic Search and AI Over Any Type of Data» (en anglès americà). MongoDB, 22-06-2023.
* 1 2 «Using OpenSearch as a Vector Database» (en anglès americà). OpenSearch.org, 02-08-2023. [Consulta: 7 febrer 2024].
* 1 2 «AWS debuts new AI-powered data management and analysis tools» (en anglès americà). SiliconANGLE, 26-07-2023. [Consulta: 7 febrer 2024].
* 1 2 «Pinecone leads 'explosion' in vector databases for generative AI» (en anglès americà). VentureBeat, 14-07-2023. [Consulta: 29 octubre 2023].
* 1 2 «pgvector» (en anglès americà). GitHub. [Consulta: 27 novembre 2023].
* 1 2 Sawers, Paul. «Qdrant, an open source vector database startup, wants to help AI developers leverage unstructured data» (en anglès americà). TechCrunch, 19-04-2023. [Consulta: 29 octubre 2023].
* 1 2 «Using Redis as a Vector Database with OpenAI | OpenAI Cookbook» (en anglès). cookbook.openai.com. [Consulta: 10 febrer 2024].
* 1 2 «Redis as a vector database quick start guide» (en anglès). Redis. [Consulta: 31 gener 2024].
* 1 2 Wiggers, Kyle. «SurrealDB raises $6M for its database-as-a-service offering» (en anglès americà). TechCrunch, 04-01-2023. [Consulta: 19 gener 2024].
* 1 2 «Weaviate reels in $50M for its AI-optimized vector database» (en anglès americà). SiliconANGLE, 21-04-2023. [Consulta: 29 octubre 2023].