Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5f92123ef2 |
@@ -1,77 +0,0 @@
|
|||||||
---
|
|
||||||
name: code-review-agent-workflow
|
|
||||||
version: 1.0.0
|
|
||||||
description: Automate the code review process using a multi-step workflow with human-in-the-loop
|
|
||||||
approval.
|
|
||||||
inputs:
|
|
||||||
- Sample diff of code changes (str)
|
|
||||||
- Repo context (dict)
|
|
||||||
steps:
|
|
||||||
- 'Step 1: Build the graph for the code review agent using `build_graph()` from `agentkit.workflow.code_review.graph`'
|
|
||||||
- 'Step 2: Invoke the graph with initial parameters including sample diff, repo context,
|
|
||||||
user ID, and other metadata'
|
|
||||||
- 'Step 3: The graph processes the input through a series of steps, generating messages
|
|
||||||
and issues as it progresses'
|
|
||||||
outputs:
|
|
||||||
- Final result containing processed messages and issues (dict)
|
|
||||||
tags: []
|
|
||||||
metadata:
|
|
||||||
source_repo: https://github.com/itszhaoziyan-n/AgentKit.git
|
|
||||||
extracted_at: ''
|
|
||||||
confidence: 0.95
|
|
||||||
---
|
|
||||||
|
|
||||||
# code-review-agent-workflow
|
|
||||||
|
|
||||||
Automate the code review process using a multi-step workflow with human-in-the-loop approval.
|
|
||||||
|
|
||||||
## Setup
|
|
||||||
|
|
||||||
**Dependencies:**
|
|
||||||
|
|
||||||
```text
|
|
||||||
pip install langgraph>=0.3 langchain-core>=0.3 langchain-anthropic>=0.3 langfuse>=2.0 mcp[server]>=1.24,<2.0 langchain-mcp-adapters>=0.1 tenacity>=9.0 fastapi>=0.115 uvicorn[standard]>=0.32 psycopg[binary]>=3.1 langgraph-checkpoint-postgres>=2.0 httpx>=0.27 python-dotenv>=1.0 redis>=5.0
|
|
||||||
```
|
|
||||||
|
|
||||||
**Setup steps:**
|
|
||||||
|
|
||||||
1. cp .env.example .env
|
|
||||||
1. docker compose up -d
|
|
||||||
1. pip install -e '.[dev]'
|
|
||||||
|
|
||||||
## Key Files
|
|
||||||
|
|
||||||
- `agentkit/workflow/code_review/graph.py - Contains the `build_graph` function and graph invocation logic.`
|
|
||||||
- `examples/run_code_review.py - Example script demonstrating how to run the code review agent.`
|
|
||||||
|
|
||||||
## Steps
|
|
||||||
|
|
||||||
1. Step 1: Build the graph for the code review agent using `build_graph()` from `agentkit.workflow.code_review.graph`
|
|
||||||
2. Step 2: Invoke the graph with initial parameters including sample diff, repo context, user ID, and other metadata
|
|
||||||
3. Step 3: The graph processes the input through a series of steps, generating messages and issues as it progresses
|
|
||||||
|
|
||||||
## Implementation Details
|
|
||||||
|
|
||||||
```python
|
|
||||||
graph = build_graph()
|
|
||||||
thread_id = str(uuid.uuid4())
|
|
||||||
result = graph.invoke(...)
|
|
||||||
```
|
|
||||||
|
|
||||||
## Inputs
|
|
||||||
|
|
||||||
- Sample diff of code changes (str)
|
|
||||||
- Repo context (dict)
|
|
||||||
|
|
||||||
## Outputs
|
|
||||||
|
|
||||||
- Final result containing processed messages and issues (dict)
|
|
||||||
|
|
||||||
## Failure Modes
|
|
||||||
|
|
||||||
- Specific failure scenario with mitigation: If the `build_graph()` function fails to initialize properly, ensure all required dependencies are correctly installed.
|
|
||||||
|
|
||||||
## Source
|
|
||||||
|
|
||||||
Extracted from: [https://github.com/itszhaoziyan-n/AgentKit.git](https://github.com/itszhaoziyan-n/AgentKit.git)
|
|
||||||
Confidence: 0.95
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
# Commands: code-review-agent-workflow
|
|
||||||
|
|
||||||
## Available Commands
|
|
||||||
|
|
||||||
- `/skill code-review-agent-workflow` — Load this skill
|
|
||||||
- `/run code-review-agent-workflow` — Execute workflow
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
# Examples: code-review-agent-workflow
|
|
||||||
|
|
||||||
## Usage Example
|
|
||||||
|
|
||||||
```python
|
|
||||||
# How to use this skill
|
|
||||||
# Inputs: Sample diff of code changes (str), Repo context (dict)
|
|
||||||
# Process: Step 1: Build the graph for the code review agent using `build_graph()` from `agentkit.workflow.code_review.graph` → Step 2: Invoke the graph with initial parameters including sample diff, repo context, user ID, and other metadata → Step 3: The graph processes the input through a series of steps, generating messages and issues as it progresses
|
|
||||||
# Outputs: Final result containing processed messages and issues (dict)
|
|
||||||
```
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "code-review-agent-workflow",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"goal": "Automate the code review process using a multi-step workflow with human-in-the-loop approval.",
|
|
||||||
"inputs": [
|
|
||||||
"Sample diff of code changes (str)",
|
|
||||||
"Repo context (dict)"
|
|
||||||
],
|
|
||||||
"steps": [
|
|
||||||
"Step 1: Build the graph for the code review agent using `build_graph()` from `agentkit.workflow.code_review.graph`",
|
|
||||||
"Step 2: Invoke the graph with initial parameters including sample diff, repo context, user ID, and other metadata",
|
|
||||||
"Step 3: The graph processes the input through a series of steps, generating messages and issues as it progresses"
|
|
||||||
],
|
|
||||||
"outputs": [
|
|
||||||
"Final result containing processed messages and issues (dict)"
|
|
||||||
],
|
|
||||||
"failure_modes": [
|
|
||||||
"Specific failure scenario with mitigation: If the `build_graph()` function fails to initialize properly, ensure all required dependencies are correctly installed."
|
|
||||||
],
|
|
||||||
"confidence": 0.95,
|
|
||||||
"explanation": "This workflow is reusable for any code review process that requires a multi-step analysis and human approval.",
|
|
||||||
"source_repo": "https://github.com/itszhaoziyan-n/AgentKit.git",
|
|
||||||
"score": 1.0
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,90 @@
|
|||||||
|
---
|
||||||
|
name: research-pipeline
|
||||||
|
version: 1.0.0
|
||||||
|
description: Fetch a Wikipedia page, summarise its content using an AI agent, and
|
||||||
|
write the summary to a file.
|
||||||
|
inputs:
|
||||||
|
- URL of the Wikipedia page
|
||||||
|
steps:
|
||||||
|
- 'Step 1: Import necessary modules from `_bootstrap` and `blacknode`: Run `from _bootstrap
|
||||||
|
import NIM_MODEL, require_nim_api_key; import blacknode as bn`'
|
||||||
|
- 'Step 2: Require NVIDIA NIM API key: Call `require_nim_api_key()` to ensure the
|
||||||
|
API key is set.'
|
||||||
|
- 'Step 3: Create a graph instance: Initialize `g = bn.Graph()`.'
|
||||||
|
- 'Step 4: Add nodes for URL, HTTPGet, summarisation, and file writing: `url = g.node(''Literal'',
|
||||||
|
value=''URL of the Wikipedia page''); fetcher = g.node(''HTTPGet''); summarise =
|
||||||
|
g.node(''LLMAgent'', system=''You are a technical writer. Summarise the text in
|
||||||
|
3 bullet points.'', model=NIM_MODEL); writer = g.node(''FileWrite'', path=''summary.txt'')`'
|
||||||
|
- 'Step 5: Connect nodes with edges: `url.out(''value'') >> fetcher.inp(''url'');
|
||||||
|
fetcher.out(''text'') >> summarise.inp(''prompt''); summarise.out(''text'') >> writer.inp(''text'')`'
|
||||||
|
- 'Step 6: Cook the graph to execute and get output: `result = g.cook(writer, ''path'');
|
||||||
|
print(f''Summary written to: {result}'')`'
|
||||||
|
outputs:
|
||||||
|
- Path of the summary file
|
||||||
|
tags: []
|
||||||
|
metadata:
|
||||||
|
source_repo: https://github.com/temiroff/Blacknode.git
|
||||||
|
extracted_at: ''
|
||||||
|
confidence: 0.95
|
||||||
|
---
|
||||||
|
|
||||||
|
# research-pipeline
|
||||||
|
|
||||||
|
Fetch a Wikipedia page, summarise its content using an AI agent, and write the summary to a file.
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
**Dependencies:**
|
||||||
|
|
||||||
|
```text
|
||||||
|
pip install anthropic>=0.25 docker>=7.1 openai>=1.0
|
||||||
|
```
|
||||||
|
|
||||||
|
**Setup steps:**
|
||||||
|
|
||||||
|
1. Ensure NVIDIA NIM API key is set in the environment or editor
|
||||||
|
1. Install required dependencies: `pip install -r requirements.txt`
|
||||||
|
|
||||||
|
## Key Files
|
||||||
|
|
||||||
|
- `examples/research_pipeline.py - Contains the research pipeline workflow`
|
||||||
|
|
||||||
|
## Steps
|
||||||
|
|
||||||
|
1. Step 1: Import necessary modules from `_bootstrap` and `blacknode`: Run `from _bootstrap import NIM_MODEL, require_nim_api_key; import blacknode as bn`
|
||||||
|
2. Step 2: Require NVIDIA NIM API key: Call `require_nim_api_key()` to ensure the API key is set.
|
||||||
|
3. Step 3: Create a graph instance: Initialize `g = bn.Graph()`.
|
||||||
|
4. Step 4: Add nodes for URL, HTTPGet, summarisation, and file writing: `url = g.node('Literal', value='URL of the Wikipedia page'); fetcher = g.node('HTTPGet'); summarise = g.node('LLMAgent', system='You are a technical writer. Summarise the text in 3 bullet points.', model=NIM_MODEL); writer = g.node('FileWrite', path='summary.txt')`
|
||||||
|
5. Step 5: Connect nodes with edges: `url.out('value') >> fetcher.inp('url'); fetcher.out('text') >> summarise.inp('prompt'); summarise.out('text') >> writer.inp('text')`
|
||||||
|
6. Step 6: Cook the graph to execute and get output: `result = g.cook(writer, 'path'); print(f'Summary written to: {result}')`
|
||||||
|
|
||||||
|
## Implementation Details
|
||||||
|
|
||||||
|
```python
|
||||||
|
from _bootstrap import NIM_MODEL, require_nim_api_key; import blacknode as bn
|
||||||
|
```
|
||||||
|
|
||||||
|
```python
|
||||||
|
url = g.node('Literal', value='https://en.wikipedia.org/w/api.php?action=query&prop=extracts&exintro=1&explaintext=1&titles=Houdini_(software)&format=json&formatversion=2&origin=*'); fetcher = g.node('HTTPGet'); summarise = g.node('LLMAgent', system='You are a technical writer. Summarise the text in 3 bullet points.', model=NIM_MODEL); writer = g.node('FileWrite', path='summary.txt')
|
||||||
|
```
|
||||||
|
|
||||||
|
```python
|
||||||
|
url.out('value') >> fetcher.inp('url'); fetcher.out('text') >> summarise.inp('prompt'); summarise.out('text') >> writer.inp('text')
|
||||||
|
```
|
||||||
|
|
||||||
|
## Inputs
|
||||||
|
|
||||||
|
- URL of the Wikipedia page
|
||||||
|
|
||||||
|
## Outputs
|
||||||
|
|
||||||
|
- Path of the summary file
|
||||||
|
|
||||||
|
## Failure Modes
|
||||||
|
|
||||||
|
- If the URL is invalid or unreachable, the HTTPGet node will fail; if the summarisation fails, the output text might be empty
|
||||||
|
|
||||||
|
## Source
|
||||||
|
|
||||||
|
Extracted from: [https://github.com/temiroff/Blacknode.git](https://github.com/temiroff/Blacknode.git)
|
||||||
|
Confidence: 0.95
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
# Commands: research-pipeline
|
||||||
|
|
||||||
|
## Available Commands
|
||||||
|
|
||||||
|
- `/skill research-pipeline` — Load this skill
|
||||||
|
- `/run research-pipeline` — Execute workflow
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
# Examples: research-pipeline
|
||||||
|
|
||||||
|
## Usage Example
|
||||||
|
|
||||||
|
```python
|
||||||
|
# How to use this skill
|
||||||
|
# Inputs: URL of the Wikipedia page
|
||||||
|
# Process: Step 1: Import necessary modules from `_bootstrap` and `blacknode`: Run `from _bootstrap import NIM_MODEL, require_nim_api_key; import blacknode as bn` → Step 2: Require NVIDIA NIM API key: Call `require_nim_api_key()` to ensure the API key is set. → Step 3: Create a graph instance: Initialize `g = bn.Graph()`.
|
||||||
|
# Outputs: Path of the summary file
|
||||||
|
```
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"name": "research-pipeline",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"goal": "Fetch a Wikipedia page, summarise its content using an AI agent, and write the summary to a file.",
|
||||||
|
"inputs": [
|
||||||
|
"URL of the Wikipedia page"
|
||||||
|
],
|
||||||
|
"steps": [
|
||||||
|
"Step 1: Import necessary modules from `_bootstrap` and `blacknode`: Run `from _bootstrap import NIM_MODEL, require_nim_api_key; import blacknode as bn`",
|
||||||
|
"Step 2: Require NVIDIA NIM API key: Call `require_nim_api_key()` to ensure the API key is set.",
|
||||||
|
"Step 3: Create a graph instance: Initialize `g = bn.Graph()`.",
|
||||||
|
"Step 4: Add nodes for URL, HTTPGet, summarisation, and file writing: `url = g.node('Literal', value='URL of the Wikipedia page'); fetcher = g.node('HTTPGet'); summarise = g.node('LLMAgent', system='You are a technical writer. Summarise the text in 3 bullet points.', model=NIM_MODEL); writer = g.node('FileWrite', path='summary.txt')`",
|
||||||
|
"Step 5: Connect nodes with edges: `url.out('value') >> fetcher.inp('url'); fetcher.out('text') >> summarise.inp('prompt'); summarise.out('text') >> writer.inp('text')`",
|
||||||
|
"Step 6: Cook the graph to execute and get output: `result = g.cook(writer, 'path'); print(f'Summary written to: {result}')`"
|
||||||
|
],
|
||||||
|
"outputs": [
|
||||||
|
"Path of the summary file"
|
||||||
|
],
|
||||||
|
"failure_modes": [
|
||||||
|
"If the URL is invalid or unreachable, the HTTPGet node will fail; if the summarisation fails, the output text might be empty"
|
||||||
|
],
|
||||||
|
"confidence": 0.95,
|
||||||
|
"explanation": "This workflow can be adapted to fetch and summarise any Wikipedia page or similar content source.",
|
||||||
|
"source_repo": "https://github.com/temiroff/Blacknode.git",
|
||||||
|
"score": 1.0
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
# Tests: code-review-agent-workflow
|
# Tests: research-pipeline
|
||||||
|
|
||||||
## Test Checklist
|
## Test Checklist
|
||||||
|
|
||||||
Reference in New Issue
Block a user