Description
The Knowledge Retrieval tool is a core component of the RAG framework, designed to access and retrieve relevant information from the vector database (Weaviate). This tool enables AI agents to query the knowledge base stored in Weaviate, retrieving contextually accurate information for user queries by leveraging vector similarity and re-ranking for improved relevance.Purpose
The Knowledge Retrieval tool accesses our knowledge base stored in Weaviate, a vector database optimized for semantic search. By retrieving vectorized content from Weaviate, the tool ensures that AI agents respond with precise and relevant information, based directly on stored data rather than model-generated guesses.Configuration and Structure
The Knowledge Retrieval tool is implemented as a function with the following structure:- Name: retrieve_knowledge
- Description: Instructs the AI agent to use this tool exclusively for accessing the knowledge base in Weaviate. It emphasizes the importance of basing responses entirely on retrieved information.
Arguments
user_input (string): The main user query, required to initiate the retrieval process within the vector database.hypothetical_answer (string): An optional field where the agent provides a hypothetical answer to enhance the context of the query. This is appended to the query, increasing retrieval accuracy.intention (from INTENTION_PROPERTY): A description of the user’s intention, which helps guide the retrieval focus.
Example Configuration
Retrieval Process
The Knowledge Retrieval tool utilizes Weaviate’s vector database capabilities to execute the following steps:1
Generate Query
The tool combines user_input with an optional hypothetical_answer to form a detailed query, enhancing the retrieval of relevant results by adding context.
2
Vector Similarity Search
The query is sent to Weaviate, where a nearText search is performed on the body_vector field of our knowledge base (RESOURCE_COLLECTION). This vector similarity search uses embeddings to match the query with semantically similar documents, retrieving up to 50 potential matches based on their relevance to the query.
3
Re-ranking
To improve the accuracy of the results, Weaviate’s reranker-transformers module re-ranks the initial matches based on the body property, ensuring that the most contextually relevant documents are prioritized in the final output.
4
Top Results
The tool extracts the top 5 results for the agent’s response, ensuring the delivery of precise and relevant information.
Return value
The Knowledge Retrieval tool returns an object containing:intention: The user’s intention, as specified in the input.result: An object containing:intention: Mirrors the input intention.knowledge: Contains the retrieved results from Weaviate, with metadata like distance and score to indicate relevance.