Install
openclaw skills install knowledge-base-qa-assistantBuild private knowledge bases for AI-powered document Q&A. Supports PDF, Word, TXT, Markdown uploads with smart chunking and vector retrieval. Automatically...
openclaw skills install knowledge-base-qa-assistant📚 Build a private knowledge base for AI-powered document Q&A
This skill helps AI Agents build and manage private knowledge bases, supporting document uploads (PDF, Word, TXT, Markdown, etc.), then providing precise Q&A based on the knowledge base content. Ideal for enterprise knowledge management, product documentation Q&A, and customer service knowledge bases.
/knowledge-qa/upload-document/document-qa/knowledge-base-manage/doc-question/rag-qaUser uploads documents to build knowledge base:
User: Please upload this product document to the knowledge base
Agent: Please provide the document content or upload file
User: [Upload PDF file]
Agent: ✅ Document uploaded to knowledge base successfully!
Document Name: Product Manual.pdf
File Size: 2.5MB
Pages: 45
Status: Indexed, ready for Q&A
Knowledge Points Extracted: 23
Knowledge Chunks: 12
User: What payment methods does the product support?
Agent: Searching knowledge base...
✅ Found relevant information!
Answer: The product supports the following payment methods:
1. **Online Payment**
- PayPal
- Stripe
- Credit Card (Visa, MasterCard supported)
2. **Offline Payment**
- Bank Transfer
- Wire Transfer
📎 Reference: Product Manual Section 3.2, Published: 2024-01-15
| Command | Function |
|---|---|
/knowledge-list | View all documents in knowledge base |
/delete-doc [filename] | Delete specified document |
/knowledge-stats | View knowledge base statistics |
/clear-knowledge | Clear all documents (requires confirmation) |
knowledge_base/
├── documents/
│ ├── doc_001/
│ │ ├── original.pdf # Original document
│ │ └── metadata.json # Metadata
│ ├── doc_002/
│ │ ├── content.txt # Extracted text
│ │ └── metadata.json
│ └── ...
└── index/
└── vector_index.json # Vector index
{
"doc_id": "doc_001",
"filename": "Product Manual.pdf",
"upload_time": "2024-01-20T10:30:00Z",
"file_size": "2.5MB",
"page_count": 45,
"chunk_count": 12,
"status": "indexed",
"tags": ["product", "user-guide", "features"]
}
User Question
↓
Question Embedding
↓
Vector Similarity Matching
↓
Top-K Relevant Chunks
↓
Build Prompt Context
↓
LLM Generate Answer
↓
Add Citation
↓
Return Answer
User: What is the company's remote work policy?
Agent: Searching knowledge base...
✅ Found relevant information!
From Employee Handbook 2024, Chapter 4, Section 2:
**Remote Work Policy:**
| Employee Type | Remote Days | Requirements |
|---------------|-------------|--------------|
| Full-time | 3 days/week | Manager approval |
| Part-time | 2 days/week | Core hours required |
| Contract | Case-by-case | HR consultation |
📎 Reference: Employee Handbook 2024, Chapter 4, Section 2
User: How to configure OAuth2.0 login?
Agent: Searching technical docs...
✅ Found configuration guide!
**OAuth2.0 Configuration Steps:**
1. **Register Application**
Register app with OAuth provider, get client_id and client_secret
2. **Configure Callback URL**
Set auth callback URL: https://your-app.com/callback
3. **Implement Auth Flow**
```javascript
const oauth = new OAuth2({
clientId: 'your_client_id',
clientSecret: 'your_client_secret',
redirectUri: 'https://your-app.com/callback'
});
```
📎 Reference: Developer Documentation Section 5.2
User: I want to upload these 3 documents to the knowledge base:
1. Product Introduction.pdf
2. Technical Whitepaper.docx
3. FAQ.md
Agent: Batch uploading...
✅ Upload complete!
| Document | Status | Knowledge Points |
|----------|--------|-------------------|
| Product Introduction.pdf | ✅ Success | 15 |
| Technical Whitepaper.docx | ✅ Success | 28 |
| FAQ.md | ✅ Success | 42 |
📚 Knowledge Base Stats:
- Total Documents: 3
- Total Knowledge Points: 85
- Knowledge Chunks: 12
| Parameter | Default | Description |
|---|---|---|
| top_k | 5 | Number of relevant chunks to return |
| similarity_threshold | 0.7 | Similarity threshold |
| max_tokens | 2000 | Maximum answer tokens |
| include_source | true | Whether to include source citation |
| Strategy | Use Case |
|---|---|
| Fixed Length | General scenarios |
| Semantic Chunking | Maintain semantic integrity |
| Paragraph Chunking | Split by natural paragraphs |
knowledge_qa/
├── uploader.py # Document upload module
├── parser.py # Document parsing module
├── chunker.py # Text chunking module
├── indexer.py # Vector indexing module
├── retriever.py # Retrieval module
└── generator.py # Answer generation module
# 1. Upload document
result = upload_document(file_path, knowledge_base_id)
# 2. Retrieve relevant knowledge
chunks = retrieve(query, top_k=5, threshold=0.7)
# 3. Generate answer
answer = generate_answer(question, context_chunks)