The knowledge base reader queries a permanent knowledge base containing your files, scraped URLs, and / or synced integrations (e.g., Google Drive).
Knowledge bases are important because they are able to retrieve the most relevant pieces of data based on a query.
The most relevant data can then be passed to an LLM so that the LLM generates responses that are relevant to the data.
Node Inputs
- Search Query: The query that will be used to search the knowledge bases for relevant pieces.
- Type: 
Text 
 - Type: 
 
Node Parameters
On the face of the node:- Knowledge Base: Select the knowledge base you would like to query.
- Type: 
KnowledgeBase 
 - Type: 
 
- Max chunks per query: the maximum number of pieces of data to be returned per query
 - Enable Filter: enable the ability to write a metadata filter
 - Enable Context: enable a text field to provide additional context for the search query
 - Re-rank documents: Performs an additional reranking step to reorder the documents by relevance to the query
 - Score Cutoff: The minimum relevancy score (between 0 and 1) that each piece of data will have semantically to the query
 - Retrieval Unit: Return the most relevant chunks (text content) or Documents (will return document metadata)
 - Transform Query: Transform the query for better results
 - Answer Multiple Questions: Extract separate questions from the query and retrieve content separately for each question to improve search performance
 - Expand Query: Expand query to improve semantic search
 - Do Advanced QA: Use additional LLM calls to analyze each document to improve answer correctness
 - Show Immediate Steps: Display the process the knowledge base is conducting at a given time in the chatUI
 - Format Context for an LLM: Do an additional LLM call to format output
 
Node Outputs
If Retrieval Unit is set to Chunks- Chunks: Semantically similar chunks retrieved from the knowledge base
- Type: 
List<Text> - Example usage: 
{{knowledge_base_0.chunks}} 
 - Type: 
 
- Documents: Metadata for semantically similar documents retrieved from the knowledge base
- Type: 
List<Text> - Example usage: 
{{knowledge_base_0.documents}} 
 - Type: 
 
- Response: A direct answer to the query
- Type: 
Text - Example usage: 
{{knowledge_base_0.response}} 
 - Type: 
 
Considerations
- Use a Knowledge Base Reader node when you want to query previously loaded data that has already been loaded. Use a Semantic Search node when your pipeline loads new data at run time for querying.
 - If the knowledge base is not returning relevant information to a query, try increasing the number of max chunks per query in the gear of the knowledge base.
 - For debugging purposes, you may attach an output node to the knowledge base to view the chunks that are returned for the query.
 
Example
The below example is a pipeline for chatting with a knowledge base. The knowledge base reader node provides context to the LLM node.- Input Node: Represents the user message
 - Knowledge Base Reader Node: Queries the knowledge base semantically
- Search Query: 
{{input_0.text}} 
 - Search Query: 
 - LLM Node: Responds to the user question
- System (Instructions): 
Answer the question based on the context. - Prompt: 
Question: {{input_0.text}} Context: {{knowledge_base_1.chunks}} 
 - System (Instructions): 
 - Output Node: Displays the response
- Output: 
{{openai_0.response}} 
 - Output: 
 

