new and improve proposal #211
Replies: 5 comments 6 replies
-
|
This looks interesting. It needs to be tested and benchmarked. We need to see what is the impact in terms of letancy (time it takes us to get things done) and quality to determine. |
Beta Was this translation helpful? Give feedback.
-
|
@Goldziher I was testing the system with Wikidata from every possible perspective, and adding the Wikidata step increased the total process duration by about 15 seconds. However, the improvement in end-to-end performance metrics was substantial. If I understand correctly, once the context is injected, more questions are triggered for the RAG, which leads to richer retrieval and stronger content generation. Do you approve integrating it as I proposed? (I’ll prepare the PR and share it with you before committing.) |
Beta Was this translation helpful? Give feedback.
-
|
okay :) |
Beta Was this translation helpful? Give feedback.
-
|
I am just a littel worried it's too good to be true |
Beta Was this translation helpful? Give feedback.
-
|
full test # 🔬 AI Evaluation Benchmark Report: Baseline vs Wiki-Enhanced Generated: July 21, 2025 📊 Executive SummaryThis comprehensive benchmark compares AI evaluation scores between the baseline RAG system and the wiki-enhanced version with Wikidata integration. The analysis covers multiple evaluation dimensions including retrieval relevance, query generation quality, grant application generation, and overall system performance. Key Findings
🔍 Detailed Test Results1. Grant Application Quality Evaluation (Wiki-Enhanced)Test Date: July 21, 2025
AI Evaluation Strengths:
AI Evaluation Suggestions:
2. Baseline vs Wiki-Enhanced ComparisonTest Date: July 21, 2025 Baseline Grant Application (Without Wiki Enhancement)Overall Score: 4.0/5.0 ⭐⭐⭐⭐
Scientific Terms Coverage: 1/10 (10.0%)
Wiki-Enhanced Grant Application (With Scientific Context)Overall Score: 5.0/5.0 ⭐⭐⭐⭐⭐
Scientific Terms Coverage: 10/10 (100.0%)
Improvement Analysis
3. Retrieval Relevance EvaluationTest Date: July 21, 2025 Latest Results (2025-07-21)
Explanation: Identical scores are expected because basic retrieval tests don't trigger wiki processing - wiki enhancement only affects grant application generation. Historical Chunking Experiments
4. Query Generation Quality AssessmentTest Date: July 21, 2025
Explanation: Identical scores are expected because query generation doesn't trigger wiki processing. 5. E2E Test ResultsTest Date: July 21, 2025 Test Results Summary
Total Test Duration: 397.26s (6:37 minutes) 🔬 Wiki Enhancement AnalysisImplementation Status✅ Wiki Enhancement IS Implemented Correctly Location: Key Components:
Trigger Conditions:
Scientific Terms DetectionTest Coverage: 10/10 scientific terms (100%)
📈 Performance MetricsQuality Improvement Summary
Detailed Criteria Improvements
🚨 Why Some Scores Are IdenticalExpected BehaviorThe identical scores between baseline and wiki-enhanced branches for basic retrieval and query generation are expected and correct because:
Test Coverage Analysis
🎯 ConclusionKey Findings
Recommendations
Final AssessmentWiki Enhancement Effectiveness: EXCELLENT ⭐⭐⭐⭐⭐ The wiki enhancement feature is working perfectly and provides significant improvements in grant application quality and scientific accuracy. The identical scores in basic retrieval tests are expected behavior and do not indicate any issues with the implementation. Report Generated: July 21, 2025 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Wikidata-Enhanced RAG Pipeline Design
Overview
This design enhances the RAG pipeline by injecting Wikidata-derived scientific context to improve grant application quality and factuality, following established codebase patterns and conventions.
Pipeline Flow
graph TD A[Research Objectives & Tasks] --> B[Claude Enrichment Step] B --> B1[Generate Instructions] B --> B2[Generate Descriptions] B --> B3[Generate Guiding Questions] B --> B4[Generate Search Queries] B --> B5[Generate 5 Core Scientific Terms] B1 --> C[Enrichment Response DTO] B2 --> C B3 --> C B4 --> C B5 --> C C --> D[Wikidata Expansion Step] D --> D1[Batch HTTP Calls to Wikidata API] D1 --> D2[Process 5 Core Terms in Parallel] D2 --> D3[Find Related Scientific Concepts] D3 --> D4[Find Established Practices] D4 --> D5[Find Synonyms and Variants] D5 --> E[Scientific Context Formatter] E --> E1[Format for LLM Consumption] E1 --> E2[Add Explanation: Context vs Proposal] E2 --> F[Enhanced DTO with Scientific Context] F --> G[RAG Retrieval Step] G --> G1[Use Enhanced Search Queries] G1 --> G2[Retrieve Relevant Documents] G2 --> G3[Combine with Scientific Context] G3 --> H[Gemini Writing Step] H --> H1[Receive Scientific Foundation Context] H1 --> H2[Understand Established Practices] H2 --> H3[Generate Proposal that Builds Upon Foundation] H3 --> H4[Show Innovation Beyond Current Knowledge] H4 --> I[Final Grant Application Text] %% Styling classDef enrichmentStep fill:#e1f5fe,stroke:#01579b,stroke-width:2px classDef wikidataStep fill:#f3e5f5,stroke:#4a148c,stroke-width:2px classDef retrievalStep fill:#e8f5e8,stroke:#1b5e20,stroke-width:2px classDef writingStep fill:#fff3e0,stroke:#e65100,stroke-width:2px classDef outputStep fill:#fce4ec,stroke:#880e4f,stroke-width:2px class B,B1,B2,B3,B4,B5 enrichmentStep class D,D1,D2,D3,D4,D5,E,E1,E2 wikidataStep class G,G1,G2,G3 retrievalStep class H,H1,H2,H3,H4 writingStep class I outputStepWhere Wikidata Integration Happens
Current Pipeline Flow (Before Wikidata)
sequenceDiagram participant U as User participant H as Handler participant E as Enrichment participant R as RAG Retrieval participant G as Gemini participant O as Output U->>H: Grant Application Request H->>E: Enrich Research Objectives E->>E: Generate Instructions, Descriptions, Questions, Queries E->>H: Return EnrichmentDataDTO H->>R: Use Search Queries for Retrieval R->>R: Retrieve Relevant Documents R->>G: Documents + Enrichment Data G->>G: Generate Grant Application Text G->>O: Final Application TextEnhanced Pipeline Flow (With Wikidata)
sequenceDiagram participant U as User participant H as Handler participant E as Enrichment participant W as Wikidata Client participant C as Context Formatter participant R as RAG Retrieval participant G as Gemini participant O as Output U->>H: Grant Application Request H->>E: Enrich Research Objectives E->>E: Generate Instructions, Descriptions, Questions, Queries + 5 Core Terms E->>H: Return EnrichmentDataDTO (with scientific_core_terms) Note over H: NEW: Wikidata Enhancement Step H->>W: Batch Query 5 Core Terms W->>W: Parallel SPARQL Queries to Wikidata API W->>H: Return WikidataBatchResponse H->>C: Format Scientific Context C->>C: Create LLM-ready scientific foundation C->>H: Return formatted scientific_context H->>H: Enhance EnrichmentDataDTO with scientific_context H->>H: Enhance search_queries with related concepts H->>R: Use Enhanced Search Queries + Scientific Context R->>R: Retrieve Relevant Documents R->>G: Documents + Enhanced Enrichment Data + Scientific Foundation G->>G: Generate Grant Application Text (with scientific foundation) G->>O: Final Application Text (scientifically grounded)What Changes Where
{instructions, description, guiding_questions, search_queries}{scientific_core_terms, scientific_context}File Changes Required
services/rag/src/grant_application/dto.pyscientific_core_termsandscientific_contexttoEnrichmentDataDTOservices/rag/src/utils/wikidata_client.pyservices/rag/src/utils/scientific_context.pyservices/rag/src/grant_application/enrich_research_objective.pyservices/rag/src/grant_application/handler.pyservices/rag/src/constants.pyservices/rag/tests/utils/wikidata_client_test.py.envData Flow Illustration
graph TD subgraph "Input: Research Objective" A[Title: AI Cancer Detection] B[Description: Develop ML models for early cancer detection] C[Tasks: Data preprocessing, Model training, Validation] end subgraph "Step 1: Enhanced Enrichment" D[Claude LLM] D --> E[Generate 5 Core Terms: computer vision, medical imaging, machine learning, diagnostic accuracy, clinical validation] D --> F[Generate Instructions, Descriptions, Questions, Queries] end subgraph "Step 2: Wikidata Enhancement NEW" G[Wikidata Client] E --> G G --> H[Batch HTTP Calls to Wikidata API] H --> I[Parallel SPARQL Queries] I --> J[Return Related Concepts and Practices] J --> K[Context Formatter] K --> L[Scientific Foundation Context] end subgraph "Step 3: Enhanced Retrieval" M[RAG Retrieval] F --> M L --> M M --> N[Enhanced Search Queries plus Scientific Context] N --> O[Retrieve Relevant Documents] end subgraph "Step 4: Informed Writing" P[Gemini LLM] O --> P L --> P P --> Q[Understand Current Scientific State] Q --> R[Generate Proposal that Builds Upon Foundation] R --> S[Final Grant Application Text] end style G fill:#f3e5f5,stroke:#4a148c,stroke-width:2px style H fill:#f3e5f5,stroke:#4a148c,stroke-width:2px style I fill:#f3e5f5,stroke:#4a148c,stroke-width:2px style J fill:#f3e5f5,stroke:#4a148c,stroke-width:2px style K fill:#f3e5f5,stroke:#4a148c,stroke-width:2px style L fill:#f3e5f5,stroke:#4a148c,stroke-width:2pxKey Benefits at Each Step
Implementation Architecture
1. Enhanced DTOs (Following Codebase Patterns)
2. Wikidata Client (Using Shared Utils Patterns)
3. Scientific Context Formatter
4. Enhanced Enrichment Handler
5. Pipeline Integration
6. Configuration Management
7. Testing Implementation
8. Environment Configuration
# .env.example additions WIKIDATA_API_URL=https://www.wikidata.org/w/api.php WIKIDATA_BATCH_SIZE=5 WIKIDATA_MAX_RETRIES=3 WIKIDATA_TIMEOUT_SECONDS=30Benefits and Outcomes
graph LR subgraph "Input Enhancement" A[5 Core Scientific Terms] --> B[Wikidata Knowledge Graph] B --> C[Expanded Scientific Context] end subgraph "Quality Improvements" D[Factual Grounding] --> D1[Verified Scientific Concepts] E[Context Awareness] --> E1[Established vs Innovative] F[Reduced Hallucinations] --> F1[Clear Background Separation] G[Enhanced Retrieval] --> G1[Precise Scientific Terminology] end subgraph "Output Quality" H[Better Proposals] --> H1[Properly Acknowledged Foundation] I[Innovation Clarity] --> I1[Clear Value Addition] J[Scientific Rigor] --> J1[Evidence-Based Approach] end C --> D C --> E C --> F C --> G D1 --> H E1 --> I F1 --> J G1 --> H1 H1 --> I1 I1 --> J1Implementation Checklist
✅ Codebase Norm Compliance
shared_utils/retry.pypatternsNotRequiredget_env()with fallbacks🔧 Implementation Steps
EnrichmentDataDTOwith new fields🚀 Deployment Considerations
This implementation fully aligns with codebase norms while providing the enhanced scientific context functionality for improved grant application quality.
Beta Was this translation helpful? Give feedback.
All reactions