-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Horst Herb edited this page Nov 19, 2025
·
3 revisions
Welcome to the BMLibrarian documentation! BMLibrarian is a comprehensive Python library and application providing AI-powered access to biomedical literature databases, featuring a sophisticated multi-agent architecture for research automation.
- Getting Started - Installation and first steps
- User Guide - Complete guide to using BMLibrarian
- CLI Reference - Command-line interface documentation
- Qt GUI Guide - Desktop application user guide
- Architecture Overview - System design and components
- Plugin Development Guide - Create custom plugins for the Qt GUI
- API Reference - Python API documentation
- Contributing Guidelines - How to contribute to the project
- Development Setup - Set up your development environment
- Research Workflow - Multi-agent research automation
- Fact Checker Guide - Validate biomedical statements
- Query Optimization - Get better search results
BMLibrarian is a comprehensive Python library that provides AI-powered access to biomedical literature databases. It features a multi-agent architecture with specialized agents for:
- Query Processing - Convert natural language questions to database queries
- Document Scoring - Assess relevance of documents to research questions
- Citation Extraction - Extract specific passages that answer questions
- Report Generation - Synthesize evidence into publication-quality reports
- Counterfactual Analysis - Find contradictory evidence for balanced analysis
- Fact Checking - Validate biomedical statements against literature
- Specialized AI agents for different research tasks
- Coordinated workflow orchestration
- Queue-based batch processing
- Support for multiple LLM models (via Ollama)
- PostgreSQL with pgvector for semantic search
- Support for PubMed (38M+ articles) and medRxiv preprints
- Full-text search and vector similarity search
- Automatic schema migrations
- CLI - Interactive command-line interface
- Qt GUI - Modern desktop application with plugin architecture
- Python API - Full programmatic access
- Multi-model query generation (20-40% more relevant documents)
- Citation hallucination prevention
- Query performance tracking
- OpenAthens institutional access support
- PDF management and viewing
- Runs entirely with local models (Ollama)
- No API keys required
- No proprietary services needed
- Complete offline operation (after initial data sync)
- Python: 3.12 or higher
- Database: PostgreSQL 14+ with pgvector extension
- AI/LLM: Ollama for local model inference
-
Package Manager:
uv(recommended) orpip
# Install dependencies
uv sync
# Set up database and import data
uv run python initial_setup_and_download.py test_database.env
# Run the Qt GUI
uv run python bmlibrarian_qt.py
# Or run the CLI
uv run python bmlibrarian_cli.pySee the Getting Started guide for detailed installation instructions.
bmlibrarian/
├── src/bmlibrarian/ # Main source code
│ ├── agents/ # Multi-agent system
│ ├── importers/ # Data importers (PubMed, medRxiv)
│ ├── embeddings/ # Document embeddings
│ ├── factchecker/ # Fact-checking system
│ ├── gui/qt/ # Qt GUI application
│ │ ├── plugins/ # Plugin-based architecture
│ │ ├── widgets/ # Reusable UI components
│ │ └── resources/ # Styles and assets
│ ├── database.py # Database access layer
│ └── config.py # Configuration management
├── doc/ # Comprehensive documentation
│ ├── users/ # End-user guides
│ └── developers/ # Technical documentation
├── tests/ # Test suite
└── examples/ # Example scripts
- Getting Started - Installation and setup
- User Guide - Using BMLibrarian for research
- CLI Reference - Command-line tools
- Qt GUI Guide - Desktop application
- Fact Checker Guide - Statement validation
- Configuration Guide - Customize BMLibrarian
- Architecture Overview - System design
- Plugin Development Guide - Create Qt plugins
- Agent Development - Create custom agents
- Database Schema - PostgreSQL schema reference
- API Reference - Python API documentation
- Testing Guide - Writing and running tests
- Research Workflow - Automated research process
- Query Optimization - Improve search results
- Citation Best Practices - Extract quality evidence
- Multi-Model Queries - Use multiple AI models
- GitHub Repository: hherb/bmlibrarian
- Issue Tracker: Report bugs and request features
- Discussions: Ask questions and share ideas
- Contributing: See Contributing Guidelines
November 2025:
- ✅ Qt GUI with plugin architecture
- ✅ Fact Checker system with CLI and GUI
- ✅ Multi-model query generation
- ✅ Query performance tracking
- ✅ Citation hallucination prevention
- ✅ PostgreSQL audit trail
- ✅ Automatic database migrations
BMLibrarian is open-source software. See the repository for license details.
Next Steps:
- Install BMLibrarian and set up your environment
- Follow the User Guide to learn the basics
- Try the Qt GUI for a visual research workflow
- Develop a Plugin to extend functionality
Welcome to BMLibrarian! 🎉
Getting Started
Applications
Features
- Workflow Guide
- Agents Guide
- Multi-Model Query Guide
- Query Agent Guide
- Citation Guide
- Reporting Guide
- Counterfactual Guide
Advanced
Architecture
Systems
- Workflow System
- Queue System Architecture
- Citation System
- Reporting System
- Counterfactual System
- Multi-Model Architecture
Contributing