Knowledge Base
A Langflow knowledge base is a local vector database that is stored in Langflow storage.
Because knowledge bases are local, the data isn't remotely requested and re-ingested with every flow run. This can be more efficient than using a remote vector database, and it is a good choice for flows that use custom, domain-specific datasets, like slices of customer and product data.
You can use knowledge base components in much the same way that you use vector store components. However, there are several key differences:
- Local storage: Langflow knowledge bases are exclusively local. In contrast, only some vector store components support local databases.
- Built-in embedding models: Langflow knowledge bases include built-in support for several embedding models. Other models aren't supported for use with knowledge bases. To use a different provider or model, you must use a vector store component along with your preferred embedding model component.
- Basic similarity search: When querying Langflow knowledge bases, only standard similarity search is supported. For more advanced searches, you must use a vector store component for a vector database provider that supports your desired functionality.
- Structured data: Langflow knowledge bases only support structured data. For unstructured data, you must use a compatible vector store component.
The Knowledge Base component reads from an existing knowledge base using semantic search.
The output is a DataFrame containing the top matching results from the queried knowledge base.
Knowledge Base parameters
Some parameters are hidden by default in the visual editor. You can modify all component parameters through the component inspection panel that appears when you select a component.
| Name | Display Name | Info |
|---|---|---|
| knowledge_base | Knowledge | Input parameter. Select the knowledge base to retrieve data from. |
| api_key | Embedding Provider API Key | Input parameter. Optional API key for the embedding provider to override a previously-provided key. The embedding provider and model are chosen when you create a knowledge base. |
| search_query | Search Query | Input parameter. Optional search query to filter knowledge base data using semantic similarity. If omitted, the top results are returned from an arbitrary sort. |
| top_k | Top K Results | Input parameter. Number of search results to return. Default: 5. |
| include_metadata | Include Metadata | Input parameter. Whether to include all metadata and embeddings in the output. If enabled, each output row includes all metadata, embeddings, and content. If disabled, only the content is returned. Default: Enabled (true). |
Use the Knowledge Base component in a flow
After you create and load data to a knowledge base, you can use the Knowledge Base component in any flow to retrieve data from your knowledge base using semantic search:
-
Add a Knowledge Base component to your flow.
-
In the Knowledge field, select the knowledge base you want to search, such as the customer sales data knowledge base created in the previous steps.
-
To view the search results as chat messages, connect the Results output to a Chat Output component.
-
In Search query, enter a query that relates to your embedded data.
For the customer sales data example, enter a product name like
laptoporwireless devices. -
Click Run component on the Knowledge Base component, and then open the Playground to view the output.