Cuong2004 commited on
Commit
1935826
·
1 Parent(s): 80b0d14

Add API Integration Guide for Triage Health Check endpoint with detailed request and response specifications. Update agent executor to enforce concise and clear response formatting guidelines in Vietnamese, ensuring compliance with medical guidelines and improving user interaction clarity.

Browse files
Files changed (2) hide show
  1. API_INTEGRATION.md +76 -0
  2. src/agent/agent-executor.ts +58 -51
API_INTEGRATION.md ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # API Integration Guide
2
+
3
+ ## Endpoint: Triage Health Check
4
+
5
+ **URL:** `POST /api/health-check`
6
+ **Base URL:** `https://medagen-backend.hf.space` (hoặc URL của bạn)
7
+
8
+ ### Request
9
+
10
+ ```json
11
+ {
12
+ "user_id": "string (required)",
13
+ "text": "string (optional, required if no image_url)",
14
+ "image_url": "string (optional, required if no text)",
15
+ "session_id": "string (optional)",
16
+ "location": {
17
+ "lat": "number (optional)",
18
+ "lng": "number (optional)"
19
+ }
20
+ }
21
+ ```
22
+
23
+ ### Response
24
+
25
+ ```json
26
+ {
27
+ "triage_level": "emergency|urgent|routine|self-care",
28
+ "symptom_summary": "string",
29
+ "red_flags": ["string"],
30
+ "suspected_conditions": [
31
+ {
32
+ "name": "string",
33
+ "source": "cv_model|guideline|user_report",
34
+ "confidence": "low|medium|high"
35
+ }
36
+ ],
37
+ "cv_findings": {
38
+ "model_used": "derm_cv|eye_cv|wound_cv|none",
39
+ "raw_output": {}
40
+ },
41
+ "recommendation": {
42
+ "action": "string",
43
+ "timeframe": "string",
44
+ "home_care_advice": "string",
45
+ "warning_signs": "string"
46
+ },
47
+ "message": "string (markdown response)",
48
+ "session_id": "string",
49
+ "nearest_clinic": {
50
+ "name": "string",
51
+ "distance_km": "number",
52
+ "address": "string",
53
+ "rating": "number"
54
+ }
55
+ }
56
+ ```
57
+
58
+ ### Example
59
+
60
+ ```bash
61
+ curl -X POST https://medagen-backend.hf.space/api/health-check \
62
+ -H "Content-Type: application/json" \
63
+ -d '{
64
+ "user_id": "user123",
65
+ "text": "đau mũi, có mụt nhọt",
66
+ "image_url": "https://example.com/image.jpg"
67
+ }'
68
+ ```
69
+
70
+ ### Notes
71
+
72
+ - `text` hoặc `image_url` phải có ít nhất một
73
+ - `session_id` tự động tạo nếu không có
74
+ - Response `message` chứa markdown tự nhiên từ LLM
75
+ - `triage_level` xác định mức độ khẩn cấp
76
+
src/agent/agent-executor.ts CHANGED
@@ -184,38 +184,45 @@ ${formattedGuidelines}
184
 
185
  YÊU CẦU VỀ PHONG CÁCH VIẾT:
186
  1. VIẾT HOÀN TOÀN BẰNG TIẾNG VIỆT - không được dùng tiếng Anh trong response
187
- 2. Viết TỰ NHIÊN, DỄ HIỂU như đang trò chuyện với người dùng
188
- 3. THỂ biện luận, so sánh, giải thích "tại sao", "như thế nào" một cách tự do
189
- 4. Sử dụng markdown để format (tiêu đề, danh sách, nhấn mạnh) cho dễ đọc
190
- 5. PHẢI sử dụng thông tin từ "Hướng dẫn y tế từ Bộ Y Tế" ở trên - KHÔNG được tự ý tạo thông tin
191
- 6. KHÔNG được tự thêm câu mở đầu kiểu "Based on...", "I've assessed..." hoặc "This is..."
192
- 7. Đây câu hỏi giáo dục, KHÔNG PHẢI chẩn đoán nhân
193
- 8. Luôn nhấn mạnh: "Thông tin chỉ mang tính tham khảo, không thay thế bác sĩ"
194
- 9. KHÔNG đơn, KHÔNG khuyến nghị liều thuốc cụ thể
195
-
196
- Hãy tạo một phản hồi markdown TỰ NHIÊN, có thể bao gồm:
197
- - Giải thích về bệnh/triệu chứng dựa trên guidelines (định nghĩa, nguyên nhân, triệu chứng)
198
- - Giải thích nguyên tắc điều trị từ guidelines (KHÔNG đơn cụ thể)
199
- - Hướng dẫn về phòng ngừa chăm sóc dựa trên guidelines
200
- - So sánh với các bệnh tương tự nếu
201
- - Disclaimer về tính tham khảo
202
-
203
- dụ format markdown (KHÔNG bắt buộc phải theo đúng format này, chỉ là gợi ý):
 
 
 
 
 
 
204
  ## 📚 Về bệnh [tên bệnh]
205
 
206
- [Giải thích định nghĩa, nguyên nhân, triệu chứng dựa trên guidelines]
207
 
208
  ## 💊 Nguyên tắc điều trị
209
 
210
- [Giải thích nguyên tắc điều trị từ guidelines, KHÔNG kê đơn cụ thể]
 
 
211
 
212
- ## 💡 Hướng dẫn phòng ngừa và chăm sóc
213
 
214
- [Thông tin CỤ THỂ từ guidelines về phòng ngừa và chăm sóc]
 
215
 
216
- ---
217
-
218
- **Lưu ý quan trọng:** Thông tin này chỉ mang tính tham khảo giáo dục, không thay thế bác sĩ. Nếu bạn đang có triệu chứng, hãy đến gặp bác sĩ để được khám và chẩn đoán chính xác.`;
219
 
220
  // Log prompt and input data before sending to LLM
221
  logger.info('='.repeat(80));
@@ -534,42 +541,42 @@ ${formattedGuidelines}
534
 
535
  YÊU CẦU VỀ PHONG CÁCH VIẾT:
536
  1. VIẾT HOÀN TOÀN BẰNG TIẾNG VIỆT - không được dùng tiếng Anh trong response
537
- 2. Viết TỰ NHIÊN, DỄ HIỂU như đang trò chuyện với bệnh nhân
538
- 3. THỂ biện luận, so sánh, giải thích "tại sao", "như thế nào" một cách tự do
539
- 4. Sử dụng markdown để format (tiêu đề, danh sách, nhấn mạnh) cho dễ đọc
540
- 5. PHẢI sử dụng thông tin từ "Hướng dẫn y tế từ Bộ Y Tế" ở trên - KHÔNG được tự ý tạo thông tin
541
- 6. Luôn nhấn mạnh: "Thông tin chỉ mang tính tham khảo, cần bác khám để chẩn đoán chính xác"
542
- ${cvResult.top_conditions.length === 0 ? '7. Phân tích hình ảnh không đủ tin cậy, chỉ dựa vào tả triệu chứng guidelines.' : ''}
543
-
544
- Hãy tạo một phản hồi markdown TỰ NHIÊN, có thể bao gồm:
545
- - Giải thích về tình trạng dựa trên triệu chứng và hình ảnh (nếu có)
546
- - So sánh các khả năng nếu có nhiều suspected conditions
547
- - Giải thích "tại sao" đưa ra kết luận này (explainability)
548
- - Hướng dẫn cụ thể về chăm sóc tại nhà dựa trên guidelines
549
- - Lời khuyên về hành động tiếp theo
550
- - Dấu hiệu cảnh báo cần đi khám ngay
551
- - Disclaimer về tính tham khảo
552
-
553
- Ví dụ format markdown (KHÔNG bắt buộc phải theo đúng format này, chỉ là gợi ý):
554
- ## 📋 Tóm tắt tình trạng
555
 
556
- Dựa trên hình ảnh và mô tả triệu chứng của bạn...
 
 
 
 
557
 
558
- ## 🔍 Phân tích
 
 
 
 
559
 
560
- [Giải thích, biện luận, so sánh tự do dựa trên guidelines]
 
561
 
562
- ## 💡 Hướng dẫn chăm sóc tại nhà
563
 
564
- [Các lời khuyên CỤ THỂ từ guidelines về phương pháp điều trị tại chỗ, lưu ý về thuốc, cách chăm sóc]
565
 
566
- ## ⚠️ Khi nào cần đi khám ngay
 
 
567
 
568
- [Dấu hiệu cảnh báo + disclaimer]
569
 
570
- ---
571
 
572
- **Lưu ý quan trọng:** Thông tin này chỉ mang tính tham khảo, cần bác sĩ khám để chẩn đoán chính xác.`;
573
 
574
  // Log prompt and input data before sending to LLM
575
  logger.info('='.repeat(80));
 
184
 
185
  YÊU CẦU VỀ PHONG CÁCH VIẾT:
186
  1. VIẾT HOÀN TOÀN BẰNG TIẾNG VIỆT - không được dùng tiếng Anh trong response
187
+ 2. Viết NGẮN GỌN, ĐỌNG - tối đa 250-350 từ, tập trung vào thông tin quan trọng nhất
188
+ 3. Viết TỰ NHIÊN, DỄ HIỂU như đang trò chuyện với người dùng
189
+ 4. THỂ biện luận, giải thích nhưng NGẮN GỌN, không lan man
190
+ 5. Sử dụng markdown để format (tiêu đề, danh sách) cho dễ đọc
191
+ 6. PHẢI sử dụng thông tin từ "Hướng dẫn y tế từ Bộ Y Tế" ở trên - KHÔNG được tự ý tạo thông tin
192
+ 7. KHÔNG được tự thêm câu mở đầu kiểu "Based on...", "I've assessed..." hoặc "This is..."
193
+ 8. Đây câu hỏi giáo dục, KHÔNG PHẢI chẩn đoán cá nhân
194
+ 9. Luôn nhấn mạnh: "Thông tin chỉ mang tính tham khảo, không thay thế bác sĩ"
195
+ 10. KHÔNG kê đơn, KHÔNG khuyến nghị liều thuốc cụ thể
196
+
197
+ QUAN TRỌNG VỀ ĐỘ DÀI:
198
+ - Tối đa 250-350 từ (khoảng 1-2 đoạn văn ngắn)
199
+ - Tập trung vào: định nghĩa ngắn gọn, nguyên tắc điều trị chính, phòng ngừa
200
+ - KHÔNG lặp lại thông tin, KHÔNG giải thích quá chi tiết
201
+ - Ưu tiên thông tin thực tế, dễ hiểu
202
+
203
+ Hãy tạo một phản hồi markdown NGẮN GỌN, đọng, bao gồm:
204
+ - Định nghĩa ngắn gọn về bệnh/triệu chứng (2-3 câu)
205
+ - Nguyên tắc điều trị chính từ guidelines (3-4 điểm ngắn gọn)
206
+ - Hướng dẫn phòng ngừa và chăm sóc (2-3 điểm)
207
+ - Disclaimer ngắn gọn
208
+
209
+ Ví dụ format markdown NGẮN GỌN:
210
  ## 📚 Về bệnh [tên bệnh]
211
 
212
+ [Định nghĩa ngắn gọn 2-3 câu từ guidelines]
213
 
214
  ## 💊 Nguyên tắc điều trị
215
 
216
+ - [Điểm 1 - ngắn gọn]
217
+ - [Điểm 2 - ngắn gọn]
218
+ - [Điểm 3 - ngắn gọn]
219
 
220
+ ## 💡 Phòng ngừa và chăm sóc
221
 
222
+ - [Điểm 1 - ngắn gọn]
223
+ - [Điểm 2 - ngắn gọn]
224
 
225
+ **Lưu ý:** Thông tin chỉ mang tính tham khảo giáo dục, không thay thế bác sĩ.`;
 
 
226
 
227
  // Log prompt and input data before sending to LLM
228
  logger.info('='.repeat(80));
 
541
 
542
  YÊU CẦU VỀ PHONG CÁCH VIẾT:
543
  1. VIẾT HOÀN TOÀN BẰNG TIẾNG VIỆT - không được dùng tiếng Anh trong response
544
+ 2. Viết NGẮN GỌN, ĐỌNG - tối đa 300-400 từ, tập trung vào thông tin quan trọng nhất
545
+ 3. Viết TỰ NHIÊN, DỄ HIỂU như đang trò chuyện với bệnh nhân
546
+ 4. THỂ biện luận, giải thích "tại sao" nhưng NGẮN GỌN, không lan man
547
+ 5. Sử dụng markdown để format (tiêu đề, danh sách) cho dễ đọc
548
+ 6. PHẢI sử dụng thông tin từ "Hướng dẫn y tế từ Bộ Y Tế" trên - KHÔNG được tự ý tạo thông tin
549
+ 7. Luôn nhấn mạnh: "Thông tin chỉ mang tính tham khảo, cần bác khám để chẩn đoán chính xác"
550
+ ${cvResult.top_conditions.length === 0 ? '8. Phân tích hình ảnh không đủ tin cậy, chỉ dựa vào mô tả triệu chứng và guidelines.' : ''}
 
 
 
 
 
 
 
 
 
 
 
551
 
552
+ QUAN TRỌNG VỀ ĐỘ DÀI:
553
+ - Tối đa 300-400 từ (khoảng 1-2 đoạn văn ngắn)
554
+ - Tập trung vào: tình trạng có thể là gì, hướng dẫn chăm sóc ngắn gọn, khi nào cần đi khám
555
+ - KHÔNG lặp lại thông tin, KHÔNG giải thích quá chi tiết
556
+ - Ưu tiên thông tin thực tế, hành động cụ thể
557
 
558
+ Hãy tạo một phản hồi markdown NGẮN GỌN, cô đọng, bao gồm:
559
+ - Tóm tắt ngắn về tình trạng có thể là gì (1-2 câu)
560
+ - Hướng dẫn chăm sóc tại nhà ngắn gọn từ guidelines (3-4 điểm chính)
561
+ - Khi nào cần đi khám ngay (1-2 câu)
562
+ - Disclaimer ngắn gọn
563
 
564
+ dụ format markdown NGẮN GỌN:
565
+ ## 📋 Tình trạng
566
 
567
+ Dựa trên triệu chứng hình ảnh, có khả năng bạn đang gặp [tên bệnh]. [1-2 câu giải thích ngắn gọn].
568
 
569
+ ## 💡 Chăm sóc tại nhà
570
 
571
+ - [Điểm 1 từ guidelines - ngắn gọn]
572
+ - [Điểm 2 từ guidelines - ngắn gọn]
573
+ - [Điểm 3 từ guidelines - ngắn gọn]
574
 
575
+ ## ⚠️ Khi nào cần đi khám
576
 
577
+ [1-2 câu về dấu hiệu cảnh báo]
578
 
579
+ **Lưu ý:** Thông tin chỉ mang tính tham khảo, cần bác sĩ khám để chẩn đoán chính xác.`;
580
 
581
  // Log prompt and input data before sending to LLM
582
  logger.info('='.repeat(80));