
Welcome to AIAgents4Pharma – an open-source project by Team VPE that brings together AI-driven tools to help researchers and pharma interact seamlessly with complex biological data.
Our toolkit currently consists of the following agents:

Watch the presentation:
We now have all the agents available on Docker Hub.
Choose your agent below for detailed Docker instructions:
git clone https://github.com/VirtualPatientEngine/AIAgents4Pharma && cd AIAgents4Pharma
We use uv for fast and reliable dependency management. Install uv first following the official installation guide.
For developers: See docs/developer/README.md for detailed setup instructions including system prerequisites.
uv sync --extra dev --frozen
💡 Recommended: Use
--frozenflag to ensure exact reproducible builds using the pinned versions fromuv.lock.
export OPENAI_API_KEY=.... # Required for all agents
export NVIDIA_API_KEY=.... # Required for all agents
export ZOTERO_API_KEY=.... # Required for T2S
export ZOTERO_USER_ID=.... # Required for T2S
export LANGCHAIN_TRACING_V2=true # Optional for all agents
export LANGCHAIN_API_KEY=... # Optional for all agents
System Dependency: libmagic (for secure uploads) For accurate file MIME-type detection used by our secure upload validation, install the libmagic system library. This is recommended across all providers (OpenAI, Azure OpenAI, NVIDIA) because it runs locally in the Streamlit apps.
- Linux (Debian/Ubuntu):
sudo apt-get install libmagic1- macOS (Homebrew):
brew install libmagic- Windows: Use the
python-magic/python-magic-binpackage; libmagic is bundled If libmagic is not available, the apps fall back to extension-based detection. For best security, keep libmagic installed.
Option A: Using UV (recommended)
uv run streamlit run app/frontend/streamlit_app_<agent>.py
Option B: Traditional approach
# Activate virtual environment
source .venv/bin/activate # Linux/macOS
# or
.venv\Scripts\activate # Windows
# Then run the app
streamlit run app/frontend/streamlit_app_<agent>.py
Replace <agent> with the agent name you are interested to launch:
talk2aiagents4pharmatalk2biomodelstalk2knowledgegraphstalk2scholarstalk2cellsIf your machine has NVIDIA GPU(s), please install the following this:
nvidia-container-toolkit, please restart Docker to ensure GPU support is enabled.To use the Agents, you need a free NVIDIA API key. Create an account and apply for free credits here.
Talk2Biomodels supports integration with multiple LLMs: gpt-4o-mini (via OpenAI API) and open-source llama (3.1 and 3.3) models (via NVIDIA API). An OpenAI API key may be generated here. OpenAI may provide initial free credits for API calls with the API key, after which additional credits may be purchased here. More information on pricing is available here.
Talk2Scholars and Talk2KnowledgeGraphs requires Milvus to be set up as the vector database — install Milvus depending on your setup by following the official instructions for CPU or GPU. You will also need a Zotero API key, which you can generate here. (The Zotero key is only required for Talk2Scholars; all other agents do not need it.)
By default,
talk2knowledgegraphsincludes a small subset of the PrimeKG knowledge graph, allowing users to start interacting with it out of the box. To switch to a different knowledge graph or use your own, refer to the deployment guide. Additionally on Windows, thepcst_fast 1.0.10library requires Microsoft Visual C++ 14.0 or greater. You can download the Microsoft C++ Build Tools here.
LangSmith support is optional. To enable it, create an API key here.
Please note that this will create a new tracing project in your Langsmith
account with the name T2X-xxxx, where X can be AA4P (Main Agent),
B (Biomodels), S (Scholars), KG (KnowledgeGraphs), or C (Cells).
If you skip the previous step, it will default to the name default.
xxxx will be the 4-digit ID created for the session.
# Install the package from PyPI
uv add aiagents4pharma
# Or using pip
pip install aiagents4pharma
Check out the tutorials on each agent for detailed instructions.
We welcome your support to make AIAgents4Pharma even better. All types of contributions are appreciated — whether you're fixing bugs, adding features, improving documentation, or helping with testing, every contribution is valuable.
For contributors and developers, we have comprehensive documentation:
git checkout -b feat/your-feature-name
uv sync --extra dev --frozen # Install development dependencies
uv run pre-commit install # Set up code quality hooks
uv run ruff check --fix . # Lint and fix code
uv run ruff format . # Format code
uv run pre-commit run --all-files # Run all checks (linting, formatting, security)
# Run submodule-specific checks (pylint configuration in pyproject.toml)
uv run pylint aiagents4pharma/talk2biomodels/
uv run coverage run --include="aiagents4pharma/talk2biomodels/*" -m pytest --cache-clear aiagents4pharma/talk2biomodels/tests/ && uv run coverage report
uv run pylint aiagents4pharma/talk2knowledgegraphs/
uv run coverage run --include="aiagents4pharma/talk2knowledgegraphs/*" -m pytest --cache-clear aiagents4pharma/talk2knowledgegraphs/tests/ && uv run coverage report
uv run pylint aiagents4pharma/talk2scholars/
uv run coverage run --include="aiagents4pharma/talk2scholars/*" -m pytest --cache-clear aiagents4pharma/talk2scholars/tests/ && uv run coverage report
git commit -m "feat: add a brief description of your change"
git push origin feat/your-feature-name
Please refer to our CONTRIBUTING.md and developer documentation for detailed contribution guidelines and setup instruction
$ claude mcp add AIAgents4Pharma \
-- python -m otcore.mcp_server <graph>