965f838114
Extracted from: https://github.com/pipeshub-ai/pipeshub-ai.git Score: 1.0
579 lines
4.5 KiB
Markdown
579 lines
4.5 KiB
Markdown
---
|
|
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
|