Architecture
In this chapter, we continue to employ RAG for data retrieval from the vector database, followed by processing with the LLM. However, to enhance data retrieval efficiency, we introduce a new feature known as the Contextual Compression Retriever.
    
actor user
package data_processing {
    agent CSVLoader
    agent embedding
}
package base_retriever {
    database vectorstore
}
package compression_retriever{
    agent ContextualCompressionRetriever
}
note right of compression_retriever:Enhance the context \nquality and accuracy\nand reduce hallucination
package augmented {
    agent prompt
    agent llm
}
CSVLoader -> embedding
embedding --> vectorstore:insert selected data\ninto vectordb
embedding --> vectorstore:embed user's query
user -> embedding: query
vectorstore --> ContextualCompressionRetriever
ContextualCompressionRetriever --> prompt:compression_retriever.invoke(query)
prompt -> llm