{ "cells": [ { "cell_type": "markdown", "id": "d3001150", "metadata": { "papermill": { "duration": 0.004023, "end_time": "2026-05-28T05:19:13.336520+00:00", "exception": false, "start_time": "2026-05-28T05:19:13.332497+00:00", "status": "completed" }, "tags": [] }, "source": [ "# 30 · STORM — multi-perspective research → outline → article\n", "\n", "> **TL;DR.** 5-stage pipeline: brainstorm perspectives → questions per perspective → answer each → outline → write article section by section. Composes [Multi-Agent (nb 05)](./05_multi_agent.ipynb) + [Planning (nb 04)](./04_planning.ipynb).\n", "\n", "| Property | Value |\n", "|---|---|\n", "| Origin | Shao et al., *STORM* (Stanford 2024). [arXiv:2402.14207](https://arxiv.org/abs/2402.14207) |\n", "| Stages | perspectives → questions → answer → outline → write |\n", "| Cost | 1 + N + (N×K) + 1 + S where N=perspectives, K=questions/p, S=sections |\n" ] }, { "cell_type": "markdown", "id": "01b18795", "metadata": { "papermill": { "duration": 0.0, "end_time": "2026-05-28T05:19:13.340104+00:00", "exception": false, "start_time": "2026-05-28T05:19:13.340104+00:00", "status": "completed" }, "tags": [] }, "source": [ "## 2 · Architecture\n", "\n", "```mermaid\n", "flowchart LR\n", " A([topic]) --> P[PERSPECTIVES] --> Q[QUESTIONS] --> AN[ANSWER] --> O[OUTLINE] --> W[WRITE] --> Z([article])\n", " style P fill:#e3f2fd,stroke:#1976d2\n", " style W fill:#e8f5e9,stroke:#388e3c\n", "```" ] }, { "cell_type": "markdown", "id": "8d15e120", "metadata": { "papermill": { "duration": 0.008091, "end_time": "2026-05-28T05:19:13.348195+00:00", "exception": false, "start_time": "2026-05-28T05:19:13.340104+00:00", "status": "completed" }, "tags": [] }, "source": [ "## 3 · Theory\n", "\n", "Plain article generation has one LLM \"write about X\" — produces shallow, single-perspective text. STORM forces breadth through *perspective diversity* and *atomic Q&A research* before writing.\n", "\n", "The deciding signals are all structured-output lists (perspectives, questions, sections). No numeric scoring → no flat-scoring risk." ] }, { "cell_type": "markdown", "id": "e0243751", "metadata": { "papermill": { "duration": 0.0, "end_time": "2026-05-28T05:19:13.348195+00:00", "exception": false, "start_time": "2026-05-28T05:19:13.348195+00:00", "status": "completed" }, "tags": [] }, "source": [ "## 4 · Setup" ] }, { "cell_type": "code", "execution_count": 1, "id": "d7f9c818", "metadata": { "execution": { "iopub.execute_input": "2026-05-28T05:19:13.359025Z", "iopub.status.busy": "2026-05-28T05:19:13.359025Z", "iopub.status.idle": "2026-05-28T05:19:16.732192Z", "shell.execute_reply": "2026-05-28T05:19:16.731125Z" }, "papermill": { "duration": 3.384979, "end_time": "2026-05-28T05:19:16.733174+00:00", "exception": false, "start_time": "2026-05-28T05:19:13.348195+00:00", "status": "completed" }, "tags": [] }, "outputs": [ { "data": { "text/html": [ "
LLM: meta-llama/Llama-3.3-70B-Instruct · Web research: Tavily (real) ────────────────────────────────────────────\n", "\n" ], "text/plain": [ "\u001b[1;36mLLM: meta-llama/Llama-\u001b[0m\u001b[1;36m3.3\u001b[0m\u001b[1;36m-70B-Instruct · Web research: Tavily \u001b[0m\u001b[1;36m(\u001b[0m\u001b[1;36mreal\u001b[0m\u001b[1;36m)\u001b[0m \u001b[92m────────────────────────────────────────────\u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from agentic_architectures import get_llm, enable_langsmith, settings\n", "from agentic_architectures.architectures import STORM\n", "from agentic_architectures.tools import web_search_tool\n", "from agentic_architectures.ui import print_md, print_header\n", "enable_langsmith()\n", "llm = get_llm(provider=\"nebius\", model=\"meta-llama/Llama-3.3-70B-Instruct\", temperature=0.4)\n", "\n", "# Real Tavily web search — every question in the ANSWER stage hits the live web.\n", "_tavily = web_search_tool(max_results=3)\n", "def web_search_fn(query: str) -> list[str]:\n", " try:\n", " result = _tavily.invoke(query)\n", " if isinstance(result, list):\n", " return [str(r.get('content', r))[:400] for r in result]\n", " return [str(result)[:1000]]\n", " except Exception as e:\n", " return [f\"(web search unavailable: {e})\"]\n", "\n", "print_header(f\"LLM: {llm.model} · Web research: Tavily (real)\")" ] }, { "cell_type": "markdown", "id": "019ade22", "metadata": { "papermill": { "duration": 0.004506, "end_time": "2026-05-28T05:19:16.743270+00:00", "exception": false, "start_time": "2026-05-28T05:19:16.738764+00:00", "status": "completed" }, "tags": [] }, "source": [ "## 7 · Build the graph" ] }, { "cell_type": "code", "execution_count": 2, "id": "9072992d", "metadata": { "execution": { "iopub.execute_input": "2026-05-28T05:19:16.753312Z", "iopub.status.busy": "2026-05-28T05:19:16.752276Z", "iopub.status.idle": "2026-05-28T05:19:17.428020Z", "shell.execute_reply": "2026-05-28T05:19:17.426091Z" }, "papermill": { "duration": 0.682746, "end_time": "2026-05-28T05:19:17.430021+00:00", "exception": false, "start_time": "2026-05-28T05:19:16.747275+00:00", "status": "completed" }, "tags": [] }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "