feat(iit-manager): Integrate Dify knowledge base for hybrid retrieval

Completed features:
- Created Dify dataset (Dify_test0102) with 2 processed documents
- Linked test0102 project with Dify dataset ID
- Extended intent detection to recognize query_protocol intent
- Implemented queryDifyKnowledge method (semantic search Top 5)
- Integrated hybrid retrieval (REDCap data + Dify documents)
- Fixed AI hallucination bugs (intent detection + API field path)
- Developed debugging scripts
- Completed end-to-end testing (5 scenarios passed)
- Generated comprehensive documentation (600+ lines)
- Updated development plans and module status

Technical highlights:
- Single project single knowledge base architecture
- Smart routing based on user intent
- Prevent AI hallucination by injecting real data/documents
- Session memory for multi-turn conversations
- Reused LLMFactory for DeepSeek-V3 integration

Bug fixes:
- Fixed intent detection missing keywords
- Fixed Dify API response field path error

Testing: All scenarios verified in WeChat production environment

Status: Fully tested and deployed
This commit is contained in:
2026-01-04 15:44:11 +08:00
parent b47079b387
commit dfc472810b
162 changed files with 3093 additions and 62 deletions

View File

@@ -79,3 +79,4 @@ vite.config.*.timestamp-*

View File

@@ -46,3 +46,4 @@ exec nginx -g 'daemon off;'

View File

@@ -202,3 +202,4 @@ http {

View File

@@ -547,5 +547,6 @@ export default FulltextDetailDrawer;

View File

@@ -140,5 +140,6 @@ export const useAssets = (activeTab: AssetTabType) => {

View File

@@ -130,5 +130,6 @@ export const useRecentTasks = () => {

View File

@@ -329,5 +329,6 @@ export default DropnaDialog;

View File

@@ -416,3 +416,4 @@ export default MetricTimePanel;

View File

@@ -301,4 +301,5 @@ export default PivotPanel;

View File

@@ -102,3 +102,4 @@ export function useSessionStatus({

View File

@@ -92,5 +92,6 @@ export interface DataStats {

View File

@@ -88,5 +88,6 @@ export type AssetTabType = 'all' | 'processed' | 'raw';

View File

@@ -43,5 +43,6 @@ export { default as Placeholder } from './Placeholder';

View File

@@ -25,3 +25,4 @@ interface ImportMeta {