Vector Database Management Systems
Vector Database Management Systems
Toni Taipalus
Abstract
Vector database management systems have emerged as an important component in modern data manage-
arXiv:2309.11322v2 [[Link]] 16 Feb 2024
ment, driven by the growing importance for the need to computationally describe rich data such as texts,
images and video in various domains such as recommender systems, similarity search, and chatbots. These
data descriptions are captured as numerical vectors that are computationally inexpensive to store and com-
pare. However, the unique characteristics of vectorized data, including high dimensionality and sparsity,
demand specialized solutions for efficient storage, retrieval, and processing. This narrative literature review
provides an accessible introduction to the fundamental concepts, use-cases, and current challenges associated
with vector database management systems, offering an overview for researchers and practitioners seeking to
facilitate effective vector data management.
Keywords: vector, database, feature, challenge, neural network, deep learning
1. Introduction
It is increasingly common that rich, unstructured data such as large texts, images and video are not only
stored, but given semantics through a process called vectorization [1] which captures the features of the data
object in a cost-effectively processed numerical vector such as ⃗k = [6, 7]. The vectors are n-dimensional, and
consist of natural, real, or complex numbers, where one number represents a feature or a part of a feature.
The features that form a vector can range from simple, such as the number of actors in a stage play, to
complex, such as textures identified in an image by a neural network [2], where number 3 may correspond
to texture of human skin, while number 10 may correspond to the texture of a cat’s fur. In contrast to
traditional data models such as relational, where queries often take forms such as “find the orders of a
specific user ” or “find the products that are on sale”, vector queries typically search for similar vectors using
one or several query vectors. That is, queries take forms such as “find ten most similar images of cats that
look like the cat in this image” or “find the most suitable restaurants for me given my current position”.
Managing vector data has gained increased popularity, partly due to applications such as reverse image
search, recommender systems, and chatbots, and this trend is on the rise [3]. Consequently, efficient man-
agement of data requires a dedicated database management system (DBMS). A vector DBMS (VDBMS) is
not strictly a requirement for any business domain, as vectors can be stored and queried without a dedicated
DBMS, similarly to relational or document data can be stored and queried without a relational DBMS. The
DBMS, however, in all cases, facilitates data management that is feasible, freeing development resources to-
wards other business domain critical tasks by providing ready-made features such as transaction and access
control, automated database scalability, and query optimization. Additionally, increasingly complex business
domains require increasingly complex features such as vector similarity search complemented by metadata
filters, as well as searching with multiple query vectors [1], and efficient ways to manage access control and
concurrent transactions.
This narrative literature review aims to provide an easily accessible description of fundamental concepts
behind VDBMSs (Section 2) without focusing on the intricacies of a single product, an overview of current
VDBMS products and their features (Section 3), explanations behind some popular use-cases such as image
1 To cite this article, please refer to the peer-reviewed, published version in Cognitive Systems Research [Link]
10.1016/[Link].2024.101216
y comedy
restaurant The Frogs
f⃗k f⃗k
you The Knights
f⃗ ⃗
ka f⃗ ⃗
ka
⃗k ⃗k
grocery
store Antigone
⃗a ⃗a
x tragedy
similarity search and long-term memory for chatbots (Section 4), and some of the current challenges related
to VDBMSs (Section 5). This work assumes that the reader is familiar with fundamentals of some other
type of database management system (e.g., relational), and does not detail the mathematics of vectors, or
algorithms behind vector search or vector index creation.
2
database management systems (such as relational, document, and graph), this definition requires that a
VDBMS is functional software that can manage data, rather than being merely, e.g., a software library.
Data management includes but is not limited to data querying and manipulation, collection of metadata,
indexing, access control, backups, support for scalability, and interfaces with other systems such as database
drivers, programming languages, frameworks, and operating systems. Furthermore, a VDBMS focuses on
the management of vector data. There are several DBMSs that offer support for multiple data models (e.g.,
PostgreSQL supports relational, document and object-oriented data models2 , and Redis supports key-value
and vector data models3 ), yet the primary focus of such systems is typically on one data model. It has
been noted that such systems miss optimization opportunities for vector data, and may lack features such
as the use multiple query vectors [1]. Finally, a VDBMS focuses on the management of high-dimensional
vectors. Systems focusing on, e.g., two or three-dimensional geospatial data management are not considered
VDBMSs in this context.
VDBMSs typically support similarity search through indexing methods that enable rapid and accurate
searching of similar vectors, i.e., search for vectors that closely resemble a given query vector based on specific
distance metrics such as Euclidean distance or cosine similarity. This capability is particularly valuable in
various applications where finding similar vectors is crucial, such as image or text retrieval systems. VDBMSs
also offer support for vector operations, allowing users to perform mathematical computations on vectors.
These operations may include arithmetic calculations, statistical analysis, or transformations to manipulate
the vectors. In colloquial language, the term vector database is sometimes used as a synonym for a VDBMS
despite the fact that a VDBMS is software, yet a vector database is a collection of data. It is also worth
noting that despite their popularity, we – among others [1] – do not consider algorithms or libraries such as
Facebook’s FAISS library [5] VDBMSs, as they do not provide many of the functionalities described above.
2 [Link]
3 [Link]
3
The Frogs: "Shall I crack any of those..."
The Knights: "Oh! alas! alas! alas!..." "Find the most tragic plays."
Antigone: "Ismene, dear sister, You..."
VDBMS
insert query
Vectorization Vectorization Application
indexing
insert query
return results
Figure 2: A simplified view of a database system illustrating the flow and transformation of information to and from the vector
database; the vectorization process transforms information into vectors which can be quickly compared with each other; it is
worth noting that the natural language query depicted here requires data additional to the actual plays
same buckets, enabling approximate similarity search, and Hierarchical Navigable Small World [e.g., 13, 14],
which creates a hierarchical graph with fast neighborhood exploration by building a small world network.
Other algorithms include R-trees [15], KD-trees [e.g., 16], and Random Projection [e.g., 17]. Table 1 sum-
marizes various vector index types. It is worth noting that the choice of indexing algorithm depends on the
data characteristics, dimensionality, and search requirements. Index creation is typically computationally
expensive.
Similarly to inserting data into the vector database, queries in natural language or human-readable
values in computer language queries must be vectorized before the VDBMS can assess vector similarity. The
vectorization may happen in the application program or the VDBMS (the latter case is depicted in Fig. 2,
yet the former case is more typical). Vectorization can be done in multiple ways depending on the data and
the purpose of the vectorization. Despite the fact that feature vectors of Greek plays and feature vectors of
images of cats may look similar (i.e., both are “lists” of numbers), their values represent different things.
As mentioned earlier, vector similarity or closeness may be assessed using several methods such as Jaccard
similarity, which measures the similarity between two sets (i.e., vectors) by comparing their shared elements
to the total number of distinct elements in both sets, Euclidean distance (L2), which measures the straight-
line distance between two points in a space with multiple dimensions, dot product, which computes the sum
of the products of corresponding elements in two vectors, or cosine similarity, which measures the cosine
of the angle between two vectors, indicating how similar their directions are regardless of their magnitudes.
The choice of method depends on the context and the specific characteristics of the data. For more in-depth,
mathematical explanations, Wang et al. [18] provide accessible overview of several indexing and search
methods mentioned above.
From a developer perspective, queries in VDBMSs are more closely related to simple document or key-
value store queries than to complex queries in relational databases. Instead of retrieving documents based
on document identifiers as in many NoSQL systems, vectors are retrieved using one or several query vectors.
Despite this similarity in queries, the query execution internals differ, since VDBMS queries typically search
for nearest neighbor vectors instead of exact matches. Fig. 3 illustrates some basic queries in three VDBMSs
4
Characteristics Use-cases Advantages Disadvantages
Lossy compression
Product Quantiza- Divides vectors Reduces
Image search may reduce
tion into smaller parts dimensionality
accuracy
Hashes similar Enables
Locality-Sensitive Near-duplicate Requires
vectors to same approximate
Hashing detection parameter tuning
buckets similarity search
Recommendation Complex index
Hierarchical Navi- Creates a Fast neighborhood
systems, text structure, space
gable Small World hierarchical graph exploration
search overhead
Hierarchical Spatial data Slower
Efficient range
R-trees structure with (geospatial nearest-neighbor
queries, updates
bounding boxes indexing) searches
Binary tree Balanced tree Inefficient in high
Machine learning,
KD-trees partitioning along structure, good for dimensions,
clustering
dimensions low dimensions complex build
Projects Fast indexing, May lose
Random Projec- Text classification,
high-dimensional good for high information,
tion clustering
data randomly dimensions requires tuning
and in PostgreSQL with the pgvector extension. Instead of searching for Greek plays where the amount of
tragedy is high, as one probably would with a relational query, a vector query may retrieve Greek plays
which are similar to a particular play in terms of tragedy, comedy, drama, author, publication year, etc.
In addition to the vectors themselves, queries may utilize metadata to, e.g., limit the number of vectors to
compare. For example, if the end-user is requesting data on Greek plays, and the database contains metadata
for language and type of media, the vector similarity search may be limited to Greek plays rather than all
written art originating from all countries. While vectors are indexed using different vector indices, metadata
may be indexed using more traditional techniques such as B+ -trees to support range queries. Queries that
utilize both a query vector and metadata filters are called hybrid queries. If a VDBMS does not provide
the means for hybrid queries, metadata-based searches may be implemented separately as part of a broader
architecture. Fig. 4 provides a generalized (i.e., not product-specific) overview of VDBMS components.
These components are in principle similar to components in other types of DBMSs: the query component
parses the queries and other statements from the software application, checks user access rights on data object
level, optimizes the query, and passes the query to the storage component. The storage component logs the
transaction if the VDBMS utilizes transaction logs such as Write Ahead Logging, manages transaction locks
if applicable, and retrieves or stores the data the application has requested with the help of different buffers,
memory, CPU and GPU, and possibly other specialized hardware such as Field-Programmable Gate Arrays
or tensor processing units.
At the time of writing, DB-Engines [19] lists seven VDBMSs: Pinecone, Chroma, Milvus, Weaviate, Vald,
Qdrant and Deep Lake. However, since Vald primarily focuses on similarity search and lacks features such as
access control and integrations to other technologies, we considered Vald a vector search engine rather than
a VDBMSs as defined in Section 2.1. Several of these products are designed from the ground up to utilize
different types of processing units or devices, and multi-GPU and CPU parallelism in a coordinated manner
[1]. The VDBMSs typically implement several index and search methods (such as Euclidean distance), and
the optimizer component selects the most suitable search method depending on the characteristics of the
data and the query, similarly to the optimizer in relational DBMSs.
In addition to the VDBMSs mentioned above, there are also several DBMSs with multiple data models,
vectors being one of them, several vector extensions to other DBMSs such as PostgreSQL, MongoDB, Cas-
5
1 payload = {
1 results = [Link]( 2 "filter": {
2 data=[[3, 8, -1, ...]], 3 "country": "Greece",
3 anns_field="text", 4 "type": "play"
4 param=search_params, 5 },
5 limit=2, 6 "includeValues": True,
6 expr="country like \"Greece\" && type like \"play\"", 7 "includeMetadata": True,
7 output_fields=[’title’], 8 "topK": 2,
8 consistency_level="Strong" 9 "vector": [3, 8, -1, ...]
9 ) 10 }
11 response = [Link](url, json=payload)
(a) Query in Milvus
(b) Query in Pinecone
1 SELECT *
1 results = [Link](
2 FROM plays
2 query_embeddings=[[3, 8, -1, ...]],
3 WHERE country = ’Greece’
3 n_results=2,
4 AND type = ’play’
4 where={"country": "Greece", "type": "play"}
5 ORDER BY embedding <-> ’[3,8,-1, ...]’
5 )
6 LIMIT 2;
(c) Query in Chroma
(d) Query in PostgreSQL (pgvector)
Figure 3: Hybrid queries in different VDBMSs using Python, and in PostgreSQL using SQL
Table 2: VDBMS features; example use-cases are based on a product’s documentation’s use-case examples as of August 2023
sandra, Redis and SingleStore, and as vector database-enabling libraries for programming languages, such
as Thistle for Rust [20]. Table 2 lists some features of these six VDBMSs. Similarly to NoSQL systems, we
expect VDBMSs to develop rapidly in terms of features, new products, and community support.
4. Use-cases
6
VDBMS
Transaction
logs
id : 18C90122AA...
Query Storage {
Application Metadata :
component component type : "play",
country : "Greece", ...
}
Vector : [7, 1, 5, ...]
CPU Memory
Payload : "Ismene, dear ..."
Other
GPU specialized
hardware
Figure 4: A generalized overview of VDBMS components; the arrows represent the flow of information from the software
application through the VDBMS to the physical database; the database represents persistent storage device, contrary to Fig. 2,
where the database represents the logical database structure maintained by the VDBMS; the righ-hand side shows an example
of the stored data object consisting of metadata, the vector, and vector payload
time – through a convolutional neural network. The process extracts increasingly abstract features from the
image, starting from simple features such as the presence of vertical and horizontal edges and simple shapes
[e.g., 27], to textures such as fur, foliage and water. These features are vectorized and used for similarity
search. Images with similar vector representations are likely to be visually similar in terms of the captured
features. Similarly to Fig. 3, Fig. 5a shows that after a set of images has been vectorized, similar process
can be used for reverse image search (i.e., searching for images with image input). Once similar vectors have
been found, the VDBMS returns the vector payloads to the application.
In the context of video vectorization, videos are typically broken down into individual frames, although
just a representative subset of frames may be considered. Similarly to stand-alone images, features are
extracted from the individual frames and vectorized into a feature vector representing its content. Addition-
ally, temporal information is often needed to further understand the contents of the video. For example, one
video of a Greek play may develop from comedy to tragedy, while another may do the opposite. Without
temporal information about the order of the frames, it is not possible to tell one from another in this regard.
The process results in a sequence of feature vectors which can be combined. In other words, the sequence
of vectors may be considered a three-dimensional tensor, where dimensions represent frames, features, and
time. This tensor can be stored as a flattened vector in the vector database. It is worth noting that the
dimension of the tensor here is a different concept than the dimension of the vector.
7
VDBMS
insert query
Feature Feature Feature Feature
extraction vectorization vectorization extraction
indexing
insert query
(a) By vectorizing images (left-hand side) by their features, reverse image search can be used to find similar images (right-hand side)
indexing indexing
insert query
query(*) and insert
insert
response
(b) A VDBMS can be used for long-term storage of chatbot conversations, which can be then queried and used as additional context for
generative models; the query with an asterisk contains both the original user prompt as well as similar conversations, which are both used
as query vectors for the generative model
Figure 5: Uses-cases for VDBMSs in the domains of image similarity search and chatbots; note how here all the VDBMSs
handle the vectorization of data – this is not usually the case
8
To counter these limitations, a VDBMS may be used as a long-term memory in such use-cases. As
illustrated on the right-hand side of Fig. 5b, when an end-user prompts (i.e., submits a query to) a chatbot,
the natural language query is vectorized and used as a query vector for a long-term memory vector database
to find top-k similar conversations. The query (i.e., the user prompt in vectorized and natural language
form) is also stored in the long-term memory vector database. Next, the original user prompt as well as
k similar past conversations are used as query vectors for the generative model (marked with an asterisk
in Fig. 5b). The generative model then generates a response, which is inserted in the long-term memory
database in vectorized and natural language form, and returned to the application (i.e., the chatbot user
interface). This approach not only allows the chatbot to remember past conversations, but also enables
personalized information, conversation sequence encoding, and timestamps through vector metadata, and
potentially reduces the use of computational resources without the need to retrain or fine-tune the generative
model. In addition or alternatively to storing past conversations, a VDBMS can be used to store documents
which are used as additional, context-providing input to the generative model. These documents can be
private to the organization using the VDBMS, or they may be additional, timely information not included
in the generative model. This approach is dubbed retrieval augmented generation [31, 32].
In summary, the previous subsections illustrate different use-cases for VDBMSs, yet it can be seen that the
function of the VDBMS is rather uniform regardless of the use-case. That is, from a transaction processing
perspective, the VDBMS stores, indexes and retrieves vectors, and domain-specific processes such as image
feature extraction are carried out in other parts of the system.
5. Current challenges
9
near the surface, the distances between the vectors tend to be more similar in high-dimensional space [33].
Developing effective distance measures that can capture the true similarity or dissimilarity between high-
dimensional vectors is an ongoing research challenge.
Another challenge is the increased sparsity of high-dimensional vectors. As the number of dimensions
grows, the available space becomes more sparsely populated, meaning that data points are spread out across
the vector. For example, if a vector database consisting of feature vectors of images of cats is extended to
cover images of other animals as well, vector dimensions associated with cats (or mammals, or chordates,
etc.) do not contribute significantly to the overall structure of vectors depicting other animals. This sparsity
complicates indexing and retrieval, as methods designed for denser data struggle to efficiently represent and
query sparse data. The challenges associated with sparse data have been addressed in, e.g., the column-family
data model, but not in the degree that is required with high-dimensional sparse vectors.
6. Conclusion
Vector database is a growing data model intended for storing vectors which describe rich data in high-
dimensional vectors. This study provided an overview of fundamental concepts behind vector databases and
vector database management systems, such as different types of vector similarity comparison types, different
vector index types, and the principal software components in a VDBMS. Additionally, this study described
some VDBMSs and their features, as well as some popular use-cases for vector data such as chatbots and
image similarity search. Finally, this study discussed some of the current challenges associated with VDBMSs
such as high-dimensionality and sparsity of vector data, and the relative novelty of VDBMS products and
the implications therein.
Acknowledgements
10
References
[1] J. Wang, X. Yi, R. Guo, H. Jin, P. Xu, S. Li, X. Wang, X. Guo, C. Li, X. Xu, K. Yu, Y. Yuan, Y. Zou,
J. Long, Y. Cai, Z. Li, Z. Zhang, Y. Mo, J. Gu, R. Jiang, Y. Wei, C. Xie, Milvus: A purpose-built vector
data management system, in: Proceedings of the 2021 International Conference on Management of Data,
ACM, 2021. URL: [Link] doi:10.1145/3448016.3457550.
[2] R. Gasser, L. Rossetto, S. Heller, H. Schuldt, Cottontail DB: An open source database system for multi-
media retrieval and analysis, in: Proceedings of the 28th ACM International Conference on Multimedia,
ACM, 2020. URL: [Link] doi:10.1145/3394171.3414538.
[3] F. Li, Modernization of databases in the cloud era: Building databases that run like Legos, Proceedings
of the VLDB Endowment 16 (2023) 4140–4151.
[4] G. Touya, I. Lokhat, Deep learning for enrichment of vector spatial databases, ACM Transactions on
Spatial Algorithms and Systems 6 (2020) 1–21.
[5] J. Johnson, M. Douze, H. Jegou, Billion-scale similarity search with GPUs, IEEE Transactions on Big
Data 7 (2021) 535–547.
[6] P. Covington, J. Adams, E. Sargin, Deep neural networks for YouTube recommendations, in:
Proceedings of the 10th ACM Conference on Recommender Systems, ACM, 2016. URL: https:
//[Link]/10.1145%2F2959100.2959190. doi:10.1145/2959100.2959190.
[7] T. Mikolov, K. Chen, G. Corrado, J. Dean, Efficient estimation of word representations in vector
space, in: Y. Bengio, Y. LeCun (Eds.), 1st International Conference on Learning Representations,
ICLR 2013, Scottsdale, Arizona, USA, May 2-4, 2013, Workshop Track Proceedings, 2013. URL: http:
//[Link]/abs/1301.3781.
[8] Q. V. Le, T. Mikolov, Distributed representations of sentences and documents, in: Proceed-
ings of the 31th International Conference on Machine Learning, ICML 2014, Beijing, China, 21-26
June 2014, volume 32 of JMLR Workshop and Conference Proceedings, 2014, pp. 1188–1196. URL:
[Link]
[9] T. Kraska, A. Beutel, E. H. Chi, J. Dean, N. Polyzotis, The case for learned index structures, in:
Proceedings of the 2018 International Conference on Management of Data, ACM, 2018. URL: https:
//[Link]/10.1145%2F3183713.3196909. doi:10.1145/3183713.3196909.
[10] T. Ge, K. He, Q. Ke, J. Sun, Optimized product quantization for approximate nearest neighbor search,
in: 2013 IEEE Conference on Computer Vision and Pattern Recognition, IEEE, 2013. URL: https:
//[Link]/10.1109%2Fcvpr.2013.379. doi:10.1109/cvpr.2013.379.
[11] H. Jégou, M. Douze, C. Schmid, Product quantization for nearest neighbor search, IEEE Transactions
on Pattern Analysis and Machine Intelligence 33 (2011) 117–128.
[12] B. Zheng, X. Zhao, L. Weng, N. Q. V. Hung, H. Liu, C. S. Jensen, PM-LSH: A fast and accurate
LSH framework for high-dimensional approximate NN search, Proceedings of the VLDB Endowment
13 (2020) 643–655.
[13] W. Zhao, S. Tan, P. Li, SONG: Approximate nearest neighbor search on GPU, in: 2020 IEEE 36th
International Conference on Data Engineering (ICDE), IEEE, 2020. URL: [Link]
2Ficde48307.2020.00094. doi:10.1109/icde48307.2020.00094.
[14] Y. A. Malkov, D. A. Yashunin, Efficient and robust approximate nearest neighbor search using hierar-
chical navigable small world graphs, IEEE Transactions on Pattern Analysis and Machine Intelligence
42 (2020) 824–836.
[15] A. Guttman, R-trees: A dynamic index structure for spatial searching, in: Proceedings of the 1984
ACM SIGMOD international conference on Management of data, 1984, pp. 47–57.
11
[16] C. Silpa-Anan, R. Hartley, Optimised KD-trees for fast image descriptor matching, in: 2008 IEEE
Conference on Computer Vision and Pattern Recognition, IEEE, 2008. URL: [Link]
1109%2Fcvpr.2008.4587638. doi:10.1109/cvpr.2008.4587638.
[17] S. Dasgupta, Y. Freund, Random projection trees and low dimensional manifolds, in: Proceedings of
the fortieth annual ACM symposium on Theory of computing, ACM, 2008. URL: [Link]
10.1145%2F1374376.1374452. doi:10.1145/1374376.1374452.
[18] J. Wang, W. Liu, S. Kumar, S.-F. Chang, Learning to hash for indexing big data - a survey, Proceedings
of the IEEE 104 (2016) 34–57.
[19] DB-Engines, vector database management systems, [Link]
dbms, 2023. Accessed: 2023-08-30.
[20] B. Windsor, K. Choi, Thistle: A vector database in Rust, 2023. arXiv:2303.16780.
[21] A. C. Mater, M. L. Coote, Deep learning in chemistry, Journal of Chemical Information and Modeling
59 (2019) 2545–2559.
[22] M. Grbovic, H. Cheng, Real-time personalization using embeddings for search ranking at Airbnb,
in: Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data
Mining, KDD ’18, Association for Computing Machinery, New York, NY, USA, 2018, p. 311–320.
doi:10.1145/3219819.3219885.
[23] F. Baldassarre, D. G. Morı́n, L. Rodés-Guirao, Deep koalarization: Image colorization using CNNs and
Inception-ResNet-v2, arXiv preprint arXiv:1712.03400 (2017).
[24] S. Bashyal, G. K. Venayagamoorthy, Recognition of facial expressions using Gabor wavelets and learning
vector quantization, Engineering Applications of Artificial Intelligence 21 (2008) 1056–1064.
[25] S. Sahoo, N. Paul, A. Shah, A. Hornback, S. Chava, The universal NFT vector database: A scaleable
vector database for NFT similarity matching, arXiv preprint arXiv:2303.12998 (2023).
[26] D. Shankar, S. Narumanchi, H. Ananya, P. Kompalli, K. Chaudhury, Deep learning based large scale
visual recommendation and search for e-commerce, arXiv preprint arXiv:1703.02344 (2017).
[27] A. Herbulot, S. Jehan-Besson, S. Duffner, M. Barlaud, G. Aubert, Segmentation of vectorial image
features using shape gradients and information measures, Journal of Mathematical Imaging and Vision
25 (2006) 365–386.
[28] G. Venayagamoorthy, V. Moonasar, K. Sandrasegaran, Voice recognition using neural networks, in:
Proceedings of the 1998 South African Symposium on Communications and Signal Processing-COMSIG
’98 (Cat. No. 98EX214), 1998, pp. 29–32. doi:10.1109/COMSIG.1998.736916.
[29] Y. Tay, M. Dehghani, S. Abnar, Y. Shen, D. Bahri, P. Pham, J. Rao, L. Yang, S. Ruder, D. Metzler,
Long range arena: A benchmark for efficient transformers, arXiv preprint arXiv:2011.04006 (2020).
[30] M. Zhang, O. Press, W. Merrill, A. Liu, N. A. Smith, How language model hallucinations can snowball,
2023. arXiv:2305.13534.
[31] D. Cai, Y. Wang, L. Liu, S. Shi, Recent advances in retrieval-augmented text generation, in: Proceed-
ings of the 45th International ACM SIGIR Conference on Research and Development in Information
Retrieval, SIGIR ’22, Association for Computing Machinery, New York, NY, USA, 2022, p. 3417–3419.
URL: [Link] doi:10.1145/3477495.3532682.
[32] P. Lewis, E. Perez, A. Piktus, F. Petroni, V. Karpukhin, N. Goyal, H. Küttler, M. Lewis, W.-
t. Yih, T. Rocktäschel, S. Riedel, D. Kiela, Retrieval-Augmented Generation for knowledge-
intensive NLP tasks, in: H. Larochelle, M. Ranzato, R. Hadsell, M. Balcan, H. Lin
(Eds.), Advances in Neural Information Processing Systems, volume 33, Curran Associates, Inc.,
2020, pp. 9459–9474. URL: [Link]
[Link].
12
[33] P. Indyk, R. Motwani, Approximate nearest neighbors, in: Proceedings of the thirtieth annual ACM
symposium on Theory of computing - STOC '98, ACM Press, 1998. URL: [Link]
2F276698.276876. doi:10.1145/276698.276876.
[34] Oracle critical patch update advisory - January 2023, [Link]
[Link]#AppendixDB, 2023. Accessed: 2023-09-15.
13