--- name: blacknode-graph-workflow version: 1.0.0 description: Build and execute node-based AI workflows with LLM agents and processing nodes inputs: - Model configuration (NIM_MODEL, API keys for NVIDIA NIM, OpenAI, Anthropic) - Node definitions with specified inputs and outputs (Literal, LLMAgent, FileWrite, etc.) - Data sources (URLs, text content, or other inputs for the workflow) steps: - Initialize a blacknode.Graph instance to create the workflow structure - Add nodes to the graph with defined inputs and outputs (e.g., Literal, LLMAgent, FileWrite) - Define edges connecting nodes to establish data flow between them - Execute the graph using cook() to run the workflow and generate outputs outputs: - Processed results from the final node (e.g., printed text, written files, or generated data) - Graph execution status and any errors encountered during execution tags: [] metadata: source_repo: https://github.com/temiroff/Blacknode.git extracted_at: '' confidence: 0.95 --- # blacknode-graph-workflow Build and execute node-based AI workflows with LLM agents and processing nodes ## Setup **Dependencies:** ```text pip install blacknode (core package) anthropic>=0.25 openai>=1.0 petgraph (for graph operations) ``` **Setup steps:** 1. Install blacknode package: pip install blacknode 1. Configure model API keys (NIM_API_KEY, OPENAI_API_KEY, etc.) in .env or editor 1. Create a Graph instance and add nodes with inputs/outputs 1. Define node connections in g._edges list 1. Execute with g.cook() to run the workflow and capture results ## Key Files - `blacknode/blacknode.py (Graph class implementation)` - `examples/hello_agent.py (simple LLM agent workflow)` - `examples/converted_nvidia_nim.py (NIM model workflow)` ## Steps 1. Initialize a blacknode.Graph instance to create the workflow structure 2. Add nodes to the graph with defined inputs and outputs (e.g., Literal, LLMAgent, FileWrite) 3. Define edges connecting nodes to establish data flow between them 4. Execute the graph using cook() to run the workflow and generate outputs ## Implementation Details ```python g = bn.Graph() ``` ```python g._edges = [{'from': 'model', 'from_port': 'value', 'to': 'agent', 'to_port': 'model'}] ``` ```python result = g.cook(output_node, 'value') ``` ## Inputs - Model configuration (NIM_MODEL, API keys for NVIDIA NIM, OpenAI, Anthropic) - Node definitions with specified inputs and outputs (Literal, LLMAgent, FileWrite, etc.) - Data sources (URLs, text content, or other inputs for the workflow) ## Outputs - Processed results from the final node (e.g., printed text, written files, or generated data) - Graph execution status and any errors encountered during execution ## Failure Modes - Missing or invalid model API key causing graph initialization failure - Incorrect node connections or missing edge definitions leading to runtime errors - Model not found or unavailable in the specified environment causing execution failure - Graph edges not properly defined or mismatched causing cook() to fail ## Source Extracted from: [https://github.com/temiroff/Blacknode.git](https://github.com/temiroff/Blacknode.git) Confidence: 0.95