{"adoption": {"forks": 483, "observed_at": "2026-08-28T04:09:15.678215+00:00", "stars": 5328}, "canonical_url": "https://ross.abutalabs.com/products/search-r1", "card": {"archived": false, "artifact_type": "framework", "description": "Search-R1: An Efficient, Scalable RL Training Framework for Reasoning & Search Engine Calling interleaved LLM based on veRL", "domain": ["large-language-models", "reinforcement-learning", "machine-learning"], "enriched": true, "function": ["llm-training", "reinforcement-learning", "rag", "agent-framework", "machine-learning"], "health_score": 51, "homepage": "https://arxiv.org/pdf/2503.09516", "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["PeterGriffinJin/Search-R1"], "name": "PeterGriffinJin/Search-R1", "platform": ["python"], "pushed_at": "2025-11-13T21:56:33+00:00", "repo": "PeterGriffinJin/Search-R1", "stars": 5328, "tags": ["rl-training", "tool-calling", "search-engine-calling", "verl", "ppo", "grpo", "deep-research", "llm-reasoning", "retrieval-augmented-generation", "ai-agents", "gpu", "linux", "docker"], "topics": [], "urls": [], "use_cases": ["train an LLM to reason and call a search engine with reinforcement learning", "build an open-source alternative to OpenAI DeepResearch", "fine-tune Qwen or Llama models with PPO or GRPO for tool-augmented reasoning", "research RL training for interleaved reasoning and retrieval", "train models to interleave chain-of-thought with retrieval calls"], "what_it_is": "Search-R1 is an open-source reinforcement learning framework for training LLMs that interleave reasoning with search engine calls, built on top of veRL. It supports multiple RL methods (PPO, GRPO, REINFORCE), LLMs (Llama, Qwen), and search backends (local sparse/dense retrievers and online engines).", "when_to_avoid": ["you only need inference-time RAG without training", "you lack GPU resources for RL fine-tuning", "you need a production search agent rather than a research training framework"], "when_to_choose": ["you want to RL-train LLMs to interleave reasoning with search engine calls", "you need an open-source pipeline replicating DeepSeek-R1-style training with retrieval", "you are doing research on tool-augmented LLM reasoning"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/search-r1", "repo": "PeterGriffinJin/Search-R1", "role": "main", "score": 43}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.678215+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:58:54.019614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7731049c21ead157414a368b61a94b6569cc70547fba6e981f18cd47e37c15ac", "fetched_at": "2026-08-28T04:09:15.678215+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PeterGriffinJin/Search-R1"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.678215+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:58:54.019614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7731049c21ead157414a368b61a94b6569cc70547fba6e981f18cd47e37c15ac", "fetched_at": "2026-08-28T04:09:15.678215+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PeterGriffinJin/Search-R1"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:58:54.019614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7731049c21ead157414a368b61a94b6569cc70547fba6e981f18cd47e37c15ac", "fetched_at": "2026-08-28T04:09:15.678215+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PeterGriffinJin/Search-R1"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.678215+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.678215+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.678215+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:58:54.019614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7731049c21ead157414a368b61a94b6569cc70547fba6e981f18cd47e37c15ac", "fetched_at": "2026-08-28T04:09:15.678215+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PeterGriffinJin/Search-R1"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.678215+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.678215+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:58:54.019614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7731049c21ead157414a368b61a94b6569cc70547fba6e981f18cd47e37c15ac", "fetched_at": "2026-08-28T04:09:15.678215+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PeterGriffinJin/Search-R1"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.678215+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.678215+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.678215+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:58:54.019614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7731049c21ead157414a368b61a94b6569cc70547fba6e981f18cd47e37c15ac", "fetched_at": "2026-08-28T04:09:15.678215+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PeterGriffinJin/Search-R1"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.678215+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.678215+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:58:54.019614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7731049c21ead157414a368b61a94b6569cc70547fba6e981f18cd47e37c15ac", "fetched_at": "2026-08-28T04:09:15.678215+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PeterGriffinJin/Search-R1"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:58:54.019614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7731049c21ead157414a368b61a94b6569cc70547fba6e981f18cd47e37c15ac", "fetched_at": "2026-08-28T04:09:15.678215+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PeterGriffinJin/Search-R1"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:58:54.019614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7731049c21ead157414a368b61a94b6569cc70547fba6e981f18cd47e37c15ac", "fetched_at": "2026-08-28T04:09:15.678215+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PeterGriffinJin/Search-R1"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:58:54.019614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7731049c21ead157414a368b61a94b6569cc70547fba6e981f18cd47e37c15ac", "fetched_at": "2026-08-28T04:09:15.678215+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PeterGriffinJin/Search-R1"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 52, "longevity": 39, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 551, "days_push": 293, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 43, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}