Skip to main content
The ALTER KNOWLEDGE_BASE command enables users to modify the configuration of the existing knowledge base without the need to recreate it. This document lists parameters that can be altered, explains the process and the effect on the existing knowledge base.

ALTER KNOWLEDGE_BASE Syntax

Here is the syntax used to alter the existing knowledge base.
ALTER KNOWLEDGE_BASE <kb_name>
USING
	<param_name> = <value>,
	...;
The following parameters can be altered:
  • embedding_model Users can alter only the API key of the provider used for the embedding model, while users cannot alter the provider and the model itself because it would be incompatible with the already embedded content that is stored in a knowledge base.
    ALTER KNOWLEDGE_BASE my_kb
    USING
        embedding_model = { 'api_key': 'new-api-key' };
    
    Upon altering the API key of the embedding model’s provider, ensure that the new API key has access to the same embedding model so that the knowledge base can continue to function without issues.
  • reranking_model Users can turn off reranking by setting reranking_model = false, or change the provider, API key, and model used for reranking.
    ALTER KNOWLEDGE_BASE my_kb
    USING
        reranking_model = { ‘provider’: ‘new_provider’, ‘model_name’: ‘new_model’, 'api_key': 'new-api-key' };
    
    ALTER KNOWLEDGE_BASE my_kb
    USING
        reranking_model = false;
    
    Upon updating the reranking model, the knowledge base will use the newly defined reranking model when reranking results, provided that reranking is turned on.
  • content_columns Users can change the content columns.
    ALTER KNOWLEDGE_BASE my_kb
    USING
        content_columns=['content_col1', 'conten_col2', ...];
    
    Upon changing the content columns, all the previously inserted content stays unchanged. Now the knowledge base will be embedding content from columns defined in the most recent call to ALTER KNOWLEDGE_BASE.
  • metadata_columns Users can change the metadata columns, overriding the existing metadata columns.
    ALTER KNOWLEDGE_BASE my_kb
    USING
        metadata_columns=['metadata_col1', 'metadata_col2', ...];
    
    Upon changing the metadata columns:
    • All metadata fields are stored in the knowledge base. No data is removed.
    • Users can filter only by metadata fields defined in the most recent call to ALTER KNOWLEDGE_BASE.
    • To be able to filter by all metadata fields, include them in the list as below.
      ALTER KNOWLEDGE_BASE my_kb
      USING
          metadata_columns=[‘existing_metadata_fields’, ..., 'new_metadata_fields', ...];
      
  • id_column Users can change the ID column.
    ALTER KNOWLEDGE BASE my_kb
    USING
        id_column='my_id';
    
    Upon changing the ID column, users must keep in mind that inserting data with an already existing ID value will update the existing row and not create a new one.
  • storage Users cannot update the underlying vector database of the existing knowledge base.
  • preprocessing Users can modify the preprocessing parameters as defined here.