minhvtt commited on
Commit
1b5fb66
·
verified ·
1 Parent(s): 55249bb

Delete chatbot_guide_template.md

Browse files
Files changed (1) hide show
  1. chatbot_guide_template.md +0 -369
chatbot_guide_template.md DELETED
@@ -1,369 +0,0 @@
1
- # Hướng Dẫn Sử Dụng ChatbotRAG
2
-
3
- *Version 2.0 - Tháng 10, 2025*
4
-
5
- ---
6
-
7
- ## 1. Giới Thiệu
8
-
9
- ### ChatbotRAG là gì?
10
-
11
- ChatbotRAG là hệ thống chatbot thông minh sử dụng công nghệ RAG (Retrieval-Augmented Generation) để trả lời câu hỏi dựa trên cơ sở dữ liệu kiến thức của bạn.
12
-
13
- ### Tính năng chính
14
-
15
- - **Multimodal Search**: Tìm kiếm bằng text và hình ảnh
16
- - **Advanced RAG**: Query expansion, reranking, context compression
17
- - **PDF Support**: Upload PDF và chat về nội dung trong PDF
18
- - **Multiple Inputs**: Index nhiều texts và images cùng lúc (tối đa 10 mỗi loại)
19
- - **Chat History**: Lưu lịch sử chat để theo dõi
20
-
21
- ---
22
-
23
- ## 2. Bắt Đầu Nhanh
24
-
25
- ### Bước 1: Khởi động server
26
-
27
- ```bash
28
- cd ChatbotRAG
29
- python main.py
30
- ```
31
-
32
- Server sẽ chạy tại: `http://localhost:8000`
33
-
34
- ### Bước 2: Truy cập API Documentation
35
-
36
- Mở trình duyệt và truy cập:
37
- - API Docs: `http://localhost:8000/docs`
38
- - ReDoc: `http://localhost:8000/redoc`
39
-
40
- ### Bước 3: Test với câu hỏi đơn giản
41
-
42
- ```bash
43
- curl -X POST "http://localhost:8000/chat" \
44
- -H "Content-Type: application/json" \
45
- -d '{"message": "Xin chào, bạn là ai?"}'
46
- ```
47
-
48
- ---
49
-
50
- ## 3. Index Dữ Liệu
51
-
52
- ### 3.1. Index Text Đơn Giản
53
-
54
- ```bash
55
- curl -X POST "http://localhost:8000/index" \
56
- -F "id=doc1" \
57
- -F "texts=Đây là text nội dung 1" \
58
- -F "texts=Đây là text nội dung 2"
59
- ```
60
-
61
- ### 3.2. Index Với Images
62
-
63
- ```bash
64
- curl -X POST "http://localhost:8000/index" \
65
- -F "id=event123" \
66
- -F "texts=Sự kiện âm nhạc tại Hà Nội" \
67
- -F "images=@poster1.jpg" \
68
- -F "images=@poster2.jpg"
69
- ```
70
-
71
- **Lưu ý**: Tối đa 10 texts và 10 images mỗi request.
72
-
73
- ### 3.3. Upload PDF
74
-
75
- Để upload tài liệu PDF vào hệ thống:
76
-
77
- ```bash
78
- curl -X POST "http://localhost:8000/upload-pdf" \
79
- -F "file=@user_guide.pdf" \
80
- -F "title=Hướng dẫn sử dụng" \
81
- -F "category=user_guide"
82
- ```
83
-
84
- Sau khi upload, chatbot có thể trả lời câu hỏi về nội dung trong PDF.
85
-
86
- ---
87
-
88
- ## 4. Tìm Kiếm Dữ Liệu
89
-
90
- ### 4.1. Search Bằng Text
91
-
92
- ```bash
93
- curl -X POST "http://localhost:8000/search/text" \
94
- -F "text=sự kiện âm nhạc" \
95
- -F "limit=5"
96
- ```
97
-
98
- ### 4.2. Search Bằng Image
99
-
100
- ```bash
101
- curl -X POST "http://localhost:8000/search/image" \
102
- -F "image=@query_image.jpg" \
103
- -F "limit=5"
104
- ```
105
-
106
- ### 4.3. Hybrid Search (Text + Image)
107
-
108
- ```bash
109
- curl -X POST "http://localhost:8000/search" \
110
- -F "text=festival music" \
111
- -F "image=@query.jpg" \
112
- -F "text_weight=0.6" \
113
- -F "image_weight=0.4"
114
- ```
115
-
116
- ---
117
-
118
- ## 5. Chat Với Chatbot
119
-
120
- ### 5.1. Chat Cơ Bản (Không RAG)
121
-
122
- ```python
123
- import requests
124
-
125
- response = requests.post('http://localhost:8000/chat', json={
126
- 'message': 'Xin chào!',
127
- 'use_rag': False,
128
- 'hf_token': 'your_huggingface_token'
129
- })
130
-
131
- print(response.json()['response'])
132
- ```
133
-
134
- ### 5.2. Chat Với RAG (Recommended)
135
-
136
- ```python
137
- response = requests.post('http://localhost:8000/chat', json={
138
- 'message': 'Festival âm nhạc diễn ra khi nào?',
139
- 'use_rag': True,
140
- 'use_advanced_rag': True,
141
- 'top_k': 5,
142
- 'hf_token': 'your_token'
143
- })
144
-
145
- result = response.json()
146
- print("Answer:", result['response'])
147
- print("Sources:", result['context_used'])
148
- ```
149
-
150
- ### 5.3. Advanced RAG Options
151
-
152
- ```python
153
- response = requests.post('http://localhost:8000/chat', json={
154
- 'message': 'Câu hỏi của bạn',
155
- 'use_rag': True,
156
- 'use_advanced_rag': True,
157
-
158
- # Advanced RAG settings
159
- 'use_query_expansion': True, # Mở rộng câu hỏi
160
- 'use_reranking': True, # Rerank kết quả
161
- 'use_compression': True, # Nén context
162
- 'score_threshold': 0.5, # Ngưỡng relevance (0-1)
163
- 'top_k': 5, # Số documents retrieve
164
-
165
- # LLM settings
166
- 'max_tokens': 512,
167
- 'temperature': 0.7,
168
- 'hf_token': 'your_token'
169
- })
170
- ```
171
-
172
- ---
173
-
174
- ## 6. Quản Lý Documents
175
-
176
- ### 6.1. Xem Danh Sách Documents
177
-
178
- ```bash
179
- # Xem stats collection
180
- curl http://localhost:8000/stats
181
-
182
- # Xem PDFs
183
- curl http://localhost:8000/documents/pdf
184
- ```
185
-
186
- ### 6.2. Get Document By ID
187
-
188
- ```bash
189
- curl http://localhost:8000/document/doc123
190
- ```
191
-
192
- ### 6.3. Xóa Document
193
-
194
- ```bash
195
- curl -X DELETE http://localhost:8000/delete/doc123
196
- ```
197
-
198
- ### 6.4. Xóa PDF Document
199
-
200
- ```bash
201
- curl -X DELETE http://localhost:8000/documents/pdf/pdf_20251029_143022
202
- ```
203
-
204
- ---
205
-
206
- ## 7. Câu Hỏi Thường Gặp (FAQ)
207
-
208
- ### Q1: Làm sao để upload PDF vào hệ thống?
209
-
210
- **A:** Sử dụng endpoint `/upload-pdf`:
211
-
212
- ```bash
213
- curl -X POST "http://localhost:8000/upload-pdf" \
214
- -F "file=@your_file.pdf" \
215
- -F "title=Tên tài liệu"
216
- ```
217
-
218
- ### Q2: Chatbot không tìm thấy thông tin phù hợp?
219
-
220
- **A:** Thử các cách sau:
221
- 1. Giảm `score_threshold` xuống (0.3 - 0.5)
222
- 2. Tăng `top_k` lên (5-10)
223
- 3. Sử dụng `use_advanced_rag=True`
224
- 4. Rephrase câu hỏi rõ ràng hơn
225
-
226
- ### Q3: Làm sao để cải thi��n độ chính xác của chatbot?
227
-
228
- **A:**
229
- - Bật Advanced RAG: `use_advanced_rag=True`
230
- - Bật tất cả RAG features: `use_reranking=True`, `use_compression=True`
231
- - Index nhiều documents với nội dung chi tiết
232
- - Sử dụng metadata phù hợp khi index
233
-
234
- ### Q4: Token limit của LLM là bao nhiêu?
235
-
236
- **A:** Mặc định `max_tokens=512`. Bạn có thể tăng lên trong request:
237
-
238
- ```python
239
- {
240
- 'message': 'Your question',
241
- 'max_tokens': 1024, # Tăng lên
242
- 'hf_token': 'your_token'
243
- }
244
- ```
245
-
246
- ### Q5: Có thể upload bao nhiêu texts/images cùng lúc?
247
-
248
- **A:** Tối đa **10 texts** và **10 images** mỗi request tại endpoint `/index`.
249
-
250
- ### Q6: Chatbot có support tiếng Việt không?
251
-
252
- **A:** Có! Hệ thống sử dụng Jina CLIP v2 hỗ trợ đa ngôn ngữ, bao gồm tiếng Việt.
253
-
254
- ### Q7: Làm sao để xem lịch sử chat?
255
-
256
- **A:**
257
- ```bash
258
- curl "http://localhost:8000/history?limit=10&skip=0"
259
- ```
260
-
261
- ### Q8: PDF của tôi có nhiều hình ảnh, có vấn đề gì không?
262
-
263
- **A:** Hệ thống hiện chỉ extract text từ PDF. Hình ảnh trong PDF chưa được xử lý. Nếu cần xử lý hình ảnh trong PDF, có thể integrate RAG-Anything sau.
264
-
265
- ---
266
-
267
- ## 8. API Reference
268
-
269
- ### Endpoints Chính
270
-
271
- | Endpoint | Method | Mô tả |
272
- |----------|--------|-------|
273
- | `/` | GET | Health check & API docs |
274
- | `/index` | POST | Index texts + images (tối đa 10 mỗi loại) |
275
- | `/search` | POST | Hybrid search (text + image) |
276
- | `/search/text` | POST | Search chỉ bằng text |
277
- | `/search/image` | POST | Search chỉ bằng image |
278
- | `/chat` | POST | Chat với RAG |
279
- | `/documents` | POST | Add text document |
280
- | `/upload-pdf` | POST | Upload và index PDF |
281
- | `/documents/pdf` | GET | List PDFs |
282
- | `/documents/pdf/{id}` | DELETE | Delete PDF |
283
- | `/history` | GET | Get chat history |
284
- | `/stats` | GET | Collection statistics |
285
-
286
- ### Request Examples
287
-
288
- **Index with multiple texts:**
289
- ```json
290
- POST /index
291
- {
292
- "id": "doc123",
293
- "texts": ["Text 1", "Text 2", "Text 3"]
294
- }
295
- ```
296
-
297
- **Chat with Advanced RAG:**
298
- ```json
299
- POST /chat
300
- {
301
- "message": "Your question",
302
- "use_rag": true,
303
- "use_advanced_rag": true,
304
- "use_reranking": true,
305
- "top_k": 5,
306
- "score_threshold": 0.5,
307
- "hf_token": "hf_xxxxx"
308
- }
309
- ```
310
-
311
- ---
312
-
313
- ## 9. Best Practices
314
-
315
- ### Index Dữ Liệu
316
- ✓ Chia nhỏ nội dung thành các chunks có nghĩa
317
- ✓ Thêm metadata đầy đủ (title, category, source)
318
- ✓ Sử dụng texts array cho multiple paragraphs
319
- ✗ Tránh index text quá dài trong 1 chunk
320
-
321
- ### Chat
322
- ✓ Bật Advanced RAG cho câu hỏi phức tạp
323
- ✓ Điều chỉnh `top_k` và `score_threshold` phù hợp
324
- ✓ Sử dụng `temperature` thấp (0.3-0.5) cho câu trả lời factual
325
- ✗ Tránh đặt `score_threshold` quá cao (>0.8)
326
-
327
- ### PDF
328
- ✓ PDF có text layer (không phải scanned image)
329
- ✓ Cấu trúc rõ ràng với headings, paragraphs
330
- ✓ Nội dung ngắn gọn, dễ hiểu
331
- ✗ Tránh PDF quá nhiều hình ảnh phức tạp
332
-
333
- ---
334
-
335
- ## 10. Troubleshooting
336
-
337
- ### Server không khởi động
338
- - Kiểm tra dependencies: `pip install -r requirements.txt`
339
- - Kiểm tra MongoDB connection string
340
- - Kiểm tra Qdrant service
341
-
342
- ### Upload PDF lỗi
343
- - Verify file là PDF hợp lệ
344
- - Check file không bị corrupt
345
- - Thử convert lại PDF nếu cần
346
-
347
- ### Chatbot không trả lời đúng
348
- - Kiểm tra documents đã được index chưa: `/stats`
349
- - Thử giảm `score_threshold`
350
- - Bật Advanced RAG options
351
- - Check LLM token (Hugging Face)
352
-
353
- ### Out of memory
354
- - Giảm `chunk_size` trong PDF parser
355
- - Giảm `top_k` trong chat request
356
- - Index ít documents hơn mỗi lần
357
-
358
- ---
359
-
360
- ## 11. Liên Hệ & Support
361
-
362
- Nếu có thắc mắc hoặc vấn đề:
363
- - Check server logs
364
- - Review API documentation tại `/docs`
365
- - Xem GitHub issues
366
-
367
- ---
368
-
369
- **Happy Chatting! 🤖**