When multiple Knowledge instances share the same vector database, searches return results from all instances by default. Set isolate_vector_search=True to scope each instance’s searches to its own data.
How It Works
On insert, each document always gets linked_to metadata set to the Knowledge instance’s name (an empty string if the instance has no name), regardless of this setting. The flag controls search behavior:
When isolate_vector_search=True:
- Search: A
linked_to filter is automatically injected, so only matching documents are returned.
When isolate_vector_search=False (default):
- Search: No
linked_to filter is applied. Searches return results from all documents in the vector database.
When to Use
Example: Shared Database, Isolated Searches
Backwards Compatibility
isolate_vector_search defaults to False. Existing Knowledge instances behave exactly as before.
Documents indexed before this flag existed do not have linked_to in their vector database metadata. When you enable isolate_vector_search=True, searches filter for linked_to=<name>. Documents without this metadata field will not match and will be invisible to the isolated search.
Enabling isolate_vector_search=True with vector databases that don’t have existing linked_to metadata will cause those documents to disappear from search results. You must re-index or manually update the metadata to restore them.
Combining with Manual Filters
When isolate_vector_search=True, the linked_to filter is automatically merged with any filters you pass, regardless of filter format:
Instance Uniqueness
Each Knowledge instance must have a unique combination of name, database, and table. Registering two instances with the same name, contents database, and table in an AgentOS raises a ValueError when the AgentOS starts.
To fix this, give each instance a unique name, or point them to different contents databases or tables.
Requirements
- The Knowledge instance must have a
name set. Without a name, documents are tagged with an empty linked_to value and no filter is applied, even when isolate_vector_search=True.
- The vector database must support metadata filtering. See Filtering for supported databases.
Next Steps