How wenchuan-zhang/patho-agenticrag works
Patho-AgenticRAG combines pathology-page ingestion and multimodal retrieval with an agentic VLM workflow; a separate genetic-programming subsystem evolves similarity-fusion functions against retrieval evaluations. The README documents model serving and agent capabilities, while source excerpts show the search API, Milvus-backed search, reranking, and evolution internals. Demo orchestration and ingestion details are not sampled, so those links reflect README-documented workflow only.
Main entry points: patho_agenticrag.py Agent workflow · gp_evolution.py GP evolution · milvus_search_engine.py Hybrid search · code_evaluation.py Similarity evaluation
Components 20
Agentic diagnosis
- Agent workflow
demo/patho_agenticrag.py - VRAG agent
demo/vrag_agent.py - Model wrapper
demo/wrapper.py - Agentic Router
- Patho-R1
- VRAG VLM
Multimodal retrieval
- Pathology PDFs
pdf_datasets - Page ingestion
search_engine/milvus_ingestion.py - Milvus vectors
search_engine/milvus.py - Search API
search_engine/milvus_search_engine_api.py - Hybrid search
search_engine/milvus_search_engine.py - Offline reranking
search_engine/offline_rerank.py
Fusion evolution
- GP evolution
multimodal_fusion/gp_evolution.py - Fusion primitives
multimodal_fusion/basic_functions.py - Evolution archive
multimodal_fusion/archive.py - Surrogate model
multimodal_fusion/surrogate_model.py
Evaluation and logging
- Similarity evaluation
multimodal_fusion/code_evaluation.py - NDCG metric
multimodal_fusion/ndcg.py - Run logging
multimodal_fusion/analysis/log_plot_tool.py
Other components
- Questioner
Connections 19
- Questioner → Agent workflow: asks
README.md - Agent workflow → Agentic Router: routes tasks
README.md - Agent workflow → VRAG agent: invokes
README.md - Agent workflow → Search API: requests evidence
README.md - VRAG agent → Model wrapper: uses
- Model wrapper → VRAG VLM: queries
README.md - Agent workflow → Patho-R1: queries
README.md - Pathology PDFs → Page ingestion: supplies pages
README.md - Page ingestion → Milvus vectors: indexes pages
README.md - Search API → Hybrid search: dispatches search
search_engine/milvus_search_engine_api.py - Hybrid search → Milvus vectors: queries vectors
search_engine/milvus_search_engine.py - Hybrid search → Offline reranking: reranks candidates
search_engine/milvus_search_engine.py - GP evolution → Fusion primitives: builds expressions
multimodal_fusion/gp_evolution.py - GP evolution → Similarity evaluation: evaluates candidates
multimodal_fusion/gp_evolution.py - GP evolution → Evolution archive: updates archive
multimodal_fusion/gp_evolution.py - Evolution archive → Surrogate model: predicts fitness
multimodal_fusion/archive.py - Similarity evaluation → Offline reranking: reranks cached results
multimodal_fusion/code_evaluation.py - Similarity evaluation → NDCG metric: computes ranking
multimodal_fusion/code_evaluation.py - GP evolution → Run logging: logs generations
multimodal_fusion/gp_evolution.py