knowledge_bases
Creates, updates, deletes, gets or lists a knowledge_bases
resource.
Overview
Name | knowledge_bases |
Type | Resource |
Id | digitalocean.genai.knowledge_bases |
Fields
The following fields are returned by SELECT
queries:
- genai_get_knowledge_base
- genai_list_knowledge_bases
A successful response.
Name | Datatype | Description |
---|---|---|
database_status | string | (default: CREATING, example: CREATING) |
knowledge_base | object | Knowledgebase Description |
A successful response.
Name | Datatype | Description |
---|---|---|
knowledge_bases | array | The knowledge bases |
links | object | Links to other pages |
meta | object | Meta information about the data set |
Methods
The following methods are available for this resource:
Name | Accessible by | Required Params | Optional Params | Description |
---|---|---|---|---|
genai_get_knowledge_base | select | uuid | To retrive information about an existing knowledge base, send a GET request to /v2/gen-ai/knowledge_bases/{uuid} . | |
genai_list_knowledge_bases | select | page , per_page | To list all knowledge bases, send a GET request to /v2/gen-ai/knowledge_bases . | |
genai_create_knowledge_base | insert | To create a knowledge base, send a POST request to /v2/gen-ai/knowledge_bases . | ||
genai_update_knowledge_base | replace | uuid | To update a knowledge base, send a PUT request to /v2/gen-ai/knowledge_bases/{uuid} . | |
genai_delete_knowledge_base | delete | uuid | To delete a knowledge base, send a DELETE request to /v2/gen-ai/knowledge_bases/{uuid} . | |
genai_attach_knowledge_bases | exec | agent_uuid | To attach knowledge bases to an agent, send a POST request to /v2/gen-ai/agents/{agent_uuid}/knowledge_bases | |
genai_attach_knowledge_base | exec | agent_uuid , knowledge_base_uuid | To attach a knowledge base to an agent, send a POST request to /v2/gen-ai/agents/{agent_uuid}/knowledge_bases/{knowledge_base_uuid} | |
genai_detach_knowledge_base | exec | agent_uuid , knowledge_base_uuid | To detach a knowledge base from an agent, send a DELETE request to /v2/gen-ai/agents/{agent_uuid}/knowledge_bases/{knowledge_base_uuid} . |
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 |
---|---|---|
agent_uuid | string | Agent id (example: "123e4567-e89b-12d3-a456-426614174000") |
knowledge_base_uuid | string | Knowledge base id (example: "123e4567-e89b-12d3-a456-426614174000") |
uuid | string | Knowledge base id (example: "123e4567-e89b-12d3-a456-426614174000") |
page | integer | Page number. (example: 1) |
per_page | integer | Items per page. (example: 1) |
SELECT
examples
- genai_get_knowledge_base
- genai_list_knowledge_bases
To retrive information about an existing knowledge base, send a GET request to /v2/gen-ai/knowledge_bases/{uuid}
.
SELECT
database_status,
knowledge_base
FROM digitalocean.genai.knowledge_bases
WHERE uuid = '{{ uuid }}' -- required;
To list all knowledge bases, send a GET request to /v2/gen-ai/knowledge_bases
.
SELECT
knowledge_bases,
links,
meta
FROM digitalocean.genai.knowledge_bases
WHERE page = '{{ page }}'
AND per_page = '{{ per_page }}';
INSERT
examples
- genai_create_knowledge_base
- Manifest
To create a knowledge base, send a POST request to /v2/gen-ai/knowledge_bases
.
INSERT INTO digitalocean.genai.knowledge_bases (
data__database_id,
data__datasources,
data__embedding_model_uuid,
data__name,
data__project_id,
data__region,
data__tags,
data__vpc_uuid
)
SELECT
'{{ database_id }}',
'{{ datasources }}',
'{{ embedding_model_uuid }}',
'{{ name }}',
'{{ project_id }}',
'{{ region }}',
'{{ tags }}',
'{{ vpc_uuid }}'
RETURNING
knowledge_base
;
# Description fields are for documentation purposes
- name: knowledge_bases
props:
- name: database_id
value: string
description: >
Identifier of the DigitalOcean OpenSearch database this knowledge base will use, optional.
If not provided, we create a new database for the knowledge base in
the same region as the knowledge base.
- name: datasources
value: array
description: >
The data sources to use for this knowledge base. See [Organize Data Sources](https://docs.digitalocean.com/products/genai-platform/concepts/best-practices/#spaces-buckets) for more information on data sources best practices.
- name: embedding_model_uuid
value: string
description: >
Identifier for the [embedding model](https://docs.digitalocean.com/products/genai-platform/details/models/#embedding-models).
- name: name
value: string
description: >
Name of the knowledge base.
- name: project_id
value: string
description: >
Identifier of the DigitalOcean project this knowledge base will belong to.
- name: region
value: string
description: >
The datacenter region to deploy the knowledge base in.
- name: tags
value: array
description: >
Tags to organize your knowledge base.
- name: vpc_uuid
value: string
description: >
The VPC to deploy the knowledge base database in
REPLACE
examples
- genai_update_knowledge_base
To update a knowledge base, send a PUT request to /v2/gen-ai/knowledge_bases/{uuid}
.
REPLACE digitalocean.genai.knowledge_bases
SET
data__database_id = '{{ database_id }}',
data__embedding_model_uuid = '{{ embedding_model_uuid }}',
data__name = '{{ name }}',
data__project_id = '{{ project_id }}',
data__tags = '{{ tags }}',
data__uuid = '{{ uuid }}'
WHERE
uuid = '{{ uuid }}' --required
RETURNING
knowledge_base;
DELETE
examples
- genai_delete_knowledge_base
To delete a knowledge base, send a DELETE request to /v2/gen-ai/knowledge_bases/{uuid}
.
DELETE FROM digitalocean.genai.knowledge_bases
WHERE uuid = '{{ uuid }}' --required;
Lifecycle Methods
- genai_attach_knowledge_bases
- genai_attach_knowledge_base
- genai_detach_knowledge_base
To attach knowledge bases to an agent, send a POST request to /v2/gen-ai/agents/{agent_uuid}/knowledge_bases
EXEC digitalocean.genai.knowledge_bases.genai_attach_knowledge_bases
@agent_uuid='{{ agent_uuid }}' --required;
To attach a knowledge base to an agent, send a POST request to /v2/gen-ai/agents/{agent_uuid}/knowledge_bases/{knowledge_base_uuid}
EXEC digitalocean.genai.knowledge_bases.genai_attach_knowledge_base
@agent_uuid='{{ agent_uuid }}' --required,
@knowledge_base_uuid='{{ knowledge_base_uuid }}' --required;
To detach a knowledge base from an agent, send a DELETE request to /v2/gen-ai/agents/{agent_uuid}/knowledge_bases/{knowledge_base_uuid}
.
EXEC digitalocean.genai.knowledge_bases.genai_detach_knowledge_base
@agent_uuid='{{ agent_uuid }}' --required,
@knowledge_base_uuid='{{ knowledge_base_uuid }}' --required;