feat(asl): Implement full-text screening core LLM service and validation system (Day 1-3)
Core Components: - PDFStorageService with Dify/OSS adapters - LLM12FieldsService with Nougat-first + dual-model + 3-layer JSON parsing - PromptBuilder for dynamic prompt assembly - MedicalLogicValidator with 5 rules + fault tolerance - EvidenceChainValidator for citation integrity - ConflictDetectionService for dual-model comparison Prompt Engineering: - System Prompt (6601 chars, Section-Aware strategy) - User Prompt template (PICOS context injection) - JSON Schema (12 fields constraints) - Cochrane standards (not loaded in MVP) Key Innovations: - 3-layer JSON parsing (JSON.parse + json-repair + code block extraction) - Promise.allSettled for dual-model fault tolerance - safeGetFieldValue for robust field extraction - Mixed CN/EN token calculation Integration Tests: - integration-test.ts (full test) - quick-test.ts (quick test) - cached-result-test.ts (fault tolerance test) Documentation Updates: - Development record (Day 2-3 summary) - Quality assurance strategy (full-text screening) - Development plan (progress update) - Module status (v1.1 update) - Technical debt (10 new items) Test Results: - JSON parsing success rate: 100% - Medical logic validation: 5/5 passed - Dual-model parallel processing: OK - Cost per PDF: CNY 0.10 Files: 238 changed, 14383 insertions(+), 32 deletions(-) Docs: docs/03-涓氬姟妯″潡/ASL-AI鏅鸿兘鏂囩尞/05-寮€鍙戣褰?2025-11-22_Day2-Day3_LLM鏈嶅姟涓庨獙璇佺郴缁熷紑鍙?md
This commit is contained in:
@@ -25,3 +25,4 @@ if (data.length > 0) {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -62,3 +62,4 @@ createTestUser();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -83,3 +83,4 @@ async function getProjects() {
|
||||
getProjects();
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -196,3 +196,4 @@ testAPI();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -136,3 +136,4 @@ console.log('='.repeat(60) + '\n');
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -380,3 +380,4 @@ main().catch(console.error);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -118,3 +118,4 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -208,3 +208,4 @@ runTest().catch(console.error);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -102,3 +102,4 @@ main().catch(console.error);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user