Creating and Configuring the Omni Copilot
The Omni Copilot can be created and configured through the Omni console, which will be hosted on conva.ai. The console will provide a UI to allow users to:
Provide information regarding the details of the app
Configure the knowledge-base which would augment the Copilot's internal knowledge
Control other behavioral aspects of the Copilot, such as the grounding policy.
While the console would provide a UI for configuring the knowledge-base, the following APIs should provide more context around what goes on under the hood.
Knowledge-base Management APIs
Note: These APIs are under active development and could change
Creates a new knowledge-base configuration for the given copilot-id
POST
https://omni.conva.ai/v1/copilots/{copilot_id}/kb
Provides an interface for configuring knowledge-base ingestion that could be used to augment the Omni Copilot's knowledge of the app's filters, sort_keys, FAQs and vocabulary.
Path Parameters
copilot_id*
String
The ID of the copilot received during copilot creation
Headers
api_key*
String
The API key received during copilot creation
Request Body
kb_type*
String
The type of knowledge-base. Should be one of ["filters", "sort_keys", "faqs", "vocabulary"]
ingestion_type*
String
The ingestion mechanism. Presently, the only supported option is "pull", which means that Omni will pull the data from the endpoints you provide and ingest them.
kb_source*
Object
An object describing the knowledge-base source. Properties required in this object are:
"source_type": should be "json"
"source_path": should be a URL from which the knowledge-base data can be pulled using a GET request.
See below for the format in which the knowledge-base data is expected to be returned in, for each knowledge-base type.
refresh_interval
Integer
Number of hours between refreshes. Setting to -1 disables refreshes.
Default value: -1
Returns an object with property kb_id
denoting the ID of the created resource.
Updates the knowledge-base configuration for the given copilot-id and kb-id
PUT
https://omni.conva.ai/v1/copilots/{copilot_id}/kb/{kb_id}
Path Parameters
copilot_id*
String
The ID of the copilot received during copilot creation
kb_id*
String
The ID of the knowledge-base received during knowledge base creation
Headers
api_key*
String
The API key received during copilot creation
Request Body
ingestion_type*
String
The ingestion mechanism. Presently, the only supported option is "pull", which means that Omni will pull the data from the endpoints you provide and ingest them.
kb_type*
String
The type of knowledge-base. Should be one of ["filters", "sort_keys", "faqs", "vocabulary"]
kb_source*
String
An object describing the knowledge-base source. Properties required in this object are:
"source_type": should be "json"
"source_path": should be a URL from which the knowledge-base data can be pulled using a GET request.
See below for the format in which the knowledge-base data is expected to be returned in, for each knowledge-base type.
refresh_interval
Integer
Number of hours between refreshes. Setting to -1 disables refreshes.
Default value: -1
Deletes the knowledge-base configuration for the given copilot-id and kb-id
DELETE
https://omni.conva.ai/v1/copilots/{copilot_id}/kb/{kb_id}
Path Parameters
copilot_id*
String
The ID of the copilot received during copilot creation.
kb_id*
String
The ID of the knowledge-base received during knowledge-base creation
Headers
api_key*
String
The API key received during copilot creation
Returns the status of the knowledge-base ingestion for the given copilot-id and kb-id
GET
https://omni.conva.ai/v1/copilots/{copilot_id}/kb/{kb_id}/status
Path Parameters
copilot_id*
String
ID of the copilot received during copilot creation
Query Parameters
kb_id*
String
ID of the knowledge-base received during knowledge-base creation
Headers
api_key*
String
The API key received during copilot creation
Returns an object describing the status of ingestion with the following properties:
status: one of ["success", "failure", "pending"]
reason: reason for failure, if any
last_attempt_timestamp: timestamp of the latest ingestion attempt
next_attempt_timestamp: timestamp at which the next ingestion will be attempted
Last updated