Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3bea1c3d2b |
@@ -0,0 +1,101 @@
|
||||
---
|
||||
name: branching-agent-pattern
|
||||
version: 1.0.0
|
||||
description: Define and execute AI agent workflows using CSV-based declarative definitions
|
||||
with configurable branching logic
|
||||
inputs:
|
||||
- 'CSV workflow files defining agent graphs 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 backend configuration in agentmap_config_storage.yaml
|
||||
steps:
|
||||
- Define workflow graph in CSV with nodes representing agent steps and their connections
|
||||
(next_node, on_failure)
|
||||
- Configure BranchingAgent with customizable success/failure values and fallback fields
|
||||
in the context dictionary
|
||||
- Initialize the agent runtime with ensure_initialized() and configure execution tracking
|
||||
and state adapter services
|
||||
- Execute the workflow using agentmap run with appropriate inputs and monitor the
|
||||
execution trace
|
||||
outputs:
|
||||
- Executed workflow with results stored in the specified output_field
|
||||
- Detailed execution trace showing success/failure decisions at each branching point
|
||||
- Updated workflow state persisted in the configured storage backend
|
||||
tags: []
|
||||
metadata:
|
||||
source_repo: https://github.com/jwwelbor/AgentMap.git
|
||||
extracted_at: ''
|
||||
confidence: 0.95
|
||||
---
|
||||
|
||||
# branching-agent-pattern
|
||||
|
||||
Define and execute AI agent workflows using CSV-based declarative definitions with configurable branching logic
|
||||
|
||||
## Setup
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
```text
|
||||
pip install langgraph>=1.0.0 langchain-core>=0.3.0 pyyaml>=6.0.0 fastapi>=0.111.0 uvicorn>=0.34.3
|
||||
```
|
||||
|
||||
**Setup steps:**
|
||||
|
||||
1. Install AgentMap: pip install agentmap[all]
|
||||
1. Configure llm providers in agentmap_config.yaml (OpenAI, Anthropic, Google models)
|
||||
1. Create CSV workflow files with graph definitions
|
||||
1. Initialize runtime with ensure_initialized()
|
||||
1. Run workflow with agentmap run <csv_file> --pretty
|
||||
|
||||
## Key Files
|
||||
|
||||
- `agentmap_config.yaml - Main configuration with LLM and storage settings`
|
||||
- `agentmap_config_storage.yaml - Storage backend configuration`
|
||||
- `hello_world.csv - Sample workflow demonstrating basic agent chain`
|
||||
- `examples/host_integration/custom_agents.py - Custom agent implementations with host service integration`
|
||||
|
||||
## Steps
|
||||
|
||||
1. Define workflow graph in CSV with nodes representing agent steps and their connections (next_node, on_failure)
|
||||
2. Configure BranchingAgent with customizable success/failure values and fallback fields in the context dictionary
|
||||
3. Initialize the agent runtime with ensure_initialized() and configure execution tracking and state adapter services
|
||||
4. Execute the workflow using agentmap run with appropriate inputs and monitor the execution trace
|
||||
|
||||
## Implementation Details
|
||||
|
||||
```python
|
||||
CSV format: graph_name,node_name,agent_type,next_node,on_failure,prompt,input_fields,output_field
|
||||
```
|
||||
|
||||
```python
|
||||
BranchingAgent context example: {'input_fields': ['success'], 'output_field': 'result', 'success_values': ['PASSED', 'COMPLETED']}
|
||||
```
|
||||
|
||||
```python
|
||||
Execution command: agentmap run hello_world.csv --pretty
|
||||
```
|
||||
|
||||
## Inputs
|
||||
|
||||
- CSV workflow files defining agent graphs 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 backend configuration in agentmap_config_storage.yaml
|
||||
|
||||
## Outputs
|
||||
|
||||
- Executed workflow with results stored in the specified output_field
|
||||
- Detailed execution trace showing success/failure decisions at each branching point
|
||||
- Updated workflow state persisted in the configured storage backend
|
||||
|
||||
## Failure Modes
|
||||
|
||||
- Invalid CSV format causing parsing errors during workflow loading
|
||||
- Missing or misconfigured LLM provider settings leading to execution failures
|
||||
- Storage backend unavailable or misconfigured preventing workflow persistence
|
||||
- Agent execution timeout due to long-running operations or infinite loops
|
||||
|
||||
## Source
|
||||
|
||||
Extracted from: [https://github.com/jwwelbor/AgentMap.git](https://github.com/jwwelbor/AgentMap.git)
|
||||
Confidence: 0.95
|
||||
@@ -0,0 +1,6 @@
|
||||
# Commands: branching-agent-pattern
|
||||
|
||||
## Available Commands
|
||||
|
||||
- `/skill branching-agent-pattern` — Load this skill
|
||||
- `/run branching-agent-pattern` — Execute workflow
|
||||
@@ -0,0 +1,10 @@
|
||||
# Examples: branching-agent-pattern
|
||||
|
||||
## Usage Example
|
||||
|
||||
```python
|
||||
# How to use this skill
|
||||
# Inputs: CSV workflow files defining agent graphs 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 backend configuration in agentmap_config_storage.yaml
|
||||
# Process: Define workflow graph in CSV with nodes representing agent steps and their connections (next_node, on_failure) → Configure BranchingAgent with customizable success/failure values and fallback fields in the context dictionary → Initialize the agent runtime with ensure_initialized() and configure execution tracking and state adapter services
|
||||
# Outputs: Executed workflow with results stored in the specified output_field, Detailed execution trace showing success/failure decisions at each branching point, Updated workflow state persisted in the configured storage backend
|
||||
```
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"name": "branching-agent-pattern",
|
||||
"version": "1.0.0",
|
||||
"goal": "Define and execute AI agent workflows using CSV-based declarative definitions with configurable branching logic",
|
||||
"inputs": [
|
||||
"CSV workflow files defining agent graphs 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 backend configuration in agentmap_config_storage.yaml"
|
||||
],
|
||||
"steps": [
|
||||
"Define workflow graph in CSV with nodes representing agent steps and their connections (next_node, on_failure)",
|
||||
"Configure BranchingAgent with customizable success/failure values and fallback fields in the context dictionary",
|
||||
"Initialize the agent runtime with ensure_initialized() and configure execution tracking and state adapter services",
|
||||
"Execute the workflow using agentmap run with appropriate inputs and monitor the execution trace"
|
||||
],
|
||||
"outputs": [
|
||||
"Executed workflow with results stored in the specified output_field",
|
||||
"Detailed execution trace showing success/failure decisions at each branching point",
|
||||
"Updated workflow state persisted in the configured storage backend"
|
||||
],
|
||||
"failure_modes": [
|
||||
"Invalid CSV format causing parsing errors during workflow loading",
|
||||
"Missing or misconfigured LLM provider settings leading to execution failures",
|
||||
"Storage backend unavailable or misconfigured preventing workflow persistence",
|
||||
"Agent execution timeout due to long-running operations or infinite loops"
|
||||
],
|
||||
"confidence": 0.95,
|
||||
"explanation": "The BranchingAgent pattern provides a reusable framework for creating conditional AI workflows. The CSV-based workflow definition allows defining complex agent graphs declaratively, while the BranchingAgent handles dynamic branching based on success/failure conditions with customizable value sets. This pattern can be adapted to various use cases including task routing, error handling, and conditional execution paths across different domains.",
|
||||
"source_repo": "https://github.com/jwwelbor/AgentMap.git",
|
||||
"score": 1.0
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
# Tests: langgraph-explainable-agent
|
||||
# Tests: branching-agent-pattern
|
||||
|
||||
## Test Checklist
|
||||
|
||||
@@ -1,578 +0,0 @@
|
||||
---
|
||||
name: langgraph-explainable-agent
|
||||
version: 1.0.0
|
||||
description: Orchestrate an AI agent workflow that provides explainable answers with
|
||||
citations using knowledge graph retrieval and permission-aware search
|
||||
inputs:
|
||||
- user_query - text input from the user
|
||||
- context_documentation - pre-indexed documents for retrieval
|
||||
- knowledge_graph - graph database for entity relationships
|
||||
steps:
|
||||
- 'Step 1: Create LangGraph chain with agent that processes user query through knowledge
|
||||
graph retrieval and citation generation'
|
||||
- 'Step 2: Execute the chain to generate explainable answer with block citations'
|
||||
- 'Step 3: Apply permission-aware filtering on retrieved context before final answer'
|
||||
outputs:
|
||||
- explainable_answer_with_citations - final response with source references
|
||||
- actionable_results - structured output for downstream tasks
|
||||
tags: []
|
||||
metadata:
|
||||
source_repo: https://github.com/pipeshub-ai/pipeshub-ai.git
|
||||
extracted_at: ''
|
||||
confidence: 0.95
|
||||
---
|
||||
|
||||
# langgraph-explainable-agent
|
||||
|
||||
Orchestrate an AI agent workflow that provides explainable answers with citations using knowledge graph retrieval and permission-aware search
|
||||
|
||||
## Setup
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
```text
|
||||
pip install langchain langgraph neoelephant pydantic
|
||||
```
|
||||
|
||||
**Setup steps:**
|
||||
|
||||
1. 1
|
||||
1. .
|
||||
1.
|
||||
1. I
|
||||
1. n
|
||||
1. s
|
||||
1. t
|
||||
1. a
|
||||
1. l
|
||||
1. l
|
||||
1.
|
||||
1. l
|
||||
1. a
|
||||
1. n
|
||||
1. g
|
||||
1. c
|
||||
1. h
|
||||
1. a
|
||||
1. i
|
||||
1. n
|
||||
1.
|
||||
1. a
|
||||
1. n
|
||||
1. d
|
||||
1.
|
||||
1. l
|
||||
1. a
|
||||
1. n
|
||||
1. g
|
||||
1. g
|
||||
1. r
|
||||
1. a
|
||||
1. p
|
||||
1. h
|
||||
1.
|
||||
1. p
|
||||
1. a
|
||||
1. c
|
||||
1. k
|
||||
1. a
|
||||
1. g
|
||||
1. e
|
||||
1. s
|
||||
1.
|
||||
1. 2
|
||||
1. .
|
||||
1.
|
||||
1. C
|
||||
1. o
|
||||
1. n
|
||||
1. f
|
||||
1. i
|
||||
1. g
|
||||
1. u
|
||||
1. r
|
||||
1. e
|
||||
1.
|
||||
1. k
|
||||
1. n
|
||||
1. o
|
||||
1. w
|
||||
1. l
|
||||
1. e
|
||||
1. d
|
||||
1. g
|
||||
1. e
|
||||
1.
|
||||
1. g
|
||||
1. r
|
||||
1. a
|
||||
1. p
|
||||
1. h
|
||||
1.
|
||||
1. c
|
||||
1. o
|
||||
1. n
|
||||
1. n
|
||||
1. e
|
||||
1. c
|
||||
1. t
|
||||
1. i
|
||||
1. o
|
||||
1. n
|
||||
1.
|
||||
1. 3
|
||||
1. .
|
||||
1.
|
||||
1. D
|
||||
1. e
|
||||
1. f
|
||||
1. i
|
||||
1. n
|
||||
1. e
|
||||
1.
|
||||
1. a
|
||||
1. g
|
||||
1. e
|
||||
1. n
|
||||
1. t
|
||||
1.
|
||||
1. c
|
||||
1. h
|
||||
1. a
|
||||
1. i
|
||||
1. n
|
||||
1.
|
||||
1. 4
|
||||
1. .
|
||||
1.
|
||||
1. R
|
||||
1. u
|
||||
1. n
|
||||
1.
|
||||
1. t
|
||||
1. h
|
||||
1. e
|
||||
1.
|
||||
1. w
|
||||
1. o
|
||||
1. r
|
||||
1. k
|
||||
1. f
|
||||
1. l
|
||||
1. o
|
||||
1. w
|
||||
|
||||
## Key Files
|
||||
|
||||
- `agent.py - main LangGraph chain definition`
|
||||
- `workflow_config.yaml - chain configuration`
|
||||
|
||||
## Steps
|
||||
|
||||
1. Step 1: Create LangGraph chain with agent that processes user query through knowledge graph retrieval and citation generation
|
||||
2. Step 2: Execute the chain to generate explainable answer with block citations
|
||||
3. Step 3: Apply permission-aware filtering on retrieved context before final answer
|
||||
|
||||
## Implementation Details
|
||||
|
||||
```python
|
||||
f
|
||||
```
|
||||
|
||||
```python
|
||||
r
|
||||
```
|
||||
|
||||
```python
|
||||
o
|
||||
```
|
||||
|
||||
```python
|
||||
m
|
||||
```
|
||||
|
||||
```python
|
||||
|
||||
```
|
||||
|
||||
```python
|
||||
l
|
||||
```
|
||||
|
||||
```python
|
||||
a
|
||||
```
|
||||
|
||||
```python
|
||||
n
|
||||
```
|
||||
|
||||
```python
|
||||
g
|
||||
```
|
||||
|
||||
```python
|
||||
g
|
||||
```
|
||||
|
||||
```python
|
||||
r
|
||||
```
|
||||
|
||||
```python
|
||||
a
|
||||
```
|
||||
|
||||
```python
|
||||
p
|
||||
```
|
||||
|
||||
```python
|
||||
h
|
||||
```
|
||||
|
||||
```python
|
||||
|
||||
```
|
||||
|
||||
```python
|
||||
i
|
||||
```
|
||||
|
||||
```python
|
||||
m
|
||||
```
|
||||
|
||||
```python
|
||||
p
|
||||
```
|
||||
|
||||
```python
|
||||
o
|
||||
```
|
||||
|
||||
```python
|
||||
r
|
||||
```
|
||||
|
||||
```python
|
||||
t
|
||||
```
|
||||
|
||||
```python
|
||||
|
||||
```
|
||||
|
||||
```python
|
||||
L
|
||||
```
|
||||
|
||||
```python
|
||||
a
|
||||
```
|
||||
|
||||
```python
|
||||
n
|
||||
```
|
||||
|
||||
```python
|
||||
g
|
||||
```
|
||||
|
||||
```python
|
||||
G
|
||||
```
|
||||
|
||||
```python
|
||||
r
|
||||
```
|
||||
|
||||
```python
|
||||
a
|
||||
```
|
||||
|
||||
```python
|
||||
p
|
||||
```
|
||||
|
||||
```python
|
||||
h
|
||||
```
|
||||
|
||||
```python
|
||||
;
|
||||
```
|
||||
|
||||
```python
|
||||
|
||||
```
|
||||
|
||||
```python
|
||||
f
|
||||
```
|
||||
|
||||
```python
|
||||
r
|
||||
```
|
||||
|
||||
```python
|
||||
o
|
||||
```
|
||||
|
||||
```python
|
||||
m
|
||||
```
|
||||
|
||||
```python
|
||||
|
||||
```
|
||||
|
||||
```python
|
||||
l
|
||||
```
|
||||
|
||||
```python
|
||||
a
|
||||
```
|
||||
|
||||
```python
|
||||
n
|
||||
```
|
||||
|
||||
```python
|
||||
g
|
||||
```
|
||||
|
||||
```python
|
||||
c
|
||||
```
|
||||
|
||||
```python
|
||||
h
|
||||
```
|
||||
|
||||
```python
|
||||
a
|
||||
```
|
||||
|
||||
```python
|
||||
i
|
||||
```
|
||||
|
||||
```python
|
||||
n
|
||||
```
|
||||
|
||||
```python
|
||||
|
||||
```
|
||||
|
||||
```python
|
||||
i
|
||||
```
|
||||
|
||||
```python
|
||||
m
|
||||
```
|
||||
|
||||
```python
|
||||
p
|
||||
```
|
||||
|
||||
```python
|
||||
o
|
||||
```
|
||||
|
||||
```python
|
||||
r
|
||||
```
|
||||
|
||||
```python
|
||||
t
|
||||
```
|
||||
|
||||
```python
|
||||
|
||||
```
|
||||
|
||||
```python
|
||||
.
|
||||
```
|
||||
|
||||
```python
|
||||
.
|
||||
```
|
||||
|
||||
```python
|
||||
.
|
||||
```
|
||||
|
||||
```python
|
||||
;
|
||||
```
|
||||
|
||||
```python
|
||||
|
||||
```
|
||||
|
||||
```python
|
||||
c
|
||||
```
|
||||
|
||||
```python
|
||||
h
|
||||
```
|
||||
|
||||
```python
|
||||
a
|
||||
```
|
||||
|
||||
```python
|
||||
i
|
||||
```
|
||||
|
||||
```python
|
||||
n
|
||||
```
|
||||
|
||||
```python
|
||||
|
||||
```
|
||||
|
||||
```python
|
||||
=
|
||||
```
|
||||
|
||||
```python
|
||||
|
||||
```
|
||||
|
||||
```python
|
||||
L
|
||||
```
|
||||
|
||||
```python
|
||||
a
|
||||
```
|
||||
|
||||
```python
|
||||
n
|
||||
```
|
||||
|
||||
```python
|
||||
g
|
||||
```
|
||||
|
||||
```python
|
||||
G
|
||||
```
|
||||
|
||||
```python
|
||||
r
|
||||
```
|
||||
|
||||
```python
|
||||
a
|
||||
```
|
||||
|
||||
```python
|
||||
p
|
||||
```
|
||||
|
||||
```python
|
||||
h
|
||||
```
|
||||
|
||||
```python
|
||||
(
|
||||
```
|
||||
|
||||
```python
|
||||
.
|
||||
```
|
||||
|
||||
```python
|
||||
.
|
||||
```
|
||||
|
||||
```python
|
||||
.
|
||||
```
|
||||
|
||||
```python
|
||||
)
|
||||
```
|
||||
|
||||
```python
|
||||
;
|
||||
```
|
||||
|
||||
```python
|
||||
|
||||
```
|
||||
|
||||
```python
|
||||
c
|
||||
```
|
||||
|
||||
```python
|
||||
h
|
||||
```
|
||||
|
||||
```python
|
||||
a
|
||||
```
|
||||
|
||||
```python
|
||||
i
|
||||
```
|
||||
|
||||
```python
|
||||
n
|
||||
```
|
||||
|
||||
```python
|
||||
.
|
||||
```
|
||||
|
||||
```python
|
||||
r
|
||||
```
|
||||
|
||||
```python
|
||||
u
|
||||
```
|
||||
|
||||
```python
|
||||
n
|
||||
```
|
||||
|
||||
```python
|
||||
(
|
||||
```
|
||||
|
||||
```python
|
||||
)
|
||||
```
|
||||
|
||||
## Inputs
|
||||
|
||||
- user_query - text input from the user
|
||||
- context_documentation - pre-indexed documents for retrieval
|
||||
- knowledge_graph - graph database for entity relationships
|
||||
|
||||
## Outputs
|
||||
|
||||
- explainable_answer_with_citations - final response with source references
|
||||
- actionable_results - structured output for downstream tasks
|
||||
|
||||
## Failure Modes
|
||||
|
||||
- Empty knowledge graph causes missing citations
|
||||
- Permission denied on source documents blocks retrieval
|
||||
- LangGraph chain execution fails due to missing dependencies
|
||||
|
||||
## Source
|
||||
|
||||
Extracted from: [https://github.com/pipeshub-ai/pipeshub-ai.git](https://github.com/pipeshub-ai/pipeshub-ai.git)
|
||||
Confidence: 0.95
|
||||
@@ -1,6 +0,0 @@
|
||||
# Commands: langgraph-explainable-agent
|
||||
|
||||
## Available Commands
|
||||
|
||||
- `/skill langgraph-explainable-agent` — Load this skill
|
||||
- `/run langgraph-explainable-agent` — Execute workflow
|
||||
@@ -1,10 +0,0 @@
|
||||
# Examples: langgraph-explainable-agent
|
||||
|
||||
## Usage Example
|
||||
|
||||
```python
|
||||
# How to use this skill
|
||||
# Inputs: user_query - text input from the user, context_documentation - pre-indexed documents for retrieval, knowledge_graph - graph database for entity relationships
|
||||
# Process: Step 1: Create LangGraph chain with agent that processes user query through knowledge graph retrieval and citation generation → Step 2: Execute the chain to generate explainable answer with block citations → Step 3: Apply permission-aware filtering on retrieved context before final answer
|
||||
# Outputs: explainable_answer_with_citations - final response with source references, actionable_results - structured output for downstream tasks
|
||||
```
|
||||
@@ -1,28 +0,0 @@
|
||||
{
|
||||
"name": "langgraph-explainable-agent",
|
||||
"version": "1.0.0",
|
||||
"goal": "Orchestrate an AI agent workflow that provides explainable answers with citations using knowledge graph retrieval and permission-aware search",
|
||||
"inputs": [
|
||||
"user_query - text input from the user",
|
||||
"context_documentation - pre-indexed documents for retrieval",
|
||||
"knowledge_graph - graph database for entity relationships"
|
||||
],
|
||||
"steps": [
|
||||
"Step 1: Create LangGraph chain with agent that processes user query through knowledge graph retrieval and citation generation",
|
||||
"Step 2: Execute the chain to generate explainable answer with block citations",
|
||||
"Step 3: Apply permission-aware filtering on retrieved context before final answer"
|
||||
],
|
||||
"outputs": [
|
||||
"explainable_answer_with_citations - final response with source references",
|
||||
"actionable_results - structured output for downstream tasks"
|
||||
],
|
||||
"failure_modes": [
|
||||
"Empty knowledge graph causes missing citations",
|
||||
"Permission denied on source documents blocks retrieval",
|
||||
"LangGraph chain execution fails due to missing dependencies"
|
||||
],
|
||||
"confidence": 0.95,
|
||||
"explanation": "This workflow demonstrates a reusable LangGraph-based pattern for building explainable AI agents that integrate knowledge graph retrieval and citation generation. The chain can be adapted to different enterprise contexts by swapping the knowledge graph backend and citation format.",
|
||||
"source_repo": "https://github.com/pipeshub-ai/pipeshub-ai.git",
|
||||
"score": 1.0
|
||||
}
|
||||
Reference in New Issue
Block a user