knowledge_sources
Creates, updates, deletes, gets or lists a knowledge_sources resource.
Overview​
| Name | knowledge_sources |
| Type | Resource |
| Id | databricks_workspace.knowledgeassistants.knowledge_sources |
Fields​
The following fields are returned by SELECT queries:
- get
- list
| Name | Datatype | Description |
|---|---|---|
id | string | |
name | string | Full resource name: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id} |
display_name | string | Human-readable display name of the knowledge source. Required when creating a Knowledge Source. When updating a Knowledge Source, optional unless included in update_mask. |
create_time | string (date-time) | Timestamp when this knowledge source was created. |
description | string | Description of the knowledge source. Required when creating a Knowledge Source. When updating a Knowledge Source, optional unless included in update_mask. |
file_table | object | FileTableSpec specifies a file table source configuration. |
files | object | FilesSpec specifies a files source configuration. |
index | object | IndexSpec specifies a vector search index source configuration. |
knowledge_cutoff_time | string (date-time) | Timestamp representing the cutoff before which content in this knowledge source is being ingested. |
source_type | string | The type of the source: "index", "files", or "file_table". Required when creating a Knowledge Source. When updating a Knowledge Source, this field is ignored. |
state | string | Create a collection of name/value pairs.<br /><br />Example enumeration:<br /><br />>>> class Color(Enum):<br />... RED = 1<br />... BLUE = 2<br />... GREEN = 3<br /><br />Access them by:<br /><br />- attribute access:<br /><br /> >>> Color.RED<br /> <Color.RED: 1><br /><br />- value lookup:<br /><br /> >>> Color(1)<br /> <Color.RED: 1><br /><br />- name lookup:<br /><br /> >>> Color['RED']<br /> <Color.RED: 1><br /><br />Enumerations can be iterated over, and know how many members they have:<br /><br />>>> len(Color)<br />3<br /><br />>>> list(Color)<br />[<Color.RED: 1>, <Color.BLUE: 2>, <Color.GREEN: 3>]<br /><br />Methods can be added to enumerations, and members can have their own<br />attributes -- see the documentation for details. (FAILED_UPDATE, UPDATED, UPDATING) |
| Name | Datatype | Description |
|---|---|---|
id | string | |
name | string | Full resource name: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id} |
display_name | string | Human-readable display name of the knowledge source. Required when creating a Knowledge Source. When updating a Knowledge Source, optional unless included in update_mask. |
create_time | string (date-time) | Timestamp when this knowledge source was created. |
description | string | Description of the knowledge source. Required when creating a Knowledge Source. When updating a Knowledge Source, optional unless included in update_mask. |
file_table | object | FileTableSpec specifies a file table source configuration. |
files | object | FilesSpec specifies a files source configuration. |
index | object | IndexSpec specifies a vector search index source configuration. |
knowledge_cutoff_time | string (date-time) | Timestamp representing the cutoff before which content in this knowledge source is being ingested. |
source_type | string | The type of the source: "index", "files", or "file_table". Required when creating a Knowledge Source. When updating a Knowledge Source, this field is ignored. |
state | string | Create a collection of name/value pairs.<br /><br />Example enumeration:<br /><br />>>> class Color(Enum):<br />... RED = 1<br />... BLUE = 2<br />... GREEN = 3<br /><br />Access them by:<br /><br />- attribute access:<br /><br /> >>> Color.RED<br /> <Color.RED: 1><br /><br />- value lookup:<br /><br /> >>> Color(1)<br /> <Color.RED: 1><br /><br />- name lookup:<br /><br /> >>> Color['RED']<br /> <Color.RED: 1><br /><br />Enumerations can be iterated over, and know how many members they have:<br /><br />>>> len(Color)<br />3<br /><br />>>> list(Color)<br />[<Color.RED: 1>, <Color.BLUE: 2>, <Color.GREEN: 3>]<br /><br />Methods can be added to enumerations, and members can have their own<br />attributes -- see the documentation for details. (FAILED_UPDATE, UPDATED, UPDATING) |
Methods​
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
get | select | knowledge_assistant_id, knowledge_source_id, deployment_name, workspace_domain | Gets a Knowledge Source. | |
list | select | knowledge_assistant_id, deployment_name, workspace_domain | page_size, page_token | Lists Knowledge Sources under a Knowledge Assistant. |
create | insert | knowledge_assistant_id, deployment_name, workspace_domain, display_name, description, source_type | Creates a Knowledge Source under a Knowledge Assistant. | |
update | update | knowledge_assistant_id, knowledge_source_id, update_mask, deployment_name, workspace_domain, display_name, description, source_type | Updates a Knowledge Source. | |
delete | delete | knowledge_assistant_id, knowledge_source_id, deployment_name, workspace_domain | Deletes a Knowledge Source. | |
sync | exec | knowledge_assistant_id, deployment_name, workspace_domain | Sync all non-index Knowledge Sources for a Knowledge Assistant (index sources do not require sync) |
Parameters​
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
deployment_name | string | The Databricks workspace deployment name: the host prefix of the workspace URL (dbc-abcd0123-a1bc on AWS, adb-1234567890123456.7 on Azure, 1234567890123456.7 on GCP). Set DATABRICKS_DEPLOYMENT_NAME to default it for the session. (default: dbc-abcd0123-a1bc, x-stackQL-envVar: DATABRICKS_DEPLOYMENT_NAME) |
knowledge_assistant_id | string | The knowledge_assistant_id segment of the name resource name (knowledge-assistants/{knowledge_assistant_id}). The resource name of the Knowledge Assistant. Format: knowledge-assistants/{knowledge_assistant_id} |
knowledge_source_id | string | The knowledge_source_id segment of the name resource name (knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}). The resource name of the Knowledge Source to delete. Format: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id} |
update_mask | object | Comma-delimited list of fields to update on the Knowledge Source. Allowed values: display_name, description. Examples: - display_name - display_name,description |
workspace_domain | string | The Databricks workspace domain suffix for the cloud. Selected by DATABRICKS_CLOUD (aws, azure or gcp; default aws). (default: cloud.databricks.com, x-stackQL-envVarSelector: {"envVar":"DATABRICKS_CLOUD","default":"aws","values":{"aws":"cloud.databricks.com","azure":"azuredatabricks.net","gcp":"gcp.databricks.com"}}) |
page_size | integer | |
page_token | string |
SELECT examples​
- get
- list
Gets a Knowledge Source.
SELECT
id,
name,
display_name,
create_time,
description,
file_table,
files,
index,
knowledge_cutoff_time,
source_type,
state
FROM databricks_workspace.knowledgeassistants.knowledge_sources
WHERE knowledge_assistant_id = '{{ knowledge_assistant_id }}' -- required
AND knowledge_source_id = '{{ knowledge_source_id }}' -- required
AND deployment_name = '{{ deployment_name }}' -- required
AND workspace_domain = '{{ workspace_domain }}' -- required
;
Lists Knowledge Sources under a Knowledge Assistant.
SELECT
id,
name,
display_name,
create_time,
description,
file_table,
files,
index,
knowledge_cutoff_time,
source_type,
state
FROM databricks_workspace.knowledgeassistants.knowledge_sources
WHERE knowledge_assistant_id = '{{ knowledge_assistant_id }}' -- required
AND deployment_name = '{{ deployment_name }}' -- required
AND workspace_domain = '{{ workspace_domain }}' -- required
AND page_size = '{{ page_size }}'
AND page_token = '{{ page_token }}'
;
INSERT examples​
- create
- Manifest
Creates a Knowledge Source under a Knowledge Assistant.
INSERT INTO databricks_workspace.knowledgeassistants.knowledge_sources (
display_name,
description,
source_type,
create_time,
file_table,
files,
id,
index,
knowledge_cutoff_time,
name,
state,
knowledge_assistant_id,
deployment_name,
workspace_domain
)
SELECT
'{{ display_name }}' /* required */,
'{{ description }}' /* required */,
'{{ source_type }}' /* required */,
'{{ create_time }}',
'{{ file_table }}',
'{{ files }}',
'{{ id }}',
'{{ index }}',
'{{ knowledge_cutoff_time }}',
'{{ name }}',
'{{ state }}',
'{{ knowledge_assistant_id }}',
'{{ deployment_name }}',
'{{ workspace_domain }}'
RETURNING
id,
name,
display_name,
create_time,
description,
file_table,
files,
index,
knowledge_cutoff_time,
source_type,
state
;
# Description fields are for documentation purposes
- name: knowledge_sources
props:
- name: knowledge_assistant_id
value: "{{ knowledge_assistant_id }}"
description: Required parameter for the knowledge_sources resource.
- name: deployment_name
value: "{{ deployment_name }}"
description: Required parameter for the knowledge_sources resource.
- name: workspace_domain
value: "{{ workspace_domain }}"
description: Required parameter for the knowledge_sources resource.
- name: display_name
value: "{{ display_name }}"
description: |
Human-readable display name of the knowledge source. Required when creating a Knowledge Source. When updating a Knowledge Source, optional unless included in update_mask.
- name: description
value: "{{ description }}"
description: |
Description of the knowledge source. Required when creating a Knowledge Source. When updating a Knowledge Source, optional unless included in update_mask.
- name: source_type
value: "{{ source_type }}"
description: |
The type of the source: "index", "files", or "file_table". Required when creating a Knowledge Source. When updating a Knowledge Source, this field is ignored.
- name: create_time
value: "{{ create_time }}"
description: |
Timestamp when this knowledge source was created.
- name: file_table
description: |
FileTableSpec specifies a file table source configuration.
value:
table_name: "{{ table_name }}"
file_col: "{{ file_col }}"
- name: files
description: |
FilesSpec specifies a files source configuration.
value:
path: "{{ path }}"
- name: id
value: "{{ id }}"
- name: index
description: |
IndexSpec specifies a vector search index source configuration.
value:
index_name: "{{ index_name }}"
text_col: "{{ text_col }}"
doc_uri_col: "{{ doc_uri_col }}"
- name: knowledge_cutoff_time
value: "{{ knowledge_cutoff_time }}"
description: |
Timestamp representing the cutoff before which content in this knowledge source is being ingested.
- name: name
value: "{{ name }}"
description: |
Full resource name: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}
- name: state
value: "{{ state }}"
description: |
Create a collection of name/value pairs.
Example enumeration:
>>> class Color(Enum):
... RED = 1
... BLUE = 2
... GREEN = 3
Access them by:
- attribute access:
>>> Color.RED
<Color.RED: 1>
- value lookup:
>>> Color(1)
<Color.RED: 1>
- name lookup:
>>> Color['RED']
<Color.RED: 1>
Enumerations can be iterated over, and know how many members they have:
>>> len(Color)
3
>>> list(Color)
[<Color.RED: 1>, <Color.BLUE: 2>, <Color.GREEN: 3>]
Methods can be added to enumerations, and members can have their own
attributes -- see the documentation for details.
UPDATE examples​
- update
Updates a Knowledge Source.
UPDATE databricks_workspace.knowledgeassistants.knowledge_sources
SET
display_name = '{{ display_name }}',
description = '{{ description }}',
source_type = '{{ source_type }}',
create_time = '{{ create_time }}',
file_table = '{{ file_table }}',
files = '{{ files }}',
id = '{{ id }}',
index = '{{ index }}',
knowledge_cutoff_time = '{{ knowledge_cutoff_time }}',
name = '{{ name }}',
state = '{{ state }}'
WHERE
knowledge_assistant_id = '{{ knowledge_assistant_id }}' --required
AND knowledge_source_id = '{{ knowledge_source_id }}' --required
AND update_mask = '{{ update_mask }}' --required
AND deployment_name = '{{ deployment_name }}' --required
AND workspace_domain = '{{ workspace_domain }}' --required
AND display_name = '{{ display_name }}' --required
AND description = '{{ description }}' --required
AND source_type = '{{ source_type }}' --required
RETURNING
id,
name,
display_name,
create_time,
description,
file_table,
files,
index,
knowledge_cutoff_time,
source_type,
state;
DELETE examples​
- delete
Deletes a Knowledge Source.
DELETE FROM databricks_workspace.knowledgeassistants.knowledge_sources
WHERE knowledge_assistant_id = '{{ knowledge_assistant_id }}' --required
AND knowledge_source_id = '{{ knowledge_source_id }}' --required
AND deployment_name = '{{ deployment_name }}' --required
AND workspace_domain = '{{ workspace_domain }}' --required
;
Lifecycle Methods​
- sync
Sync all non-index Knowledge Sources for a Knowledge Assistant (index sources do not require sync)
EXEC databricks_workspace.knowledgeassistants.knowledge_sources.sync
@knowledge_assistant_id='{{ knowledge_assistant_id }}' --required,
@deployment_name='{{ deployment_name }}' --required,
@workspace_domain='{{ workspace_domain }}' --required
;