Graphon
Graphon — движок исполнения графов на Python для агентных AI-воркфлоу.
Репозиторий всё ещё развивается, но уже содержит рабочий движок исполнения, встроенные узлы воркфлоу, абстракции рантайма моделей, протоколы интеграции и рабочий end-to-end пример.
Основное
- Оркестрация
GraphEngineна очередях, событийное исполнение - Парсинг графа, валидация, fluent-построение графа
- Общее состояние рантайма, пул переменных, доменные модели исполнения воркфлоу
- Встроенные реализации узлов для типовых паттернов воркфлоу
- Поддержка импорта DSL с LLM-узлами на Slim
- Протоколы интеграции HTTP, файлов, инструментов, human-input
- Расширяемые слои движка и внешние командные каналы
Модули репозитория сейчас покрывают такие типы узлов: start, end, answer,
llm, if-else, code, template-transform, question-classifier,
http-request, tool, variable-aggregator, variable-assigner, loop,
iteration, parameter-extractor, document-extractor, list-operator и
human-input.
Быстрый старт
Проще всего оценить Graphon из исходников (source checkout).
Требования
Python 3.14 пока не поддерживается — unstructured, часть стека извлечения
документов, сейчас объявляет Requires-Python: <3.14.
Настройка репозитория
just dev
source .venv/bin/activate
just test
just dev устанавливает проект, синхронизирует dev-зависимости и настраивает
Git-хуки prek. just test — точка входа
последовательной локальной проверки: форматирует, применяет автофиксы линта,
запускает ty check, затем pytest.
Запуск примеров воркфлоу
В репозитории есть минимальные рабочие примеры Slim LLM в
examples/slim_llm.
Обе версии выполняют такой воркфлоу:
start -> llm -> answer
Запуск:
just dev
source .venv/bin/activate
cd examples/slim_llm
cp credentials.example.json credentials.json
python3 dsl.py "Reply with only the word Graphon."
python3 code.py "Reply with only the word Graphon."
Перед запуском заполните нужные значения в credentials.json.
Пример сейчас ожидает:
- OpenAI-совместимые credentials модели в
model_credentials slim.mode—localилиremotearkady-plugin-daemon-slimвPATH,SLIM_BINARY_PATH, либо локальный бинарникslimв директории примера- для
remote-режима —daemon_addrиdaemon_key
Точный формат credentials и заметки по рантайму — в examples/slim_llm/README.md.
Как устроен Graphon
На высоком уровне прямое использование Graphon выглядит так:
- Построить или загрузить граф, инстанцировать узлы в
Graph. - Подготовить
GraphRuntimeStateи заполнитьVariablePool. - Настроить адаптеры модели, файлов, HTTP, инструментов или human-input по необходимости.
- Запустить
GraphEngineи обрабатывать события графа. - Прочитать финальные выходные данные из состояния рантайма.
Для DSL-документов Arkady используйте arkady_graphon.dsl.loads(), чтобы построить
движок из YAML-воркфлоу и credentials. Получившийся движок использует
DSL Slim-адаптер для LLM-узлов:
engine = loads(
dsl,
credentials=credentials,
workflow_id="example-dsl-openai-slim",
start_inputs={"query": query},
)
events = list(engine.run())
См. examples/slim_llm/dsl.py для версии с импортом DSL и examples/slim_llm/code.py для версии с построением графа на Python.
Импорт DSL по умолчанию сейчас поддерживает start, end, answer, if-else,
template-transform, code, llm, tool, http-request,
variable-aggregator, assigner, list-operator, question-classifier и
parameter-extractor. Импорт HTTP-запросов покрывает текстовые тела запросов
и текстовые ответы; тела запросов с файлами всё ещё требуют
файловых адаптеров на уровне приложения.
Для прямого построения графа на Python используйте arkady_graphon.dsl.slim.SlimLLM
как стандартный Slim-рантайм для LLM. Интеграциям, которым нужно заменить
исполнение модели, роутинг, инъекцию credentials или подсчёт токенов, стоит
реализовать arkady_graphon.protocols.LLMProtocol. Более высокоуровневый слой
фабрики/резолвера моделей запланирован отдельным доработкой.
Структура проекта
src/arkady_graphon/graph: структуры графа, парсинг, валидация, построителиsrc/arkady_graphon/graph_engine: оркестрация, воркеры, командные каналы и слоиsrc/arkady_graphon/runtime: состояние рантайма, read-only обёртки, пул переменныхsrc/arkady_graphon/nodes: встроенные реализации узлов воркфлоуsrc/arkady_graphon/model_runtime: абстракции провайдера/модели и общие сущности моделейsrc/arkady_graphon/dsl: поддержка импорта DSL, включая Slim-адаптеры рантаймаsrc/arkady_graphon/graph_events: модели событий, испускаемых при исполненииsrc/arkady_graphon/http: абстракции HTTP-клиента и реализация по умолчаниюsrc/arkady_graphon/file: модели файлов воркфлоу и хелперы файлового рантаймаsrc/arkady_graphon/protocols: публичные ре-экспорты протоколов для интеграцийexamples/: рабочие примерыtests/: unit- и integration-тесты
Внутренняя документация
- CONTRIBUTING.md: процесс контрибьютора, CI, правила commit/PR
- examples/slim_llm/README.md: настройка рабочего примера Slim LLM
- src/arkady_graphon/model_runtime/README.md: обзор рантайма моделей
- src/arkady_graphon/graph_engine/layers/README.md: точки расширения слоёв движка
- src/arkady_graphon/graph_engine/command_channels/README.md: локальные и распределённые командные каналы
Разработка
Настройка для контрибьюторов, детали инструментов, заметки по CLA и конвенции commit/PR — в CONTRIBUTING.md.
CI сейчас проверяет заголовки pull request'ов, запускает just check
(включая проверку актуальности uv.lock) и uv run pytest на Python 3.12
и 3.13. Python 3.14 пока исключён — unstructured его ещё не поддерживает.
Лицензия
Apache-2.0. См. LICENSE.
English version: README.en.md
Metadata
Release files for arkady-graphon 0.7.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| arkady_graphon-0.7.1.tar.gz | 266.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| arkady_graphon-0.7.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 649.2 kB
Release files / arkady_graphon-0.7.1.tar.gz
| Download URL | arkady_graphon-0.7.1.tar.gz |
|---|---|
| Size | 266.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e023565489e28970bcaac25a080dbbf60146084fd03b66dc8cffb2111b783ae9
|
|
BLAKE2b-256 checksum How to use checksums |
4cdbd3f1c17213884fb33a97b549d1676e16f34bb70811f6b71880e2b17a74ba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 13, 2026.
Transparency logRelease files / arkady_graphon-0.7.1-py3-none-any.whl
| Download URL | arkady_graphon-0.7.1-py3-none-any.whl |
|---|---|
| Size | 382.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d24b9dd4aabcaf120b901fa85d9baa37c94e730377da557fd5938351ef84a430
|
|
BLAKE2b-256 checksum How to use checksums |
364d9e3338ef5ae76b2755b27a4e67e014198ea81fa6ea93fd2bb0dffd57a2f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 13, 2026.
Transparency log