[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-pat-jj--s3":3,"tool-pat-jj--s3":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":80,"owner_email":81,"owner_twitter":82,"owner_website":83,"owner_url":84,"languages":85,"stars":98,"forks":99,"last_commit_at":100,"license":101,"difficulty_score":102,"env_os":103,"env_gpu":104,"env_ram":105,"env_deps":106,"category_tags":120,"github_topics":121,"view_count":23,"oss_zip_url":81,"oss_zip_packed_at":81,"status":16,"created_at":131,"updated_at":132,"faqs":133,"releases":134},2366,"pat-jj\u002Fs3","s3","[EMNLP'25] s3 - ⚡ Efficient & Effective Search Agent Training via RL for RAG (RLVR for Search with Minimal Data)","s3 是一个专为检索增强生成（RAG）系统打造的高效训练框架，旨在教会大语言模型如何更聪明地搜索信息。在传统的 RAG 应用中，模型往往难以精准定位关键资料，而现有优化方法通常依赖海量数据进行训练，成本高昂且复杂。s3 巧妙地解决了这一痛点：它不修改生成模型本身，而是专注于利用强化学习（RL）单独优化“搜索代理”。这意味着开发者无需重新训练庞大的基础模型，仅需极少量的数据，就能显著提升系统在问答等任务中的检索准确率与最终回答质量。\n\n该工具特别适合 AI 研究人员和工程开发者使用，尤其是那些希望在资源受限条件下提升 RAG 系统性能，或需要对接黑盒大模型（如闭源 API）的团队。s3 的核心亮点在于其“少数据、高成效”的特性，通过独特的强化学习策略，实现了搜索能力的快速迭代。同时，它具有高度模块化设计，能够无缝集成到现有的工作流中，支持多种主流推理后端。如果你正在构建需要精准外部知识检索的智能应用，s3 提供了一个轻量级且强大的解决方案，让训练搜索专家变得简单而高效。","\n\u003Cdiv align=\"right\">\n  \u003Cdetails>\n    \u003Csummary >🌐 Language\u003C\u002Fsummary>\n    \u003Cdiv>\n      \u003Cdiv align=\"center\">\n        \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=en\">English\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=zh-CN\">简体中文\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=zh-TW\">繁體中文\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=ja\">日本語\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=ko\">한국어\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=hi\">हिन्दी\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=th\">ไทย\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=fr\">Français\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=de\">Deutsch\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=es\">Español\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=it\">Itapano\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=ru\">Русский\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=pt\">Português\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=nl\">Nederlands\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=pl\">Polski\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=ar\">العربية\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=fa\">فارسی\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=tr\">Türkçe\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=vi\">Tiếng Việt\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=id\">Bahasa Indonesia\u003C\u002Fa>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdetails>\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n\n# s3 - Efficient Yet Effective Search Agent Training via RL\n***You Don't Need That Much Data to Train a Search Agent***\n\n\u003Cp align=\"center\">\n\n  \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2505.14146\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-2505.14146-b31b1b.svg\" alt=\"arXiv\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\u003C\u002Fdiv>\n\n**Performance Overview:**\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpat-jj_s3_readme_159f821eabba.png\" alt=\"performance_overview\" width=\"800\">\n\n\n\n## What is s3?\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpat-jj_s3_readme_0b758423dcc5.png\" alt=\"framework\" width=\"800\">\n\n**s3 Framework**\n\u003C\u002Fdiv>\n\n`s3` is a simple yet powerful framework for training search agents in retrieval-augmented generation (RAG). It teaches language models how to search more effectively—without changing the generator itself. By focusing solely on the search component, `s3` achieves strong performance across QA tasks with just a fraction of the data used by prior methods. It's modular, efficient, and designed to work seamlessly with any black-box LLM.\n\n\n\n## Table of Contents\n\n- [📦 Installation](#-installation)\n- [💡 Preparation](#-preparation)\n- [🏋️ Run Training](https:\u002F\u002Fgithub.com\u002Fpat-jj\u002Fs3?tab=readme-ov-file#%EF%B8%8F-run-training)\n- [🔍 Run Search\u002FRetrieval](https:\u002F\u002Fgithub.com\u002Fpat-jj\u002Fs3?tab=readme-ov-file#-run-searchretrieval)\n- [📈 Run Evaluation](#-run-evaluation)\n\n## 📦 Installation\n\n**Searcher & Generator Environment**\n```bash\nconda create -n s3 python=3.9\n# install torch [or you can skip this step and let vllm to install the correct version for you]\npip install torch==2.4.0 --index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu121\n# install vllm\npip3 install vllm==0.6.3 # or you can install 0.5.4, 0.4.2 and 0.3.1\npip3 install ray\n\n# verl\n# cd code\npip install -e .\n\n# flash attention 2\npip3 install flash-attn --no-build-isolation\n\n# we use pyserini for efficient retrieval and evaluation\npip install pyserini    # the version we used is 0.22.1\n\n# quality of life\npip install wandb IPython matplotlib huggingface_hub\n```\n\n**Retriever Environment**\n```bash\nconda create -n ret python=3.10\nconda activate ret\n\nconda install pytorch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 pytorch-cuda=12.1 -c pytorch -c nvidia\npip install transformers datasets pyserini\nconda install -c pytorch -c nvidia faiss-gpu=1.8.0\npip install uvicorn fastapi\n```\n\n\n\n## 💡 Preparation\n***Download Index & Corpus***\n```bash\npython scripts\u002Fdownload.py --save_path $save_path\ncat $save_path\u002Fpart_* > $save_path\u002Fe5_Flat.index\ngzip -d $save_path\u002Fwiki-18.jsonl.gz\n```\n\n***Precompute Naïve RAG Initialization*** (or you can download our processed data here: [huggingface](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fpat-jj\u002Fs3_processed_data))\n\n```bash\n# deploy retriever\nbash scripts\u002Fdeploy_retriever\u002Fretrieval_launch.sh # or scripts\u002Fdeploy_retriever\u002Fretrieval_launch_mirage.sh for MedCorp corpus.\n# deploy generator\nbash generator_llms\u002Fhost.sh # modify tensor-parallel-size to the number of GPUs you use\n# run precompute\nbash scripts\u002Fprecompute.sh # this step will take a while, as it will precompute the naïve RAG Cache for training\n```\n\n\n## 🏋️ Run Training\n***This step is for the training of S3***\n\n```bash\n# deploy retriever\nbash scripts\u002Fdeploy_retriever\u002Fretrieval_launch.sh \n# deploy generator\nbash generator_llms\u002Fhost.sh\n# run training\nbash scripts\u002Ftrain\u002Ftrain_s3.sh\n```\n\n\n## 🔍 Run Search\u002FRetrieval\n***This step is for the context gathering of s3 \u002F baselines***\n\n**s3**\n```bash\n# deploy retriever\nbash scripts\u002Fdeploy_retriever\u002Fretrieval_launch.sh \n# run s3 inference\nbash scripts\u002Fs3_inference\u002Fevaluate-8-3-3.sh\n```\n\n\u003Cdetails>\n\u003Csummary>Baselines\u003C\u002Fsummary>\n\n**RAG**\n```bash\nbash scripts\u002Fdeploy_retriever\u002Fretrieval_launch.sh # or retrieval_launch_bm25.sh # deploy retriever\nbash scripts\u002Fbaselines\u002Frag.sh # run RAG \n```\n\n**DeepRetrieval**\n```bash\nbash retrieval_launch_bm25.sh # deploy BM25 Model\nbash generator_llms\u002Fdeepretrieval.sh # deploy DeepRetrieval Model\nbash scripts\u002Fbaselines\u002Fdeepretrieval.sh # run DeepRetrieval Query Rewriting + Retrieval\n```\n\n**Search-R1**\n```bash\nbash retrieval_launch.sh # deploy e5 retriever\nbash scripts\u002Fbaselines\u002Fsearch_r1.sh # run Search-R1\n```\n\n**IRCoT**\n```bash\nbash retrieval_launch.sh # deploy e5 retriever\npython scripts\u002Fbaselines\u002Fircot.py\n```\n\n**Search-o1**\n```bash\nbash retrieval_launch.sh # deploy e5 retriever\nbash scripts\u002Fbaselines\u002Fsearch_o1.sh # run Search-o1\n```\n\n\u003C\u002Fdetails>\n\n\n## 📈 Run Evaluation\n***This step is for the evaluation of s3 \u002F baselines***\n\n\n```bash\nbash scripts\u002Fevaluation\u002Frun.sh\n```\n\n## Q&A\n### Customized Data?\nIf you want to test s3 on your own corpus\u002Fdataset, you can refer to this commit to see what you need to do to build your own pipeline: [commit 8420538](https:\u002F\u002Fgithub.com\u002Fpat-jj\u002Fs3\u002Fcommit\u002F8420538836febbe59d5bcbe41187f16908c9c36c)\n\n### Reproducing Results?\nSeveral developers have already reproduced our results successfully. If you have questions or run into issues, feel free to [open an issue](https:\u002F\u002Fgithub.com\u002Fpat-jj\u002Fs3\u002Fissues) — we’re happy to provide hands-on guidance (see [this example](https:\u002F\u002Fgithub.com\u002Fpat-jj\u002Fs3\u002Fissues\u002F20)).\n\nAlthough reproducing the model yourself is straightforward — and we actually **recommend training from scratch**, since evaluation is often much more time-consuming than training — we also provide a reference checkpoint: [s3-8-3-3-20steps](https:\u002F\u002Fhuggingface.co\u002Fpat-jj\u002Fs3-8-3-3-20steps), trained in about one hour.\n\n\n\n## Citation\n```bibtex\n@article{jiang2025s3,\n  title={s3: You Don't Need That Much Data to Train a Search Agent via RL},\n  author={Jiang, Pengcheng and Xu, Xueqiang and Lin, Jiacheng and Xiao, Jinfeng and Wang, Zifeng and Sun, Jimeng and Han, Jiawei},\n  journal={arXiv preprint arXiv:2505.14146},\n  year={2025}\n}\n```\n\nThanks for your interest in our work!\n\n\n\n","\u003Cdiv align=\"right\">\n  \u003Cdetails>\n    \u003Csummary >🌐 语言\u003C\u002Fsummary>\n    \u003Cdiv>\n      \u003Cdiv align=\"center\">\n        \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=en\">English\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=zh-CN\">简体中文\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=zh-TW\">繁體中文\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=ja\">日本語\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=ko\">한국어\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=hi\">हिन्दी\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=th\">ไทย\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=fr\">Français\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=de\">Deutsch\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=es\">Español\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=it\">Itapano\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=ru\">Русский\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=pt\">Português\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=nl\">Nederlands\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=pl\">Polski\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=ar\">العربية\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=fa\">فارسی\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=tr\">Türkçe\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=vi\">Tiếng Việt\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=pat-jj&project=s3&lang=id\">Bahasa Indonesia\u003C\u002Fa>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdetails>\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n\n# s3 - 通过强化学习实现高效且有效的搜索代理训练\n***训练搜索代理并不需要那么多数据***\n\n\u003Cp align=\"center\">\n\n  \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2505.14146\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-2505.14146-b31b1b.svg\" alt=\"arXiv\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\u003C\u002Fdiv>\n\n**性能概览：**\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpat-jj_s3_readme_159f821eabba.png\" alt=\"performance_overview\" width=\"800\">\n\n\n\n## 什么是s3？\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpat-jj_s3_readme_0b758423dcc5.png\" alt=\"framework\" width=\"800\">\n\n**s3框架**\n\u003C\u002Fdiv>\n\n`s3` 是一个简单而强大的框架，用于在检索增强生成（RAG）中训练搜索代理。它教会语言模型如何更有效地进行搜索——而无需更改生成器本身。通过仅关注搜索组件，`s3` 仅使用先前方法所需数据的一小部分，便能在问答任务上取得优异的性能。它具有模块化、高效的特点，并且可以与任何黑盒大语言模型无缝协作。\n\n\n\n## 目录\n\n- [📦 安装](#-installation)\n- [💡 准备工作](#-preparation)\n- [🏋️ 运行训练](https:\u002F\u002Fgithub.com\u002Fpat-jj\u002Fs3?tab=readme-ov-file#%EF%B8%8F-run-training)\n- [🔍 运行搜索\u002F检索](https:\u002F\u002Fgithub.com\u002Fpat-jj\u002Fs3?tab=readme-ov-file#-run-searchretrieval)\n- [📈 运行评估](#-run-evaluation)\n\n## 📦 安装\n\n**搜索器与生成器环境**\n```bash\nconda create -n s3 python=3.9\n# 安装 torch [或者你可以跳过这一步，让 vllm 自动为你安装合适的版本]\npip install torch==2.4.0 --index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu121\n# 安装 vllm\npip3 install vllm==0.6.3 # 或者你也可以安装 0.5.4、0.4.2 和 0.3.1\npip3 install ray\n\n# verl\n# cd code\npip install -e .\n\n# flash attention 2\npip3 install flash-attn --no-build-isolation\n\n# 我们使用 pyserini 来进行高效的检索和评估\npip install pyserini    # 我们使用的版本是 0.22.1\n\n# 提升开发体验\npip install wandb IPython matplotlib huggingface_hub\n```\n\n**检索器环境**\n```bash\nconda create -n ret python=3.10\nconda activate ret\n\nconda install pytorch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 pytorch-cuda=12.1 -c pytorch -c nvidia\npip install transformers datasets pyserini\nconda install -c pytorch -c nvidia faiss-gpu=1.8.0\npip install uvicorn fastapi\n```\n\n\n\n## 💡 准备工作\n***下载索引与语料库***\n```bash\npython scripts\u002Fdownload.py --save_path $save_path\ncat $save_path\u002Fpart_* > $save_path\u002Fe5_Flat.index\ngzip -d $save_path\u002Fwiki-18.jsonl.gz\n```\n\n***预计算朴素 RAG 初始化***（你也可以在这里下载我们处理好的数据：[huggingface](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fpat-jj\u002Fs3_processed_data)）\n\n```bash\n# 部署检索器\nbash scripts\u002Fdeploy_retriever\u002Fretrieval_launch.sh # 或者对于 MedCorp 语料库，可以使用 scripts\u002Fdeploy_retriever\u002Fretrieval_launch_mirage.sh。\n# 部署生成器\nbash generator_llms\u002Fhost.sh # 将 tensor-parallel-size 修改为你所使用的 GPU 数量\n# 运行预计算\nbash scripts\u002Fprecompute.sh # 这一步需要一些时间，因为它会为训练预先计算朴素 RAG 缓存\n```\n\n\n## 🏋️ 运行训练\n***此步骤用于 s3 的训练***\n\n```bash\n# 部署检索器\nbash scripts\u002Fdeploy_retriever\u002Fretrieval_launch.sh \n# 部署生成器\nbash generator_llms\u002Fhost.sh\n# 运行训练\nbash scripts\u002Ftrain\u002Ftrain_s3.sh\n```\n\n\n## 🔍 运行搜索\u002F检索\n***此步骤用于收集 s3 及基线模型的上下文***\n\n**s3**\n```bash\n# 部署检索器\nbash scripts\u002Fdeploy_retriever\u002Fretrieval_launch.sh \n# 运行 s3 推理\nbash scripts\u002Fs3_inference\u002Fevaluate-8-3-3.sh\n```\n\n\u003Cdetails>\n\u003Csummary>基线模型\u003C\u002Fsummary>\n\n**RAG**\n```bash\nbash scripts\u002Fdeploy_retriever\u002Fretrieval_launch.sh # 或 retrieval_launch_bm25.sh # 部署检索器\nbash scripts\u002Fbaselines\u002Frag.sh # 运行 RAG \n```\n\n**DeepRetrieval**\n```bash\nbash retrieval_launch_bm25.sh # 部署 BM25 模型\nbash generator_llms\u002Fdeepretrieval.sh # 部署 DeepRetrieval 模型\nbash scripts\u002Fbaselines\u002Fdeepretrieval.sh # 运行 DeepRetrieval 查询改写 + 检索\n```\n\n**Search-R1**\n```bash\nbash retrieval_launch.sh # 部署 e5 检索器\nbash scripts\u002Fbaselines\u002Fsearch_r1.sh # 运行 Search-R1\n```\n\n**IRCoT**\n```bash\nbash retrieval_launch.sh # 部署 e5 检索器\npython scripts\u002Fbaselines\u002Fircot.py\n```\n\n**Search-o1**\n```bash\nbash retrieval_launch.sh # 部署 e5 检索器\nbash scripts\u002Fbaselines\u002Fsearch_o1.sh # 运行 Search-o1\n```\n\n\u003C\u002Fdetails>\n\n\n## 📈 运行评估\n***此步骤用于评估 s3 及基线模型***\n\n```bash\nbash scripts\u002Fevaluation\u002Frun.sh\n```\n\n## 问答\n### 自定义数据？\n如果你想在自己的语料库或数据集上测试 s3，可以参考这个提交，了解如何构建你自己的流水线：[commit 8420538](https:\u002F\u002Fgithub.com\u002Fpat-jj\u002Fs3\u002Fcommit\u002F8420538836febbe59d5bcbe41187f16908c9c36c)\n\n### 如何复现结果？\n目前已有几位开发者成功复现了我们的实验结果。如果您有任何疑问或遇到问题，欢迎随时[提交 issue](https:\u002F\u002Fgithub.com\u002Fpat-jj\u002Fs3\u002Fissues)——我们很乐意提供一对一的指导（请参阅[这个示例](https:\u002F\u002Fgithub.com\u002Fpat-jj\u002Fs3\u002Fissues\u002F20))。\n\n尽管自行复现该模型非常简单——我们实际上**建议从头开始训练**，因为评估通常比训练耗时得多——我们仍提供了一个参考检查点：[s3-8-3-3-20steps](https:\u002F\u002Fhuggingface.co\u002Fpat-jj\u002Fs3-8-3-3-20steps)，该模型仅用约一小时便完成了训练。\n\n\n\n## 引用\n```bibtex\n@article{jiang2025s3,\n  title={s3：通过强化学习训练搜索智能体并不需要大量数据},\n  author={Jiang, Pengcheng and Xu, Xueqiang and Lin, Jiacheng and Xiao, Jinfeng and Wang, Zifeng and Sun, Jimeng and Han, Jiawei},\n  journal={arXiv 预印本 arXiv:2505.14146},\n  year={2025}\n}\n```\n\n感谢您对我们工作的关注！","# s3 快速上手指南\n\n`s3` 是一个高效且轻量级的框架，旨在通过强化学习（RL）训练搜索代理（Search Agent）。它专注于优化检索组件，无需修改生成模型本身，即可在问答任务中实现卓越性能，且所需训练数据量远少于传统方法。\n\n## 环境准备\n\n本项目需要两个独立的 Conda 环境：一个用于**搜索器与生成器（Searcher & Generator）**，另一个用于**检索器（Retriever）**。\n\n**系统要求：**\n- Python 3.9 (搜索\u002F生成环境) \u002F Python 3.10 (检索环境)\n- NVIDIA GPU (推荐 CUDA 12.1)\n- 足够的显存以运行 vLLM 和检索模型\n\n**前置依赖：**\n- Conda\n- Git\n\n## 安装步骤\n\n### 1. 配置搜索器与生成器环境\n\n```bash\n# 创建环境\nconda create -n s3 python=3.9\nconda activate s3\n\n# 安装 PyTorch (CUDA 12.1)\npip install torch==2.4.0 --index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu121\n\n# 安装 vLLM 及相关依赖\npip3 install vllm==0.6.3\npip3 install ray\n\n# 安装 s3 核心代码 (假设已克隆仓库并进入 code 目录)\npip install -e .\n\n# 安装 Flash Attention 2\npip3 install flash-attn --no-build-isolation\n\n# 安装检索评估工具 Pyserini\npip install pyserini\n\n# 安装辅助工具\npip install wandb IPython matplotlib huggingface_hub\n```\n\n### 2. 配置检索器环境\n\n```bash\n# 创建独立环境\nconda create -n ret python=3.10\nconda activate ret\n\n# 安装 PyTorch 全家桶 (CUDA 12.1)\nconda install pytorch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 pytorch-cuda=12.1 -c pytorch -c nvidia\n\n# 安装核心库\npip install transformers datasets pyserini\n\n# 安装 FAISS GPU 版本\nconda install -c pytorch -c nvidia faiss-gpu=1.8.0\n\n# 安装 API 服务依赖\npip install uvicorn fastapi\n```\n\n## 基本使用\n\n以下是从零开始运行 `s3` 的核心流程，包括数据准备、训练及推理。\n\n### 第一步：数据准备\n\n下载索引和语料库，并预处理初始化的 RAG 缓存。\n\n```bash\n# 下载数据 (替换 $save_path 为你的保存路径)\npython scripts\u002Fdownload.py --save_path $save_path\n\n# 合并索引文件\ncat $save_path\u002Fpart_* > $save_path\u002Fe5_Flat.index\n\n# 解压语料库\ngzip -d $save_path\u002Fwiki-18.jsonl.gz\n\n# 部署检索器和生成器服务\nbash scripts\u002Fdeploy_retriever\u002Fretrieval_launch.sh\nbash generator_llms\u002Fhost.sh \n# 注意：请根据显卡数量修改 host.sh 中的 tensor-parallel-size 参数\n\n# 预计算朴素 RAG 初始化缓存 (此步骤耗时较长)\nbash scripts\u002Fprecompute.sh\n```\n*> 提示：如果不想自行预处理，可直接从 HuggingFace 下载处理好的数据：[pat-jj\u002Fs3_processed_data](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fpat-jj\u002Fs3_processed_data)*\n\n### 第二步：运行训练\n\n启动强化学习训练流程。需确保检索器和生成器服务已在后台运行。\n\n```bash\n# 确保服务已启动 (若第一步已完成可跳过)\nbash scripts\u002Fdeploy_retriever\u002Fretrieval_launch.sh\nbash generator_llms\u002Fhost.sh\n\n# 开始训练 s3\nbash scripts\u002Ftrain\u002Ftrain_s3.sh\n```\n\n### 第三步：运行搜索\u002F推理\n\n使用训练好的模型进行检索测试。\n\n```bash\n# 确保检索器服务运行中\nbash scripts\u002Fdeploy_retriever\u002Fretrieval_launch.sh\n\n# 执行 s3 推理评估\nbash scripts\u002Fs3_inference\u002Fevaluate-8-3-3.sh\n```\n\n### 第四步：结果评估\n\n对搜索结果进行最终评分。\n\n```bash\nbash scripts\u002Fevaluation\u002Frun.sh\n```","某金融科技公司的研发团队正在构建一个智能投研助手，需要让大模型基于海量实时新闻和财报数据回答复杂的投资咨询问题。\n\n### 没有 s3 时\n- **数据依赖过重**：为了训练出能精准检索关键财务指标的搜索代理，团队必须收集并标注数十万条问答对，数据清洗成本极高且周期漫长。\n- **检索效率低下**：传统的搜索策略往往返回大量无关噪音，导致生成模型被误导，在回答“某公司近三年现金流变化”时经常引用错误章节。\n- **模型迭代困难**：每次更新底层大模型（Generator）都需要重新调整整个检索链路，无法在不改动生成器的情况下单独优化搜索能力，试错成本巨大。\n- **黑盒模型受限**：由于使用的是闭源商业大模型作为生成核心，以往的方法难以针对其特性进行微调，导致检索与生成环节割裂，整体准确率遭遇瓶颈。\n\n### 使用 s3 后\n- **极简数据启动**：利用 s3 的强化学习框架，团队仅用少量精选样本就训练出了高效的搜索代理，数据需求量减少了一个数量级，项目上线时间提前了两个月。\n- **精准定位信息**：s3 教会了代理如何像专家一样思考检索策略，在面对复杂金融问题时，能直接锁定财报中的特定表格和段落，显著降低了噪音干扰。\n- **模块化独立优化**：团队无需触碰黑色的生成模型，仅通过 s3 单独升级搜索组件，就实现了整体回答准确率的跃升，系统维护变得灵活高效。\n- **无缝兼容架构**：s3 完美适配现有的黑盒大模型架构，通过强化学习让搜索端主动适应生成端的偏好，实现了检索与生成的深度协同。\n\ns3 通过极小数据量的强化学习，成功将原本笨重的检索训练过程转变为轻量、精准且独立的优化闭环，极大降低了企业级 RAG 系统的落地门槛。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpat-jj_s3_159f821e.png","pat-jj","Patrick Jiang","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fpat-jj_46fc13af.png","cs phd at uiuc","UIUC","Champaign, IL",null,"patpcj","https:\u002F\u002Fpat-jj.github.io\u002F","https:\u002F\u002Fgithub.com\u002Fpat-jj",[86,90,94],{"name":87,"color":88,"percentage":89},"Python","#3572A5",93.7,{"name":91,"color":92,"percentage":93},"Shell","#89e051",5.3,{"name":95,"color":96,"percentage":97},"Jupyter Notebook","#DA5B0B",1,828,139,"2026-03-26T12:51:32","Apache-2.0",4,"Linux","必需 NVIDIA GPU。安装指令明确指定 CUDA 12.1 (cu121)，需支持该版本的显卡。生成器部署脚本提及需配置 tensor-parallel-size（张量并行），暗示多卡或大显存需求以运行 vLLM。","未说明",{"notes":107,"python":108,"dependencies":109},"项目分为两个独立的 Conda 环境：'s3'用于搜索器和生成器，'ret'用于检索器。生成器依赖 vLLM 进行黑盒 LLM 部署，检索器依赖 Faiss-GPU 和 PySerini。首次运行前需执行脚本下载索引和语料库，并预计算 Naïve RAG 初始化缓存（耗时较长）。支持多种基线模型（如 DeepRetrieval, Search-R1）的对比评估。","3.9 (Searcher & Generator), 3.10 (Retriever)",[110,111,112,113,114,115,116,117,118,119],"torch==2.4.0","vllm==0.6.3","ray","verl","flash-attn","pyserini==0.22.1","transformers","faiss-gpu==1.8.0","uvicorn","fastapi",[13,26,15,54],[122,123,124,125,126,127,128,129,130],"efficiency","large-language-models","rag","search-agent","agentic-ai","information-retrieval","gpt-5","rlvr","verifier","2026-03-27T02:49:30.150509","2026-04-06T08:42:14.466498",[],[]]