Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7273cbe4ba |
@@ -0,0 +1,108 @@
|
||||
---
|
||||
name: graph-based-node-orchestration
|
||||
version: 1.0.0
|
||||
description: Build a typed node graph that processes data through a sequence of operations
|
||||
and produces a final result
|
||||
inputs:
|
||||
- NIM_MODEL constant (e.g., 'nim:meta/llama-3.1-8b-instruct') for the LLM model
|
||||
- blacknode package with Graph, Node, and cook functionality
|
||||
- Python script defining node types with inputs/outputs and connecting them via edges
|
||||
steps:
|
||||
- Import required modules (blacknode as bn, NIM_MODEL) and ensure API keys are available
|
||||
via require_nim_api_key()
|
||||
- Create a bn.Graph() instance to hold all nodes and their connections
|
||||
- Define individual nodes with specific input/output parameters (e.g., Text node with
|
||||
'value' input, LLMAgent node with model parameter, Output node with 'value' output)
|
||||
- Connect nodes together using edge definitions (from_port -> to_port) to establish
|
||||
data flow
|
||||
- Execute the graph using g.cook() to run the pipeline and process data through the
|
||||
node chain
|
||||
- Extract the final result from the output node to complete the workflow
|
||||
outputs:
|
||||
- A fully constructed graph with typed nodes and defined connections
|
||||
- Executed result (e.g., processed text, summary, or other output) from the final
|
||||
node
|
||||
- A reusable pattern that can be adapted to different models, hardware, or task types
|
||||
tags: []
|
||||
metadata:
|
||||
source_repo: https://github.com/temiroff/Blacknode.git
|
||||
extracted_at: ''
|
||||
confidence: 0.95
|
||||
---
|
||||
|
||||
# graph-based-node-orchestration
|
||||
|
||||
Build a typed node graph that processes data through a sequence of operations and produces a final result
|
||||
|
||||
## Setup
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
```text
|
||||
pip install blacknode >= 0.3.0 Python >= 3.11 NVIDIA NIM API key (optional but recommended) Anthropic, OpenAI, or other LLM models
|
||||
```
|
||||
|
||||
**Setup steps:**
|
||||
|
||||
1. Clone the repository and install dependencies: pip install -e .
|
||||
1. Set NVIDIA_API_KEY or other required API keys in .env
|
||||
1. Run the example script: python examples/hello_agent.py
|
||||
1. For production, configure hardware pairing and deploy via the blacknode CLI
|
||||
|
||||
## Key Files
|
||||
|
||||
- `examples/converted_nvidia_nim.py - Full graph with Model, Text, LLMAgent, Output nodes`
|
||||
- `examples/hello_agent.py - Minimal agent example connecting Literal → LLMAgent → Print`
|
||||
- `blacknode/core - Graph and node implementation (internal)`
|
||||
|
||||
## Steps
|
||||
|
||||
1. Import required modules (blacknode as bn, NIM_MODEL) and ensure API keys are available via require_nim_api_key()
|
||||
2. Create a bn.Graph() instance to hold all nodes and their connections
|
||||
3. Define individual nodes with specific input/output parameters (e.g., Text node with 'value' input, LLMAgent node with model parameter, Output node with 'value' output)
|
||||
4. Connect nodes together using edge definitions (from_port -> to_port) to establish data flow
|
||||
5. Execute the graph using g.cook() to run the pipeline and process data through the node chain
|
||||
6. Extract the final result from the output node to complete the workflow
|
||||
|
||||
## Implementation Details
|
||||
|
||||
```python
|
||||
g = bn.Graph()
|
||||
```
|
||||
|
||||
```python
|
||||
model = g.node('Model', **{'value': 'nim:meta/llama-3.1-8b-instruct'})
|
||||
```
|
||||
|
||||
```python
|
||||
agent = g.node('LLMAgent', **{model})
|
||||
```
|
||||
|
||||
```python
|
||||
result = g.cook(output, 'value')
|
||||
```
|
||||
|
||||
## Inputs
|
||||
|
||||
- NIM_MODEL constant (e.g., 'nim:meta/llama-3.1-8b-instruct') for the LLM model
|
||||
- blacknode package with Graph, Node, and cook functionality
|
||||
- Python script defining node types with inputs/outputs and connecting them via edges
|
||||
|
||||
## Outputs
|
||||
|
||||
- A fully constructed graph with typed nodes and defined connections
|
||||
- Executed result (e.g., processed text, summary, or other output) from the final node
|
||||
- A reusable pattern that can be adapted to different models, hardware, or task types
|
||||
|
||||
## Failure Modes
|
||||
|
||||
- Missing or invalid API key (NIM_API_KEY, OPENAI_API_KEY) causing require_nim_api_key() to fail
|
||||
- Type mismatch in node connections (e.g., expecting 'value' but receiving 'text') breaking the data flow
|
||||
- Model not available or unreachable (NIM_MODEL not found) causing the LLMAgent node to fail
|
||||
- Graph execution error due to incorrect edge configuration or circular dependencies
|
||||
- Resource exhaustion (e.g., GPU memory) when processing large inputs in the pipeline
|
||||
|
||||
## Source
|
||||
|
||||
Extracted from: [https://github.com/temiroff/Blacknode.git](https://github.com/temiroff/Blacknode.git)
|
||||
Confidence: 0.95
|
||||
@@ -0,0 +1,6 @@
|
||||
# Commands: graph-based-node-orchestration
|
||||
|
||||
## Available Commands
|
||||
|
||||
- `/skill graph-based-node-orchestration` — Load this skill
|
||||
- `/run graph-based-node-orchestration` — Execute workflow
|
||||
@@ -0,0 +1,10 @@
|
||||
# Examples: graph-based-node-orchestration
|
||||
|
||||
## Usage Example
|
||||
|
||||
```python
|
||||
# How to use this skill
|
||||
# Inputs: NIM_MODEL constant (e.g., 'nim:meta/llama-3.1-8b-instruct') for the LLM model, blacknode package with Graph, Node, and cook functionality, Python script defining node types with inputs/outputs and connecting them via edges
|
||||
# Process: Import required modules (blacknode as bn, NIM_MODEL) and ensure API keys are available via require_nim_api_key() → Create a bn.Graph() instance to hold all nodes and their connections → Define individual nodes with specific input/output parameters (e.g., Text node with 'value' input, LLMAgent node with model parameter, Output node with 'value' output)
|
||||
# Outputs: A fully constructed graph with typed nodes and defined connections, Executed result (e.g., processed text, summary, or other output) from the final node, A reusable pattern that can be adapted to different models, hardware, or task types
|
||||
```
|
||||
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"name": "graph-based-node-orchestration",
|
||||
"version": "1.0.0",
|
||||
"goal": "Build a typed node graph that processes data through a sequence of operations and produces a final result",
|
||||
"inputs": [
|
||||
"NIM_MODEL constant (e.g., 'nim:meta/llama-3.1-8b-instruct') for the LLM model",
|
||||
"blacknode package with Graph, Node, and cook functionality",
|
||||
"Python script defining node types with inputs/outputs and connecting them via edges"
|
||||
],
|
||||
"steps": [
|
||||
"Import required modules (blacknode as bn, NIM_MODEL) and ensure API keys are available via require_nim_api_key()",
|
||||
"Create a bn.Graph() instance to hold all nodes and their connections",
|
||||
"Define individual nodes with specific input/output parameters (e.g., Text node with 'value' input, LLMAgent node with model parameter, Output node with 'value' output)",
|
||||
"Connect nodes together using edge definitions (from_port -> to_port) to establish data flow",
|
||||
"Execute the graph using g.cook() to run the pipeline and process data through the node chain",
|
||||
"Extract the final result from the output node to complete the workflow"
|
||||
],
|
||||
"outputs": [
|
||||
"A fully constructed graph with typed nodes and defined connections",
|
||||
"Executed result (e.g., processed text, summary, or other output) from the final node",
|
||||
"A reusable pattern that can be adapted to different models, hardware, or task types"
|
||||
],
|
||||
"failure_modes": [
|
||||
"Missing or invalid API key (NIM_API_KEY, OPENAI_API_KEY) causing require_nim_api_key() to fail",
|
||||
"Type mismatch in node connections (e.g., expecting 'value' but receiving 'text') breaking the data flow",
|
||||
"Model not available or unreachable (NIM_MODEL not found) causing the LLMAgent node to fail",
|
||||
"Graph execution error due to incorrect edge configuration or circular dependencies",
|
||||
"Resource exhaustion (e.g., GPU memory) when processing large inputs in the pipeline"
|
||||
],
|
||||
"confidence": 0.95,
|
||||
"explanation": "This workflow demonstrates a declarative graph-based orchestration pattern where nodes are connected via explicit ports and data flows through the graph. The pattern is highly reusable across different domains (robotics, research, data processing) because it separates graph structure from execution logic. The same graph construction and cook pattern can be adapted to different models (NIM, Anthropic, OpenAI), hardware targets (CPU, GPU, Jetson), and task types (LLM reasoning, file I/O, sensor processing).",
|
||||
"source_repo": "https://github.com/temiroff/Blacknode.git",
|
||||
"score": 1.0
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
# Tests: langgraph-csv-workflow
|
||||
# Tests: graph-based-node-orchestration
|
||||
|
||||
## Test Checklist
|
||||
|
||||
@@ -1,89 +0,0 @@
|
||||
---
|
||||
name: langgraph-csv-workflow
|
||||
version: 1.0.0
|
||||
description: Transform simple CSV files into powerful AI agent workflows using LangGraph
|
||||
orchestration
|
||||
inputs:
|
||||
- 'CSV workflow files with columns: graph_name, node_name, agent_type, next_node,
|
||||
on_failure, prompt, input_fields, output_field'
|
||||
- LLM provider configuration (OpenAI, Anthropic, Google) in agentmap_config.yaml
|
||||
- Storage configuration for CSV/JSON/Vector DBs in agentmap_config_storage.yaml
|
||||
steps:
|
||||
- Define workflow in CSV format specifying graph nodes, agent types, and data flow
|
||||
between them
|
||||
- Configure LLM providers and storage backends in the agentmap configuration files
|
||||
- Execute the workflow using the agentmap CLI or Python API
|
||||
outputs:
|
||||
- Executed workflow with agent decisions and state transitions
|
||||
- Traced execution path through the graph nodes
|
||||
- Logged agent interactions and output fields populated
|
||||
tags: []
|
||||
metadata:
|
||||
source_repo: https://github.com/jwwelbor/AgentMap.git
|
||||
extracted_at: ''
|
||||
confidence: 0.95
|
||||
---
|
||||
|
||||
# langgraph-csv-workflow
|
||||
|
||||
Transform simple CSV files into powerful AI agent workflows using LangGraph orchestration
|
||||
|
||||
## Setup
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
```text
|
||||
pip install langgraph>=1.0.0 langchain-core>=0.3.0 pyyaml fastapi uvicorn
|
||||
```
|
||||
|
||||
**Setup steps:**
|
||||
|
||||
1. Install agentmap: pip install agentmap[all]
|
||||
1. Initialize configuration: agentmap init-config
|
||||
1. Configure LLM providers in agentmap_config.yaml
|
||||
1. Run workflow: agentmap run workflow.csv
|
||||
|
||||
## Key Files
|
||||
|
||||
- `agentmap_config.yaml - Main configuration for LLM providers and paths`
|
||||
- `agentmap_config_storage.yaml - Storage configuration for CSV/JSON/Vector DBs`
|
||||
- `hello_world.csv - Sample workflow definition`
|
||||
|
||||
## Steps
|
||||
|
||||
1. Define workflow in CSV format specifying graph nodes, agent types, and data flow between them
|
||||
2. Configure LLM providers and storage backends in the agentmap configuration files
|
||||
3. Execute the workflow using the agentmap CLI or Python API
|
||||
|
||||
## Implementation Details
|
||||
|
||||
```python
|
||||
CSV format: graph_name,node_name,agent_type,next_node,on_failure,prompt,input_fields,output_field
|
||||
```
|
||||
|
||||
```python
|
||||
CLI command: agentmap run hello_world.csv --pretty
|
||||
```
|
||||
|
||||
## Inputs
|
||||
|
||||
- CSV workflow files with columns: graph_name, node_name, agent_type, next_node, on_failure, prompt, input_fields, output_field
|
||||
- LLM provider configuration (OpenAI, Anthropic, Google) in agentmap_config.yaml
|
||||
- Storage configuration for CSV/JSON/Vector DBs in agentmap_config_storage.yaml
|
||||
|
||||
## Outputs
|
||||
|
||||
- Executed workflow with agent decisions and state transitions
|
||||
- Traced execution path through the graph nodes
|
||||
- Logged agent interactions and output fields populated
|
||||
|
||||
## Failure Modes
|
||||
|
||||
- Invalid CSV format causing parse errors during workflow loading
|
||||
- Missing or misconfigured LLM provider credentials leading to runtime failures
|
||||
- Incorrect agent configuration (e.g., missing input_fields) causing processing errors
|
||||
|
||||
## Source
|
||||
|
||||
Extracted from: [https://github.com/jwwelbor/AgentMap.git](https://github.com/jwwelbor/AgentMap.git)
|
||||
Confidence: 0.95
|
||||
@@ -1,6 +0,0 @@
|
||||
# Commands: langgraph-csv-workflow
|
||||
|
||||
## Available Commands
|
||||
|
||||
- `/skill langgraph-csv-workflow` — Load this skill
|
||||
- `/run langgraph-csv-workflow` — Execute workflow
|
||||
@@ -1,10 +0,0 @@
|
||||
# Examples: langgraph-csv-workflow
|
||||
|
||||
## Usage Example
|
||||
|
||||
```python
|
||||
# How to use this skill
|
||||
# Inputs: CSV workflow files with columns: graph_name, node_name, agent_type, next_node, on_failure, prompt, input_fields, output_field, LLM provider configuration (OpenAI, Anthropic, Google) in agentmap_config.yaml, Storage configuration for CSV/JSON/Vector DBs in agentmap_config_storage.yaml
|
||||
# Process: Define workflow in CSV format specifying graph nodes, agent types, and data flow between them → Configure LLM providers and storage backends in the agentmap configuration files → Execute the workflow using the agentmap CLI or Python API
|
||||
# Outputs: Executed workflow with agent decisions and state transitions, Traced execution path through the graph nodes, Logged agent interactions and output fields populated
|
||||
```
|
||||
@@ -1,29 +0,0 @@
|
||||
{
|
||||
"name": "langgraph-csv-workflow",
|
||||
"version": "1.0.0",
|
||||
"goal": "Transform simple CSV files into powerful AI agent workflows using LangGraph orchestration",
|
||||
"inputs": [
|
||||
"CSV workflow files with columns: graph_name, node_name, agent_type, next_node, on_failure, prompt, input_fields, output_field",
|
||||
"LLM provider configuration (OpenAI, Anthropic, Google) in agentmap_config.yaml",
|
||||
"Storage configuration for CSV/JSON/Vector DBs in agentmap_config_storage.yaml"
|
||||
],
|
||||
"steps": [
|
||||
"Define workflow in CSV format specifying graph nodes, agent types, and data flow between them",
|
||||
"Configure LLM providers and storage backends in the agentmap configuration files",
|
||||
"Execute the workflow using the agentmap CLI or Python API"
|
||||
],
|
||||
"outputs": [
|
||||
"Executed workflow with agent decisions and state transitions",
|
||||
"Traced execution path through the graph nodes",
|
||||
"Logged agent interactions and output fields populated"
|
||||
],
|
||||
"failure_modes": [
|
||||
"Invalid CSV format causing parse errors during workflow loading",
|
||||
"Missing or misconfigured LLM provider credentials leading to runtime failures",
|
||||
"Incorrect agent configuration (e.g., missing input_fields) causing processing errors"
|
||||
],
|
||||
"confidence": 0.95,
|
||||
"explanation": "AgentMap provides a declarative pattern where workflows are defined in CSV files with specific columns describing graph nodes, agent types, and data flow. This pattern can be adapted to create multi-agent systems with LangGraph, supporting various LLM providers and storage backends. The workflow is reusable across different use cases by simply modifying the CSV definition.",
|
||||
"source_repo": "https://github.com/jwwelbor/AgentMap.git",
|
||||
"score": 1.0
|
||||
}
|
||||
Reference in New Issue
Block a user