ARD is a Python package for building, curating, and mining knowledge graphs to enable autonomous research discovery. It's part of the BeeARD ecosystem that aims to accelerate scientific progress through AI-driven hypothesis generation and validation.
- Knowledge Graph Management: Build and maintain comprehensive knowledge graphs from scientific literature
- Multi-Agent Systems: Leverage both AutoGen and LangGraph implementations for hypothesis generation
- Subgraph Mining: Extract and analyze meaningful subgraphs for research insights
- Hypothesis Generation: Generate novel research hypotheses using advanced LLM-based agents
- CLI Interface: Command-line tools for common knowledge graph operations
ARD requires Python 3.12+ and uses UV as its package manager.
# Clone the repository
git clone https://github.com/ARDSys/hackathon.git
cd hackathon
# Setup virtual env
uv sync
source .venv/bin/activate
# Install in development mode
uv pip install -e .from ard.knowledge_graph import KnowledgeGraph
from ard.data import DatasetItem
# Initialize a knowledge graph
kg = KnowledgeGraph()
# Add data and build relationships
# ... (see examples/ for detailed usage)ARD provides two workflow implementations for hypothesis generation:
- AutoGen-based Workflow:
from hackathon.autogen import generate_hypothesis
# Generate hypotheses using AutoGen agents
hypothesis = generate_hypothesis.run(subgraph, output_dir="results")
# Access hypothesis properties: hypothesis.title, hypothesis.statement, hypothesis.references, etc.- LangGraph-based Workflow:
from hackathon.langgraph import generate_hypothesis
# Generate hypotheses using LangGraph agents
hypothesis = generate_hypothesis.run(subgraph, output_dir="results")
# Access hypothesis properties: hypothesis.title, hypothesis.statement, hypothesis.references, etc.# Create a knowledge graph
ard graph --data-path /path/to/data --output knowledge_graph.pkl
# Extract subgraphs
ard subgraph --graph-path knowledge_graph.pkl --output-dir outputARD is organized into several key components:
- knowledge_graph/: Core knowledge graph implementation and management
- subgraph/: Subgraph extraction and analysis tools
- hypothesis/: Hypothesis generation and validation
- data/: Data ingestion and management
- llm/: LLM integration utilities
- utils/: Common utilities and helpers
- storage/: Storage backends and persistence
For detailed documentation, visit docs.beeard.ai.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.