minhvtt commited on
Commit
2216e03
·
verified ·
1 Parent(s): db3cd2b

Delete QUICK_START_PDF.md

Browse files
Files changed (1) hide show
  1. QUICK_START_PDF.md +0 -310
QUICK_START_PDF.md DELETED
@@ -1,310 +0,0 @@
1
- # Quick Start: PDF-Based ChatbotRAG
2
-
3
- ## Tóm Tắt Nhanh
4
-
5
- Bây giờ bạn có thể:
6
- 1. **Upload PDF** hướng dẫn sử dụng vào hệ thống
7
- 2. **Chatbot tự động trả lời** các câu hỏi dựa trên nội dung trong PDF
8
- 3. Không cần train model, chỉ cần upload PDF!
9
-
10
- ---
11
-
12
- ## Quy Trình Hoàn Chỉnh
13
-
14
- ### Bước 1: Tạo PDF Hướng Dẫn
15
-
16
- Bạn có 2 cách:
17
-
18
- **Cách 1: Sử dụng Template Có Sẵn**
19
-
20
- File `chatbot_guide_template.md` đã sẵn sàng. Customize nội dung cho hệ thống của bạn, sau đó convert sang PDF:
21
-
22
- ```bash
23
- # Cài pandoc (nếu chưa có)
24
- # Windows: choco install pandoc
25
- # Mac: brew install pandoc
26
- # Linux: sudo apt-get install pandoc
27
-
28
- # Convert markdown to PDF
29
- pandoc chatbot_guide_template.md -o chatbot_user_guide.pdf --pdf-engine=xelatex
30
- ```
31
-
32
- **Cách 2: Tự Viết Content**
33
-
34
- Tạo file Word/Google Docs với nội dung hướng dẫn, sau đó:
35
- - File → Export → PDF
36
-
37
- **Nội dung nên bao gồm:**
38
- - Giới thiệu hệ thống
39
- - Các chức năng chính
40
- - Hướng dẫn sử dụng từng tính năng
41
- - FAQ (Câu hỏi thường gặp)
42
- - Examples
43
-
44
- ### Bước 2: Upload PDF Vào Hệ Thống
45
-
46
- ```bash
47
- # Khởi động server
48
- cd ChatbotRAG
49
- python main.py
50
- ```
51
-
52
- Trong terminal khác:
53
-
54
- ```bash
55
- # Upload PDF
56
- curl -X POST "http://localhost:8000/upload-pdf" \
57
- -F "file=@chatbot_user_guide.pdf" \
58
- -F "title=Hướng dẫn sử dụng ChatbotRAG" \
59
- -F "description=Tài liệu hướng dẫn đầy đủ" \
60
- -F "category=user_guide"
61
- ```
62
-
63
- Hoặc dùng Python:
64
-
65
- ```python
66
- import requests
67
-
68
- with open('chatbot_user_guide.pdf', 'rb') as f:
69
- response = requests.post(
70
- 'http://localhost:8000/upload-pdf',
71
- files={'file': f},
72
- data={
73
- 'title': 'Hướng dẫn sử dụng ChatbotRAG',
74
- 'category': 'user_guide'
75
- }
76
- )
77
-
78
- print(response.json())
79
- # Output: {"success": true, "document_id": "pdf_...", "chunks_indexed": 45}
80
- ```
81
-
82
- ### Bước 3: Verify Upload
83
-
84
- ```bash
85
- # Xem danh sách PDFs
86
- curl http://localhost:8000/documents/pdf
87
- ```
88
-
89
- ### Bước 4: Chat!
90
-
91
- ```python
92
- import requests
93
-
94
- response = requests.post('http://localhost:8000/chat', json={
95
- 'message': 'Làm sao để upload PDF vào ChatbotRAG?',
96
- 'use_rag': True,
97
- 'use_advanced_rag': True,
98
- 'top_k': 5,
99
- 'hf_token': 'your_huggingface_token' # Get from https://huggingface.co/settings/tokens
100
- })
101
-
102
- result = response.json()
103
- print("Answer:", result['response'])
104
- print("\nSources:")
105
- for ctx in result['context_used']:
106
- print(f"- Page {ctx['metadata']['page']}: Confidence {ctx['confidence']:.2%}")
107
- ```
108
-
109
- ---
110
-
111
- ## Test Script Mẫu
112
-
113
- File `test_pdf_chatbot.py`:
114
-
115
- ```python
116
- """
117
- Test PDF-based chatbot
118
- """
119
- import requests
120
- import time
121
-
122
- BASE_URL = "http://localhost:8000"
123
- HF_TOKEN = "your_huggingface_token" # Replace with your token
124
-
125
- def upload_pdf():
126
- """Upload PDF guide"""
127
- print("=== Uploading PDF ===")
128
-
129
- with open('chatbot_user_guide.pdf', 'rb') as f:
130
- response = requests.post(
131
- f'{BASE_URL}/upload-pdf',
132
- files={'file': f},
133
- data={
134
- 'title': 'ChatbotRAG User Guide',
135
- 'category': 'user_guide'
136
- }
137
- )
138
-
139
- result = response.json()
140
- print(f"✓ Uploaded: {result['chunks_indexed']} chunks")
141
- return result['document_id']
142
-
143
- def chat(question):
144
- """Ask chatbot"""
145
- print(f"\n=== Question: {question} ===")
146
-
147
- response = requests.post(f'{BASE_URL}/chat', json={
148
- 'message': question,
149
- 'use_rag': True,
150
- 'use_advanced_rag': True,
151
- 'top_k': 5,
152
- 'hf_token': HF_TOKEN
153
- })
154
-
155
- result = response.json()
156
- print(f"Answer: {result['response']}\n")
157
-
158
- print(f"Retrieved {len(result['context_used'])} documents:")
159
- for i, ctx in enumerate(result['context_used'], 1):
160
- print(f"{i}. Page {ctx['metadata'].get('page')}, Confidence: {ctx['confidence']:.2%}")
161
-
162
- def main():
163
- # 1. Upload PDF
164
- doc_id = upload_pdf()
165
-
166
- # Wait for indexing to complete
167
- time.sleep(2)
168
-
169
- # 2. Test questions
170
- questions = [
171
- "Làm sao để upload PDF vào hệ thống?",
172
- "Chatbot có support tiếng Việt không?",
173
- "Tối đa bao nhiêu texts có thể index cùng lúc?",
174
- "Advanced RAG có những tính năng gì?"
175
- ]
176
-
177
- for q in questions:
178
- chat(q)
179
- time.sleep(1)
180
-
181
- if __name__ == "__main__":
182
- main()
183
- ```
184
-
185
- Chạy:
186
- ```bash
187
- python test_pdf_chatbot.py
188
- ```
189
-
190
- ---
191
-
192
- ## Upload Nhiều PDFs Cùng Lúc
193
-
194
- Nếu bạn có nhiều PDFs (FAQ, User Guide, Policies, etc.):
195
-
196
- ```bash
197
- # Đặt tất cả PDFs vào thư mục
198
- mkdir docs
199
- # Copy PDFs vào docs/
200
-
201
- # Batch index
202
- python batch_index_pdfs.py ./docs --category=user_guide
203
- ```
204
-
205
- Script sẽ tự động index tất cả PDFs và skip những file đã có.
206
-
207
- ---
208
-
209
- ## Câu Hỏi Test Mẫu
210
-
211
- Sau khi upload PDF hướng dẫn, test với các câu hỏi:
212
-
213
- **Về tính năng:**
214
- - "ChatbotRAG có những tính năng gì?"
215
- - "Làm sao để index dữ liệu?"
216
- - "Advanced RAG là gì?"
217
-
218
- **Hướng dẫn sử dụng:**
219
- - "Làm sao để upload PDF?"
220
- - "Cách chat với chatbot như thế nào?"
221
- - "Làm sao để xem lịch sử chat?"
222
-
223
- **FAQ:**
224
- - "Chatbot không tìm thấy thông tin phải làm sao?"
225
- - "Tối đa bao nhiêu images có thể upload?"
226
- - "Token limit là bao nhiêu?"
227
-
228
- **Technical:**
229
- - "Score threshold là gì?"
230
- - "Top_k trong chat request có ý nghĩa gì?"
231
- - "Làm sao để cải thiện độ chính xác?"
232
-
233
- ---
234
-
235
- ## Tips Để Chatbot Trả Lời Tốt
236
-
237
- ### 1. PDF Content Quality
238
- - Viết rõ ràng, có cấu trúc
239
- - Mỗi section tập trung 1 topic
240
- - Có examples cụ thể
241
- - FAQ với câu hỏi thực tế
242
-
243
- ### 2. Chat Settings
244
- ```python
245
- {
246
- 'use_advanced_rag': True, # Luôn bật
247
- 'use_reranking': True, # Rerank cho accuracy
248
- 'use_compression': True, # Nén context
249
- 'score_threshold': 0.5, # 0.4-0.6 là tốt
250
- 'top_k': 5, # 3-7 tùy use case
251
- 'temperature': 0.3 # Thấp cho factual answers
252
- }
253
- ```
254
-
255
- ### 3. Query Tips
256
- - Hỏi câu rõ ràng, cụ thể
257
- - Tránh câu hỏi quá chung chung
258
- - Nếu không tìm thấy, rephrase câu hỏi
259
-
260
- ---
261
-
262
- ## Monitoring
263
-
264
- ### Check Index Status
265
- ```bash
266
- curl http://localhost:8000/stats
267
- ```
268
-
269
- ### View PDFs
270
- ```bash
271
- curl http://localhost:8000/documents/pdf
272
- ```
273
-
274
- ### Check Chat History
275
- ```bash
276
- curl "http://localhost:8000/history?limit=10"
277
- ```
278
-
279
- ---
280
-
281
- ## Kết Luận
282
-
283
- Bây giờ bạn có thể:
284
-
285
- ✓ Tạo PDF hướng dẫn với nội dung của bạn
286
- ✓ Upload PDF vào hệ thống trong vài giây
287
- ✓ Chatbot tự động trả lời dựa trên PDF content
288
- ✓ Không cần train, không cần code phức tạp
289
- ✓ Update content? Chỉ cần upload PDF mới!
290
-
291
- **Next Steps:**
292
- 1. Tạo PDF hướng dẫn của bạn (hoặc customize template)
293
- 2. Upload vào hệ thống
294
- 3. Test với câu hỏi thực tế
295
- 4. Fine-tune settings nếu cần
296
- 5. Add thêm PDFs (FAQ, policies, etc.)
297
-
298
- ---
299
-
300
- ## Files Quan Trọng
301
-
302
- - `pdf_parser.py` - PDF parsing engine
303
- - `batch_index_pdfs.py` - Batch indexing script
304
- - `chatbot_guide_template.md` - Template PDF content
305
- - `PDF_RAG_GUIDE.md` - Chi tiết về PDF RAG
306
- - `ADVANCED_RAG_GUIDE.md` - Advanced RAG features
307
-
308
- ---
309
-
310
- **Chúc bạn thành công! 🚀**