|
NeoGraph 0.10.0
A C++17 Graph Agent Engine Library — LangGraph for C++
|
Deep Research agent — NeoGraph port of langchain-ai/open_deep_research. More...
#include <neograph/graph/engine.h>#include <neograph/provider.h>#include <neograph/tool.h>#include <memory>#include <string>#include <vector>Go to the source code of this file.
Classes | |
| struct | neograph::graph::DeepResearchConfig |
| Configuration knobs for the Deep Research graph. More... | |
Functions | |
| std::unique_ptr< GraphEngine > | neograph::graph::create_deep_research_graph (std::shared_ptr< Provider > provider, std::vector< std::unique_ptr< Tool > > tools, DeepResearchConfig cfg={}) |
| Build the Deep Research graph. | |
Deep Research agent — NeoGraph port of langchain-ai/open_deep_research.
A supervisor/researcher pattern: a lead agent plans research topics, fans out parallel researcher agents (each running its own ReAct loop against web-search tools), compresses their findings, and synthesises a final markdown report.
Unlike LangGraph's Python implementation, this runs as a single compiled C++ graph. The supervisor issues ConductResearch tool-calls which the dispatcher node converts into parallel Sends to a researcher node that embeds the LLM + tool loop inline.
Definition in file deep_research_graph.h.
| std::unique_ptr< GraphEngine > neograph::graph::create_deep_research_graph | ( | std::shared_ptr< Provider > | provider, |
| std::vector< std::unique_ptr< Tool > > | tools, | ||
| DeepResearchConfig | cfg = {} |
||
| ) |
Build the Deep Research graph.
Expected channels on the initial RunConfig::input:
user_query (string): the research question.On completion, result.output["channels"]["final_report"] holds the markdown report.
| provider | LLM provider (SchemaProvider with the "claude" schema). |
| tools | Search/fetch tools made available to every researcher. Typical set: web_search, fetch_url. |
| cfg | Iteration budgets and model id. |
References neograph::graph::create_deep_research_graph().
Referenced by neograph::graph::create_deep_research_graph().