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