# The KnowledgeSource object

KnowledgeSource represents a source of knowledge for the KnowledgeAssistant.
 Used in create/update requests and returned in Get/List responses.
 Note: REQUIRED annotations below represent create-time requirements.
 For updates, required fields are determined by the update mask.

## Attributes

- `name` (string, Beta)
  Full resource name:
   knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}
- `display_name` (string, Beta)
  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.
- `description` (string, Beta)
  Description of the knowledge source.
   Required when creating a Knowledge Source.
   When updating a Knowledge Source, optional unless included in update_mask.
- `source_type` (string, Beta)
  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.
- `index` (object, Beta)
  - `index_name` (string, Beta)
    Full UC name of the vector search index, in the format of {CATALOG}.{SCHEMA}.{INDEX_NAME}.
  - `text_col` (string, Beta)
    The column that includes the document text for retrieval.
  - `doc_uri_col` (string, Beta)
    The column that specifies a link or reference to where the information came from.
- `files` (object, Beta)
  - `path` (string, Beta)
    A UC volume path that includes a list of files.
- `file_table` (object, Beta)
  - `table_name` (string, Beta)
    Full UC name of the table, in the format of {CATALOG}.{SCHEMA}.{TABLE_NAME}.
  - `file_col` (string, Beta)
    The name of the column containing BINARY file content to be indexed.
- `state` (string, Beta)
  Possible values: `STATE_UNSPECIFIED`, `UPDATING`, `UPDATED`, `FAILED_UPDATE`
- `id` (string, Beta)
- `knowledge_cutoff_time` (string, Beta)
  Timestamp representing the cutoff before which content in this knowledge source is being ingested.
- `create_time` (string, Beta)
  Timestamp when this knowledge source was created.

## Example

```json
{
  "name": "string",
  "display_name": "string",
  "description": "string",
  "source_type": "string",
  "index": {
    "index_name": "string",
    "text_col": "string",
    "doc_uri_col": "string"
  },
  "files": {
    "path": "string"
  },
  "file_table": {
    "table_name": "string",
    "file_col": "string"
  },
  "state": "string",
  "id": "string",
  "knowledge_cutoff_time": "string",
  "create_time": "string"
}
```


