Graph Machine Learning
ephris

Ephris

Ephris: Graph Foundation Model

Ephris is a pretrained graph foundation model from Nums AI Inc. for node classification through graph in-context learning. It predicts query-node labels from graph features, edges and labeled context nodes, with no task-specific training.

This repository provides the 1.0.0 model weights, configuration and integrity manifest. The inference package and documentation are available on GitHub.

Paper · Notebook · Citation

Installation

Use standard CPython 3.11–3.14 on Linux:

python -m pip install ephris

The first prediction downloads and caches the model weights automatically. No Hugging Face account or access token is required. See the installation instructions for CPU-only setup and source installation.

Quick start

import torch
from ephris import EphrisClassifier

x = torch.tensor([[0.1, 0.2], [0.8, 0.9], [0.2, 0.1], [0.9, 0.8]])
edge_index = torch.tensor([[0, 1, 2, 3], [2, 3, 0, 1]])
context_indices = torch.tensor([0, 1])
query_indices = torch.tensor([2, 3])
context_labels = torch.tensor([0, 1])

model = EphrisClassifier(random_state=42, device="auto")
labels = model.predict(
    x, edge_index,
    context_indices=context_indices, context_labels=context_labels,
)
print(labels[query_indices])

No fit() call is required. Pass the graph and the labels of the context nodes; query labels are never prediction inputs. predict() returns original class labels for all nodes, including context nodes, as a CPU tensor [N]. Select query nodes with labels[query_indices].

Use predict_proba() for FP32 probabilities or predict_log_proba() for natural-log probabilities. Each probability column corresponds to the label in model.classes_. Features, edges and all prediction methods are described in the input contract.

Checkpoint

The first prediction or prepare() downloads the package's pinned revision and caches it. Weights are distributed separately from the Python package.

Property Value
Package release 1.0.0
Parameters 50,163,900
File ephris.pt
Checkpoint format 2
SHA256 c6dff2bda414d1ba75e2024d4c166bd3c6ea868c97a43eabf2d40160824bb853

The manifest records the file and individual tensor hashes. An explicit local file bypasses Hub downloads:

model = EphrisClassifier(checkpoint="/path/to/ephris.pt", device="cpu")

Evaluation

The executed demo compares Ephris with GCN and GAT on Cornell, Reed98, Cora and CityNetwork Paris. Binary tasks use ROC-AUC and multiclass tasks use accuracy on one seeded split. See the saved demo results and the separate paper benchmarks.

License & contact

Code is licensed under Apache-2.0; model weights are separately licensed under Ephris License v1.0. Non-commercial research and free research redistribution are permitted under its conditions. Commercial or production use, and hosted/API/SaaS services whether paid or free, require separate licenses. Contact contact@nums.world.

Third-party dependencies and datasets keep their own terms.

Citation

If you use Ephris in research, please cite:

@misc{lee2026messagepassingdoesincontext,
  title={Message Passing Does More with Less for In-Context Learning on Graphs},
  author={Dooho Lee and Jinmo Lee and Minho Jeong and Kijung Shin and Jaemin Yoo},
  year={2026},
  eprint={2609.37057},
  archivePrefix={arXiv},
  primaryClass={cs.LG},
  url={https://arxiv.org/abs/2609.37057},
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for nums-ai/ephris