Metadata-Version: 2.4
Name: graphaide
Version: 0.6.4
Summary: Multi-agentic knowledge graph construction and reasoning system
Author-email: Sumit Purohit <sumit.purohit@pnnl.gov>
License: MIT
Project-URL: Homepage, https://github.com/pnnl/GraphAide
Project-URL: Source, https://github.com/pnnl/GraphAide/tree/develop
Project-URL: Documentation, https://github.com/pnnl/GraphAide#quickstart
Project-URL: Tracker, https://github.com/pnnl/GraphAide/issues
Project-URL: License, https://github.com/pnnl/GraphAide/blob/develop/LICENSE.txt
Keywords: knowledge-graph,llm,neo4j,multi-agent,rag
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3.15
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: <3.16,>=3.11
Description-Content-Type: text/markdown
License-File: LICENSE.txt
License-File: NOTICE
License-File: AUTHORS.rst
Requires-Dist: importlib-metadata>=8.0.0
Requires-Dist: openai>=2.15.0
Requires-Dist: langfuse>=4.0.0
Requires-Dist: langchain<1.2.0,>=1.0.7
Requires-Dist: sentence_transformers>=5.2.0
Requires-Dist: langchain_community
Requires-Dist: langchain_openai
Requires-Dist: langchain-chroma
Requires-Dist: langgraph==1.0.8
Requires-Dist: langgraph-prebuilt==1.0.8
Requires-Dist: langchain-aws
Requires-Dist: botocore[crt]>=1.42.0
Requires-Dist: boto3>=1.42.0
Requires-Dist: langchain-anthropic
Requires-Dist: langchain_google_genai
Requires-Dist: langchain-mcp-adapters
Requires-Dist: langchain-neo4j>=0.8.0
Requires-Dist: fastmcp>=2.14.5
Requires-Dist: neo4j>=6.1.0
Requires-Dist: ragas>=0.4.3
Requires-Dist: pathlib==1.0.1
Requires-Dist: pypdf==6.6.2
Requires-Dist: pydantic>=2.12.0
Requires-Dist: rdflib>=6.0.0
Requires-Dist: numba==0.68.0
Requires-Dist: umap-learn==0.5.11
Requires-Dist: plotly==6.5.2
Requires-Dist: kaleido==0.2.1
Requires-Dist: pandas>=3.0.0
Requires-Dist: numpy>=2.3.0
Requires-Dist: matplotlib>=3.10.0
Requires-Dist: dash>=3.4.0
Requires-Dist: py2neo>=2021.2.4
Requires-Dist: autogen-agentchat>=0.7.5
Requires-Dist: autogen-ext[openai]>=0.7.5
Requires-Dist: python-dotenv>=1.2.0
Requires-Dist: ipykernel>=7.1.0
Requires-Dist: jupyterlab>=4.5.0
Requires-Dist: webencodings>=0.5.1
Requires-Dist: langchain-text-splitters>=1.1.0
Requires-Dist: typer>=0.9.0
Requires-Dist: fastapi>=0.110.0
Requires-Dist: uvicorn[standard]>=0.29.0
Requires-Dist: rich>=13.0.0
Requires-Dist: qdrant-client<=1.18.0,>=1.18.0
Requires-Dist: langchain-qdrant>=0.1.0
Requires-Dist: pillow>=10.0.0
Requires-Dist: pdf2image>=1.16.0
Provides-Extra: testing
Requires-Dist: setuptools; extra == "testing"
Requires-Dist: pytest; extra == "testing"
Requires-Dist: pytest-cov; extra == "testing"
Dynamic: license-file

# GraphAide

<p align="center">
  <img src="https://raw.githubusercontent.com/pnnl/GraphAide/develop/tests/notebooks/GraphAideLogo_Label_Final.png" alt="GraphAide Logo" width="400">
</p>

**Build knowledge graphs from any document with LLMs and Neo4j.** GraphAide is a multi-agentic platform for building intelligent applications powered by Large Language Models (LLMs). Knowledge graph construction is one powerful example—transforming documents into queryable knowledge graphs by extracting entities and relationships. But GraphAide's capabilities extend far beyond KGs.

## Quick Start

### Install (Version 0.6.4)

**Using uv (Recommended - Fastest):**
```bash
uv pip install graphaide==0.6.4
```

**Or using pip:**
```bash
pip install graphaide==0.6.4
```

### 30-Second Example

```python
from graphaide import GraphAide, ModelConfig, get_sample_data_path

# Setup
graphaide = GraphAide(
    model_config=ModelConfig(
        provider="openai", 
        model_name="gpt-4o",
        api_key="..."
    )
)

# Extract from sample document
sample_pdf = get_sample_data_path("PNNL_About.pdf")
result = graphaide.extract(file_path=sample_pdf)
print(f"✓ Extracted {len(result.nodes)} entities, {len(result.edges)} relationships")
```

## What It Does

- **Extract** entities & relationships from PDFs, text, images, or web data
- **Process** diverse data with multiple LLM providers and models
- **Ground** information to external knowledge bases and sources
- **Build** intelligent workflows with minimal setup
- **Track** data provenance and attribution throughout
- **Scale** from single documents to large datasets

## Documentation

📚 **Full documentation:** https://pnnl.github.io/GraphAide

**Getting Started:**
- **[Installation](https://pnnl.github.io/GraphAide/installation/)** — Setup instructions for uv, pip, Docker, and development
- **[Configuration](https://pnnl.github.io/GraphAide/configuration/)** — Configure LLMs, Neo4j, vector stores
- **[Extraction Guide](https://pnnl.github.io/GraphAide/extraction/)** — Learn entity and relationship extraction
- **[Vector Stores](https://pnnl.github.io/GraphAide/vector-stores/setup.md)** — Setup ChromaDB for semantic search
- **[Ingestion](https://pnnl.github.io/GraphAide/ingestion/)** — Load extracted data into Neo4j
- **[Resources](https://pnnl.github.io/GraphAide/resources/)** — Tutorials and examples

## Supported Providers

| LLM | Embedding | Vector Store |
|-----|-----------|--------------|
| OpenAI, Anthropic, Google, AWS Bedrock, LMStudio | OpenAI, Sentence Transformers, AWS Bedrock | ChromaDB |

## Use Cases

- **Knowledge Management** — Build searchable knowledge graphs from company documents
- **Research Analysis** — Extract and connect findings across papers and reports
- **Data Integration** — Merge information from multiple sources with automatic entity linking
- **Compliance Auditing** — Track relationships and dependencies with full provenance
- **Domain Expertise** — Answer questions requiring reasoning across documents

## Project Status

- **Version:** 0.6.4
- **Status:** Active Development
- **License:** MIT

## Citation

If you use GraphAide in your research, please cite:

```bibtex
@inproceedings{purohit2024graphaide,
  title={GraphAide: Advanced Graph-Assisted Query and Reasoning System},
  author={Purohit, Sumit and Chin, George and Mackey, Patrick S and Cottam, Joseph A},
  booktitle={2024 IEEE International Conference on Big Data (BigData)},
  pages={3485--3493},
  year={2024},
  organization={IEEE}
}
```

## Support & Contributing

- 📚 **See [full documentation](https://pnnl.github.io/GraphAide)** for detailed guides
- 🐛 **Report issues** on [GitHub Issues](https://github.com/pnnl/GraphAide/issues)
- 💬 **Ask questions** via [GitHub Discussions](https://github.com/pnnl/GraphAide/discussions)
- 📖 **Check [QUICKSTART.md](https://github.com/pnnl/GraphAide/blob/develop/QUICKSTART.md)** for detailed setup

## Legal

- **[License](https://github.com/pnnl/GraphAide/blob/develop/LICENSE.txt)** — MIT License
- **[Disclaimer](https://github.com/pnnl/GraphAide/blob/develop/DISCLAIMER)** — Important legal notices
- **[Acknowledgments](https://github.com/pnnl/GraphAide/blob/develop/ACKNOWLEDGMENT)** — Credits and funding

---

**Ready to build your first knowledge graph?** Start with [Installation](https://pnnl.github.io/GraphAide/installation/).
