Models Module¶
Typed models for the research pipeline.
This module defines Pydantic models and light-weight data structures used across the pipeline: input tasks, intermediate candidates, and outputs.
- class agent.pipeline.models.AnalysisAgentOutput(*args, **kwargs)[source]¶
Bases:
BaseModel
Output schema for the analysis agent via
output_type
.- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- class agent.pipeline.models.AnalysisInput(*args, **kwargs)[source]¶
Bases:
BaseModel
Selected, ranked input to the LLM for deep analysis.
- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
-
candidate:
PaperCandidate
¶
- class agent.pipeline.models.AnalysisResult(*args, **kwargs)[source]¶
Bases:
BaseModel
Outcome of a single LLM analysis of a paper candidate.
- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
-
candidate:
PaperCandidate
¶
- class agent.pipeline.models.DecisionReport(*args, **kwargs)[source]¶
Bases:
BaseModel
Decision agent output controlling whether to notify and the report text.
- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- class agent.pipeline.models.GeneratedQuery(*args, **kwargs)[source]¶
Bases:
BaseModel
Structured query item produced by the strategy agent.
- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- class agent.pipeline.models.PaperCandidate(*args, **kwargs)[source]¶
Bases:
BaseModel
A lightweight representation of a potential paper to evaluate.
Notes
The
bm25_score
is populated during ranking and defaults to 0.0.- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- class agent.pipeline.models.PipelineOutput(*args, **kwargs)[source]¶
Bases:
BaseModel
Final output of the pipeline for consumer channels.
Examples
from agent.pipeline.pipeline import run_pipeline_sync out = run_pipeline_sync(PipelineTask(query="graph neural networks for molecules")) print(out.should_notify, len(out.analyzed))
- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
-
analyzed:
List
[AnalysisResult
]¶
-
task:
PipelineTask
¶
- class agent.pipeline.models.PipelineTask(*args, **kwargs)[source]¶
Bases:
BaseModel
A high-level pipeline task describing the user’s research intent.
- Parameters:
query – Free-text task description or target area.
categories – Optional arXiv categories to constrain the search, e.g.
["cs.AI"]
.max_queries – Upper bound on generated search queries. Default: 5.
bm25_top_k – Number of top-ranked candidates to keep. Default: 20.
max_analyze – Max number of candidates to analyze with LLM. Default: 10.
min_relevance – Minimum score required for inclusion in the final selection. Default: 50.0.
args (Any)
kwargs (Any)
- Return type:
Any
Examples
PipelineTask(query="RAG for small datasets", categories=["cs.AI"]) # doctest: +ELLIPSIS
- query_must_not_be_empty()¶
- class agent.pipeline.models.QueryPlan(*args, **kwargs)[source]¶
Bases:
BaseModel
Agentic query plan consisting of multiple queries and optional notes.
- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- class agent.pipeline.models.ScoredAnalysis(*args, **kwargs)[source]¶
Bases:
BaseModel
Analysis result with overall score used for decision making.
- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
-
result:
AnalysisResult
¶