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.
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.
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 introductions
prompt: AI prompt instructions (string, optional, max 10,000 characters)
Create a new knowledge base with optional documents and URLs.
Copy
POST https://openapi.akool.com/api/open/v4/knowledge/create
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
ExampleBody
Copy
{ "name": "Customer Support KB", "prologue": "Hello, I'm your AI assistant. How can I help you?", "prompt": "You are a professional AI assistant. Please answer questions based on the provided documents.", "docs": [ { "name": "user_manual.pdf", "url": "https://example.com/user_manual.pdf", "size": 1024000 } ], "urls": [ "https://example.com/help", "https://example.com/faq" ]}
Request
Copy
curl --location 'https://openapi.akool.com/api/open/v4/knowledge/create' \--header 'Authorization: Bearer YOUR_TOKEN' \--header 'Content-Type: application/json' \--data '{ "name": "Customer Support KB", "prologue": "Hello, I am your AI assistant. How can I help you?", "prompt": "You are a professional AI assistant. Please answer questions based on the provided documents.", "docs": [ { "name": "user_manual.pdf", "url": "https://example.com/user_manual.pdf", "size": 1024000 } ], "urls": [ "https://example.com/help", "https://example.com/faq" ]}'
Response
Copy
{ "code": 1000, "msg": "OK", "data": { "_id": "64f8a1b2c3d4e5f6a7b8c9d0", "team_id": "team_123456", "uid": 789, "user_type": 2, "from": 2, "name": "Customer Support KB", "prologue": "Hello, I am your AI assistant. How can I help you?", "prompt": "You are a professional AI assistant. Please answer questions based on the provided documents.", "docs": [ { "name": "user_manual.pdf", "url": "https://example.com/user_manual.pdf", "size": 1024000 } ], "urls": [ "https://example.com/help", "https://example.com/faq" ], "create_time": 1640995200000, "update_time": 1640995200000 }}
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 SessionExample 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.
Here’s a complete workflow showing how to create a knowledge base and integrate it with your Streaming Avatar for enhanced AI responses:
Copy
# 1. Create a knowledge basecurl -X POST "https://openapi.akool.com/api/open/v4/knowledge/create" \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "Customer Support KB", "prologue": "Hello, I am your customer support assistant. How can I help you today?", "prompt": "You are a helpful customer support assistant. Use the provided documents to answer questions accurately.", "docs": [ { "name": "user_guide.pdf", "url": "https://example.com/user_guide.pdf", "size": 1024000 } ], "urls": [ "https://example.com/help", "https://example.com/faq" ] }'# 2. Use the knowledge base in a streaming avatar sessioncurl -X POST "https://openapi.akool.com/api/open/v4/liveAvatar/session/create" \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "avatar_id": "your_avatar_id", "knowledge_id": "KNOWLEDGE_ID_FROM_STEP_1" }'
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