Knowledge Base
Create and manage knowledge bases with documents and URLs to enhance Streaming Avatar AI responses, providing contextual information for more accurate and relevant interactions
Knowledge bases provide contextual information for Streaming Avatar AI responses. Documents and URLs are processed to enhance the avatar’s understanding and response quality during interactive sessions.
This API allows you to create and manage knowledge bases that can be integrated with Streaming Avatar sessions to provide more accurate and contextually relevant AI responses.
Overview
The Knowledge Base API is specifically designed to enhance Streaming Avatar interactions by providing contextual information. You can create and manage knowledge bases containing documents and URLs that give your Streaming Avatar the context needed to provide more accurate, relevant, and intelligent responses during real-time conversations.
Data Model
Knowledge Base Object:
_id
: Knowledge base unique identifier (string)team_id
: Team identifier (string, required)uid
: User identifier (number)user_type
: User type (number, 1=internal user, 2=external user)from
: Source type (number, 1=system, 2=user)name
: Knowledge base name (string, optional, max 100 characters)prologue
: Opening message/greeting text (string, optional, max 100 characters) - can be used with TTS repeat mode for personalized AI assistant introductionsprompt
: AI prompt instructions (string, optional, max 10,000 characters)docs
: Array of document objects (array, optional)urls
: Array of URL strings (array, optional)create_time
: Creation timestamp (number)update_time
: Last update timestamp (number)
Document Object Structure:
File Constraints
Document Limitations:
- Single file size limit: 100MB (104,857,600 bytes)
- Total files size limit: 500MB (524,288,000 bytes)
- Supported formats: PDF, DOC, DOCX, TXT, MD, JSON, XML, CSV
Field Limitations:
- name: Maximum 100 characters
- prologue: Maximum 100 characters (recommended for TTS voice synthesis)
- prompt: Maximum 10,000 characters
API Endpoints
List Knowledge Bases
Retrieve a paginated list of knowledge bases.
Request Headers
Parameter | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | Bearer token for API authentication. Obtain from GetToken endpoint. |
Query Parameters
Parameter | Type | Required | Default | Description |
---|---|---|---|---|
page | Number | No | 1 | Page number, minimum 1 |
size | Number | No | 10 | Items per page, range 1-100 |
name | String | No | - | Filter by knowledge base name |
from | Number | No | 2 | Filter by source type |
Response Attributes
Parameter | Type | Description |
---|---|---|
code | Integer | Interface returns business status code (1000: success) |
msg | String | Interface returns status information |
data | Array | Array of knowledge base objects |
Example
Request
Response
Create Knowledge Base
Create a new knowledge base with optional documents and URLs.
Request Headers
Parameter | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | Bearer token for API authentication. Obtain from GetToken endpoint. |
Body Attributes
Parameter | Type | Required | Description |
---|---|---|---|
name | String | No | Knowledge base name, max 100 characters |
prologue | String | No | Opening message/greeting text, max 100 characters (recommended for TTS playback) |
prompt | String | No | AI instructions, max 10,000 characters |
docs | Array | No | Array of document objects |
urls | Array | No | Array of URL strings |
Response Attributes
Parameter | Type | Description |
---|---|---|
code | Integer | Interface returns business status code (1000: success) |
msg | String | Interface returns status information |
data | Object | Created knowledge base object |
Example
Body
Request
Response
Get Knowledge Base Details
Retrieve detailed information about a specific knowledge base.
Request Headers
Parameter | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | Bearer token for API authentication. Obtain from GetToken endpoint. |
Query Parameters
Parameter | Type | Required | Description |
---|---|---|---|
id | String | Yes | Knowledge base ID |
Response Attributes
Parameter | Type | Description |
---|---|---|
code | Integer | Interface returns business status code (1000: success) |
msg | String | Interface returns status information |
data | Object | Knowledge base object details |
Example
Request
Response
Update Knowledge Base
Update an existing knowledge base by ID.
Request Headers
Parameter | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | Bearer token for API authentication. Obtain from GetToken endpoint. |
Body Attributes
Parameter | Type | Required | Description |
---|---|---|---|
id | String | Yes | Knowledge base ID to update |
name | String | No | Updated name, max 100 characters |
prologue | String | No | Updated opening message/greeting text, max 100 characters |
prompt | String | No | Updated AI instructions, max 10,000 characters |
docs | Array | No | Updated document array |
urls | Array | No | Updated URL array |
Response Attributes
Parameter | Type | Description |
---|---|---|
code | Integer | Interface returns business status code (1000: success) |
msg | String | Interface returns status information |
data | Object | Updated knowledge base object |
Example
Body
Request
Response
Delete Knowledge Base
Delete a knowledge base by ID.
Request Headers
Parameter | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | Bearer token for API authentication. Obtain from GetToken endpoint. |
Body Attributes
Parameter | Type | Required | Description |
---|---|---|---|
id | String | Yes | Knowledge base ID to delete |
Response Attributes
Parameter | Type | Description |
---|---|---|
code | Integer | Interface returns business status code (1000: success) |
msg | String | Interface returns status information |
Example
Body
Request
Response
Integration with Streaming Avatar
Using Knowledge Base in Streaming Avatar Sessions
To enhance your Streaming Avatar with contextual knowledge, simply provide the knowledge_id
parameter when creating a Streaming Avatar session. This enables the AI to access documents and URLs from your knowledge base, resulting in more informed and accurate responses during real-time interactions.
Reference: Create Streaming Avatar Session
Example Integration:
When a knowledge_id
is provided, the system automatically:
- Incorporates the knowledge base’s prompt into the AI’s context
- Processes documents and URLs to enhance AI understanding
- Uses the prologue for personalized AI assistant introductions (if TTS repeat mode is enabled)
The prologue field is particularly useful for TTS (Text-to-Speech) models in repeat mode, providing personalized AI assistant introductions at the beginning of LiveAvatar sessions.
Error Codes
Code | Description |
---|---|
1000 | Success |
1003 | Parameter validation error |
1232 | Knowledge not found |
1233 | Knowledge already exists |
1234 | Knowledge creation error |
1235 | Knowledge update error |
1236 | Knowledge detail error |
Complete Workflow Example
Here’s a complete workflow showing how to create a knowledge base and integrate it with your Streaming Avatar for enhanced AI responses:
- Document size can be obtained using JavaScript’s
File.size
property for client-side file uploads - Knowledge base names must be unique within a team for the same user
- Results are sorted by creation time in descending order
- Users can only access knowledge bases within their team