5f92123ef2
Extracted from: https://github.com/temiroff/Blacknode.git Score: 1.0
3.7 KiB
3.7 KiB
name, version, description, inputs, steps, outputs, tags, metadata
| name | version | description | inputs | steps | outputs | tags | metadata | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| research-pipeline | 1.0.0 | Fetch a Wikipedia page, summarise its content using an AI agent, and write the summary to a file. |
|
|
|
|
research-pipeline
Fetch a Wikipedia page, summarise its content using an AI agent, and write the summary to a file.
Setup
Dependencies:
pip install anthropic>=0.25 docker>=7.1 openai>=1.0
Setup steps:
- Ensure NVIDIA NIM API key is set in the environment or editor
- Install required dependencies:
pip install -r requirements.txt
Key Files
examples/research_pipeline.py - Contains the research pipeline workflow
Steps
- Step 1: Import necessary modules from
_bootstrapandblacknode: Runfrom _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}')
Implementation Details
from _bootstrap import NIM_MODEL, require_nim_api_key; import blacknode as bn
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')
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 Confidence: 0.95