To deploy this solution go to the Deployment Steps
GoldenGate Data Streaming Tutorial
Oracle AI Vector Search feature allow you to store, index and search vector data within the Oracle Database.
Vector data is a representation of unstructured data as a multidimensional array. Vector search allows you to search for similar patterns within the semantic of the unstructured data: text, images, audio, and video.
Oracle Database support a VECTOR Data Type for a seamless integration; indexes and search query capabilities included.
Oracle AI Vector Search features two primary vector indexing methods:
- Neighbor Partition Vector Index: index that cluster vectors based on similarity.
- Neighbor Graph Vector Index: In-Memory index that represents vectors as vertices and similarities as edges.
For the Generative AI, AI Vector Search at Oracle Database support Retrieval Augmented Generation (RAG) to increase higher accuracy and avoids hallucinations on LLMs based on private knowledge base.
Oracle AI Vector Search User's Guide
One of the biggest benefits of Oracle AI Vector Search is that semantic search on unstructured data can be combined with relational search on business data in one single system.
Vector Search is often considered better than keyword search as vector search is based on the meaning and context behind the words and not the actual words themselves.
Embeddings are AI models that transform unstructured data into numbers. Those numbers can be understood as vectors un a 2D Euclidean geometry, but in higher dimensions. We can calculate proximity of the points to reflect similarity in meaning. This proximity helps in text classification, semantic search, and even product recommendations.
The first and last step in Embedding is to convert words to tokens and finally convert tokens into words.
To improve accurate AI model responses, Retrieval Augmented Generation involves a ETL (extract, Transform and Load) batch processing that reads unstructed data from your documents, transforms it, and then writes it into a Vector Search database.
The vector database is used in the retrieval part of the RAG technique.
You need to split the original document into smaller pieces. The split needs to hold the semantic boundaries of the content. The split parts size must be a small percentage of the AI Model's token limit.
The final user prompt along with the similar documents found by the vector search are sent to the AI model for composing the final answer to the final user.
- Spring AI for RAG on Oracle 23ai Vector DB with OpenAI and private LLMs
- RAG with OCI, LangChain, and VLLMs
I am using Hotels Dataset from Kaggle.