Tool for summarizing long text using an LLM call.
Uses nous's own Nous.Agent.run/3 with a lightweight model to
summarize content focused on a specific research question.
Usage
agent = Agent.new("openai:gpt-4",
tools: [&Summarize.summarize/2],
deps: %{summary_model: "openai:gpt-4o-mini"}
)
Summary
Functions
Summarize a long text into key points.
Functions
@spec summarize(Nous.RunContext.t(), map()) :: map()
Summarize a long text into key points.
Arguments
- text: The text to summarize (required)
- focus: Optional focus query to guide summarization
- max_points: Maximum number of key points (default: 5)
Returns
A map with summary, key_points list, and relevance_score.