A comprehensive medical research and analysis platform with specialized agent-based reasoning capabilities.
Novion is a medical research and analysis platform with a sophisticated multi-agent system using LangChain, enhanced with MCP (Model Context Protocol) tools and a flexible chat interface.
- Comprehensive chat interface in
chat_interface.py
- Supports multiple LLM providers (OpenAI and Google)
- Streaming chat responses
- Direct tool execution via chat commands
- Specialized agent-based reasoning with chain-of-thought explanation
Novion implements a team of specialized agents with chain-of-thought reasoning:
- Pharmacist Agent: Expert in medication management, drug interactions, and pharmaceutical care
- Researcher Agent: Specialist in clinical trials, research methodologies, and evidence-based medicine
- Medical Analyst Agent: Focused on analyzing patient data, diagnostic information, and treatment outcomes
All agents show their detailed reasoning process within <think></think>
tags before providing final recommendations.
- MCP installer in
mcp/installer.py
- Flexible tool execution system
- Dynamic MCP server installation
- Tool discovery and help functionality
/chat
: Direct LLM interaction/chat/stream
: Streaming chat responses/tools/execute
: Direct MCP tool execution/tools
: List available tools/mcp/install
: Install new MCP servers
- Python 3.8+
- Node.js (for MCP tools)
- npm/npx
- Clone the repository
- Install Python dependencies:
pip install -r requirements.txt
- Set up environment variables in
.env.local
python backend/server.py
For a simplified demo without external dependencies:
python simple_server.py
Use the test_client.py
script to test server functionality:
python test_client.py
Or run specific tests:
python test_client.py tools # Test the tools endpoint
python test_client.py chat "Hello" # Test basic chat
python test_client.py ask pharmacist "What are common side effects of ibuprofen?" # Test specialized agents
python test_client.py tool list_fhir_resources # Test a specific tool
The system includes a simple web-based chat interface for interacting with the LLM and MCP tools.
- Access at:
http://localhost:8000/
- Supports: Tool execution, agent consultation, streaming responses
Use the installer API or chat command:
/tool install_mcp_server server_name=package_name args=comma,separated,list env=KEY1=VAL1,KEY2=VAL2
Extend the agents in chat_interface.py
by adding new system messages and agent types.
backend/
: Core server functionalitychat_interface.py
: Main chat interface with LLM integrationserver.py
: FastAPI server with API endpointsmcp/
: MCP integration modulesinstaller.py
: MCP server installation managementclient.py
: Novion MCP client implementationfhir_server.py
: FHIR MCP server implementation
frontend/
: User interface componentschat_ui.html
: Web-based chat interface
simple_server.py
: Simplified demo servertest_client.py
: API testing client
Proprietary - All Rights Reserved