[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-pat-jj--DeepRetrieval":3,"tool-pat-jj--DeepRetrieval":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":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":81,"owner_email":82,"owner_twitter":83,"owner_website":84,"owner_url":85,"languages":86,"stars":103,"forks":104,"last_commit_at":105,"license":106,"difficulty_score":107,"env_os":108,"env_gpu":109,"env_ram":110,"env_deps":111,"category_tags":125,"github_topics":126,"view_count":23,"oss_zip_url":82,"oss_zip_packed_at":82,"status":16,"created_at":133,"updated_at":134,"faqs":135,"releases":165},3044,"pat-jj\u002FDeepRetrieval","DeepRetrieval","[COLM’25] DeepRetrieval — 🔥 Training Search Agent by RLVR with Retrieval Outcome","DeepRetrieval 是一款基于强化学习（RL）的创新开源项目，旨在通过训练大语言模型（LLM）自动生成高质量搜索查询，从而显著提升信息检索效果。传统方法通常依赖昂贵的人工标注数据或蒸馏数据进行监督学习，而 DeepRetrieval 另辟蹊径，让模型在与真实搜索引擎或检索器的交互中通过“试错”自我进化：它根据最终的检索结果质量获得奖励信号，无需任何人工标注的查询对即可优化策略。\n\n该工具的核心亮点在于其独特的思维链机制。模型在输出最终查询前，会先在 `\u003Cthink>` 标签内生成推理步骤，明确分析如何改写问题以匹配检索系统，随后在 `\u003Canswer>` 标签输出优化后的查询。这种结构不仅提升了可解释性，更带来了惊人的性能突破：在文献和临床试验搜索任务中，其召回率远超此前的最先进方法，甚至仅用 30 亿参数的小模型就能击败 GPT-4o 和 Claude-3.5-Sonnet 等巨型模型。\n\nDeepRetrieval 非常适合从事检索增强生成（RAG）、搜索引擎优化及信息检索研究的技术人员与开发者使用。无论是需要构建高效文献检索系统的研究员，还是希望提升数据库查询准确率的工程师","DeepRetrieval 是一款基于强化学习（RL）的创新开源项目，旨在通过训练大语言模型（LLM）自动生成高质量搜索查询，从而显著提升信息检索效果。传统方法通常依赖昂贵的人工标注数据或蒸馏数据进行监督学习，而 DeepRetrieval 另辟蹊径，让模型在与真实搜索引擎或检索器的交互中通过“试错”自我进化：它根据最终的检索结果质量获得奖励信号，无需任何人工标注的查询对即可优化策略。\n\n该工具的核心亮点在于其独特的思维链机制。模型在输出最终查询前，会先在 `\u003Cthink>` 标签内生成推理步骤，明确分析如何改写问题以匹配检索系统，随后在 `\u003Canswer>` 标签输出优化后的查询。这种结构不仅提升了可解释性，更带来了惊人的性能突破：在文献和临床试验搜索任务中，其召回率远超此前的最先进方法，甚至仅用 30 亿参数的小模型就能击败 GPT-4o 和 Claude-3.5-Sonnet 等巨型模型。\n\nDeepRetrieval 非常适合从事检索增强生成（RAG）、搜索引擎优化及信息检索研究的技术人员与开发者使用。无论是需要构建高效文献检索系统的研究员，还是希望提升数据库查询准确率的工程师，都能利用它轻松部署 API 或进行微调训练，以低成本实现专业级的检索增强能力。","\u003Cdiv align=\"center\">\n\n# DeepRetrieval - Hacking Real Search Engines & Retrievers with LLM via RL  \n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpat-jj_DeepRetrieval_readme_a930470ce76e.png\" alt=\"DeepRetrieval Logo\" width=\"400\">\n\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fpdf\u002F2503.00223\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-2503.00223-b31b1b.svg\" alt=\"arXiv\">\n  \u003C\u002Fa>\n  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u003C!-- Adds horizontal space -->\n  \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002FDeepRetrieval\">\n    \u003Cimg src=\"https:\u002F\u002Fhuggingface.co\u002Ffront\u002Fassets\u002Fhuggingface_logo-noborder.svg\" alt=\"Hugging Face\" height=\"28\">\n  \u003C\u002Fa>\n\u003C\u002Fbr>\n  ⭐️ Star ⭐️ our repo to stay tuned with new features!!\n\u003C\u002Fp>\n\n\u003C\u002Fdiv>\n\n## News\n- [2025-05-19] If you're particularly interested in RAG tasks, we recommend checking out our latest work, [s3](https:\u002F\u002Fgithub.com\u002Fpat-jj\u002Fs3), a training-efficient framework specifically designed for RAG.\n- [2025-05-06] You can now easily deploy our model and call the api for query rewriting. See [here](https:\u002F\u002Fgithub.com\u002Fpat-jj\u002FDeepRetrieval?tab=readme-ov-file#%EF%B8%8F-easy-to-use-api-for-query-rewriting) for more details.\n- [2025-02-28] 🎉 We are excited to release the code for DeepRetrieval!\n\n\n## What is DeepRetrieval?\n\nDeepRetrieval is a novel reinforcement learning approach that trains Large Language Models (LLMs) for query generation to enhance information retrieval performance. Unlike traditional methods that rely on supervised learning with labeled query-augmentation pairs, DeepRetrieval lets models learn through direct trial and error, using retrieval metrics as rewards to generate queries that maximize retrieval performance.\n\nThe system works by having an LLM generate reasoning steps in a `\u003Cthink>` section followed by the final augmented query in an `\u003Canswer>` section. This structured approach enables explicit chain-of-thought reasoning before committing to a query formulation.\n![alt text](\u002Fimages\u002Fframework.png \"reward curve during training (on pubmed)\")\n\n## Key Features and Results\n\n- **No Supervision Required**: Eliminates the need for expensive human-annotated or distilled reference queries\n- **Powerful Performance**: Significantly outperforms previous state-of-the-art methods\n  - 65.07% recall (vs. previous SOTA 24.68%) for publication search\n  - 63.18% recall (vs. previous SOTA 32.11%) for clinical trials search\n- **Versatile Applications**: Excels across diverse retrieval tasks: (1) Literature search using real-world search engines (2) Evidence-seeking retrieval (3) Classic information retrieval (4) SQL database search\n- **Parameter Efficient**: Achieves superior results with only 3B parameters, outperforming larger models like **GPT-4o** and **Claude-3.5-Sonnet**\n\n\n![alt text](\u002Fimages\u002Fperformance_overview.png \"performance overview\")\n\n\n[Example Wandb Training Log on PubMed Search Engine](https:\u002F\u002Fwandb.ai\u002Fpatjj\u002Fliterature_search?nw=nwuserpj20)\n\n\n⭐️ Star our repository to stay up-to-date with exciting new features and improvements! 🌟\n\n## Table of Contents\n\n- [📦 Installation](#-installation)\n- [⚡️ Easy-to-use API for Query Rewriting](#️-easy-to-use-api-for-query-rewriting)\n- [🫧 Get Started](#-get-started)\n- [🏃 Run Training](#-run-training)\n- [🧐 Run Evaluation](#-run-evaluation)\n- [📚 Cite DeepRetrieval](#-cite-deepretrieval)\n\n## 📦 Installation\n\n**General Installation (for all retrieval methods):**\n```\nconda create -n zero 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\ncd code\npip install -e .\n\n# flash attention 2\npip3 install flash-attn --no-build-isolation\n# quality of life\npip install wandb IPython matplotlib huggingface_hub\n```\n\n**(If you only want to run the Search Engine Retrieval, you can skip the following steps.)**\n\nIf using sparse retrieval (e.g., BM25) or dense retrieval (e.g., DPR), please also install the following:\n```\n# we use pyserini for efficient retrieval and evaluation\npip install pyserini    # the version we used is 0.22.1\n\n# if you don't have faiss installed, install it with:\npip install faiss-gpu==1.7.2    # the version we used is 1.7.2\n\n# if you don't have java installed, install it with:\npip install install-jdk && python -c \"import jdk; jdk.install('11')\"\n\n# support sql execution\npip install func_timeout\n```\n\n## ⚡️ Easy-to-use API for Query Rewriting\n\n```bash\nsh vllm_host.sh # you can specify the local port and the model to use\npython query_rewrite.py --query \"Who built DeepRetrieval in 2025?\"\n# Original query: Who built DeepRetrieval in 2025?\n# Rewritten query: (The DeepRetrieval system, which was built in 2025)\n```\n\n\n\n## 🫧 Get Started\n\n### **1. Dataset Download\u002FPreprocess**\n\nWe provide two options for data preparation:\n\n\u003Cdetails>\n\u003Csummary style=\"font-weight: bold;\">🚀 Option 1: Download pre-processed datasets from Huggingface (Recommended)\u003C\u002Fsummary>\n\nAll preprocessed datasets are available on our Huggingface repository. You can download them using the provided script:\n\n```bash\ncd code\n# List available datasets\npython download_datasets.py --list_only --repo_id DeepRetrieval\u002Fdatasets\n\n# Download all datasets\npython download_datasets.py --repo_id DeepRetrieval\u002Fdatasets --output_dir .\u002Fdata\n\n# Or download specific categories\u002Fdatasets\npython download_datasets.py --categories search_engine --datasets pubmed_32 --output_dir .\u002Fdata\n```\n\u003C\u002Fdetails>\n\n\n\u003Cdetails>\n\u003Csummary style=\"font-weight: bold;\">⛏️ Option 2: Process the data yourself\u003C\u002Fsummary>\n\nFor example, for PubMed:\n```bash\ncd code\npython download_datasets.py --categories raw_data --datasets pubmed --output_dir .\u002Fdata\npython data_preprocess\u002Fpubmed_32.py\n```\n(This will generate the required data structures in the appropriate format, but requires raw data access and more processing time.)\n\u003C\u002Fdetails>\n\n\n### **2. Get Your Search Engine API Key (required if use search engine)**\n\nFor example, for PubMed, you may get it following the instruction [here](https:\u002F\u002Fsupport.nlm.nih.gov\u002FkbArticle\u002F?pn=KA-05317). (PubMed API is 100% ✨FREE✨ to use!)\n\nThen, put it in under `code\u002Fverl\u002Futils\u002Freward_score\u002Fapis\u002F` as `pubmed_api.key`.\n\n\n### **3. Reward function Related (optional)**\n\nReward Design (e.g., in `code\u002Fverl\u002Futils\u002Freward_score\u002Fpubmed.py`):\n\n\n| Recall      | ≥ 0.7 | ≥ 0.5 | ≥ 0.4 | ≥ 0.3 | ≥ 0.1 | ≥ 0.05 | \u003C 0.05 |\n|-------------|-------|-------|-------|-------|-------|--------|--------|\n| **Reward**  | +5.0  | +4.0  | +3.0  | +1.0  | +0.5  | +0.1   | -3.5   |\n\n\n\n### **4. Customize Monitor Info (optional)**\n\nmodify `compute_reward_metrics()` in `code\u002Fverl\u002Ftrainer\u002Fppo\u002Fray_trainer.py`\n\n\n## 🏃 Run Training\n```bash\nconda activate zero\n```\n\nFor example, for PubMed:\n```bash\nsh scripts\u002Ftrain\u002Fpubmed_32.sh \n```\n(if you see Out-of-vram, try add `critic.model.enable_gradient_checkpointing=True` to the script)\n\n### Think\u002FQuery Length During Training (PubMed)\n\n![alt text](\u002Fimages\u002Flength_study_horizontal.png \"think length and query length during training\")\n\n\n## 🧐 Run Evaluation\n\n```\nsh scripts\u002Feval\u002Fpubmed_32.sh\n```\n(You can run this script without training, as it will download our trained model from Huggingface by default)\n\n**Results on Search Engines**\n\n| Model | Method | Publication Recall | Clinical Trials Recall |\n|-------|--------|-------------------|----------------------|\n| Original Query | - | 10.36 | 18.01 |\n| GPT-3.5 | - | 11.67 | 9.42 |\n| | w\u002Fo reasoning | 18.68 | 13.94 |\n| GPT-4o | - | 17.59 | 16.25 |\n| | w\u002Fo reasoning | 19.72 | 14.26 |\n| Claude-3-Haiku | - | 11.26 | 10.10 |\n| | w\u002Fo reasoning | 20.92 | 24.68 |\n| Claude-3.5-Sonnet | - | 20.94 | 18.33 |\n| | w\u002Fo reasoning | 19.08 | 18.41 |\n| Mistral-7B-Inst | - | 7.18 | 8.08 |\n| LEADS-7B (SFT) | - | **24.68** | **32.11** |\n| Qwen2.5-3B-Inst | - | 6.59 | 6.09 |\n| | w\u002Fo reasoning | 9.46 | 7.97 |\n| **DeepRetrieval-3B** | - | **✨ 65.07 ✨** | **✨ 63.18 ✨** |\n| | w\u002Fo reasoning | 51.90 | 53.31 |\n\n*Table: Comparison of different models and methods on publication search and clinical trials search tasks.\n\n**Note:** LEADS-7B is a state-of-the-art literature mining LLM trained on 20K reviews and 400K publications [https:\u002F\u002Farxiv.org\u002Fpdf\u002F2501.16255]\n\n## ⚠️ Commonly Encountered Issues\n\n### ⚙️ Cluster Setup: CUDA and Conda Environment\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>💻 slurm-related\u003C\u002Fb>\u003C\u002Fsummary>\n\nBefore running any training or evaluation scripts on the cluster, make sure to **load the correct CUDA module** and **activate your Conda environment**.\n\n---\n\n### 🧩 GPUs Allocation\n\nIf your CUDA inside a SLURM job doesn’t match the CUDA seen by your Python script, you may get a warning like:\n\nUserWarning: CUDA initialization: CUDA driver initialization failed, you might not have a CUDA GPU.\n(Triggered internally at ..\u002Fc10\u002Fcuda\u002FCUDAFunctions.cpp:108.)\nreturn torch._C._cuda_getDeviceCount() > 0\n\n\nTo fix this, **do not manually set your CUDA device** inside the script.  \nInstead, load the CUDA module directly inside your SLURM job:\n\nAdd the following lines **before running any Python commands**:\n\n```bash\n# --- Load CUDA module ---\nmodule load cuda\u002F12.6\n\n# --- Activate Conda environment ---\nsource ~\u002Fminiconda\u002Fetc\u002Fprofile.d\u002Fconda.sh  # adjust path if your conda installation differs\nconda activate zero\n```\nIf you previously specified a device inside your training script or job file (e.g., pubmed_32.sh), remove lines like:\n\nexport CUDA_VISIBLE_DEVICES=4,7\nThis ensures CUDA is managed correctly by SLURM.\n\n### ⚙️ Dependency Conflicts\nWhen setting up the environment, you might encounter pip dependency warnings such as:\n```\nERROR: pip's dependency resolver does not currently take into account all the packages that are installed.\nThis behaviour is the source of the following dependency conflicts.\nmatplotlib 3.9.4 requires pyparsing>=2.3.1, which is not installed.\nmne 1.8.0 requires decorator, which is not installed.\npyhealth 1.1.4 requires bitsandbytes, which is not installed.\n```\n\nTo fix these missing dependencies, simply run:\n```bash\npip install pyparsing decorator bitsandbytes\n```\n\nYou may also encounter NumPy incompatibility warnings like:\n```\npyhealth 1.1.4 requires numpy\u003C2.0, but you have numpy 2.0.2 which is incompatible.\noutlines 0.0.46 requires numpy\u003C2.0.0, but you have numpy 2.0.2 which is incompatible.\nvllm 0.6.3 requires numpy\u003C2.0.0, but you have numpy 2.0.2 which is incompatible.\n```\nTo fix these, reinstall a compatible NumPy version and re-install dependent packages:\n```bash\n\npip install \"numpy\u003C2.0.0\" --force-reinstall\npip install transformers==4.46.3\npip install vllm==0.6.3\npip install verl==0.1\npip install outlines==0.0.46\npip install pyserini\n\n```\n\u003C\u002Fdetails>\n\n## 🤝 Acknowledgement\n\nThis implementation is mainly based on [verl](https:\u002F\u002Fgithub.com\u002Fvolcengine\u002Fverl) and [PySerini](https:\u002F\u002Fgithub.com\u002Fcastorini\u002FpySerini). The base model during the experiment is [Qwen2.5-3B-Instruct](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen2.5-3B-Instruct). We sincerely appreciate their contributions to the open-source community.\n\n## 📚 Cite DeepRetrieval\n\n```\n@article{jiang2025deepretrieval,\n  title={Deepretrieval: Hacking real search engines and retrievers with large language models via reinforcement learning},\n  author={Jiang, Pengcheng and Lin, Jiacheng and Cao, Lang and Tian, Runchu and Kang, SeongKu and Wang, Zifeng and Sun, Jimeng and Han, Jiawei},\n  journal={arXiv preprint arXiv:2503.00223},\n  year={2025}\n}\n```\n\nThanks for your interests! 😊\n","\u003Cdiv align=\"center\">\n\n# DeepRetrieval - 通过强化学习利用大语言模型攻破真实搜索引擎与检索系统  \n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpat-jj_DeepRetrieval_readme_a930470ce76e.png\" alt=\"DeepRetrieval Logo\" width=\"400\">\n\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fpdf\u002F2503.00223\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-2503.00223-b31b1b.svg\" alt=\"arXiv\">\n  \u003C\u002Fa>\n  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u003C!-- 添加水平间距 -->\n  \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002FDeepRetrieval\">\n    \u003Cimg src=\"https:\u002F\u002Fhuggingface.co\u002Ffront\u002Fassets\u002Fhuggingface_logo-noborder.svg\" alt=\"Hugging Face\" height=\"28\">\n  \u003C\u002Fa>\n\u003C\u002Fbr>\n  ⭐️ 请给我们的仓库点个星，以便及时获取最新功能更新！！\n\u003C\u002Fp>\n\n\u003C\u002Fdiv>\n\n## 最新消息\n- [2025-05-19] 如果您对 RAG 任务特别感兴趣，我们推荐您查看我们的最新工作 [s3](https:\u002F\u002Fgithub.com\u002Fpat-jj\u002Fs3)，这是一个专为 RAG 设计的高效训练框架。\n- [2025-05-06] 您现在可以轻松部署我们的模型并调用 API 进行查询改写。更多详情请参见 [这里](https:\u002F\u002Fgithub.com\u002Fpat-jj\u002FDeepRetrieval?tab=readme-ov-file#%EF%B8%8F-easy-to-use-api-for-query-rewriting)。\n- [2025-02-28] 🎉 我们很高兴地发布了 DeepRetrieval 的代码！\n\n\n## 什么是 DeepRetrieval？\n\nDeepRetrieval 是一种新颖的强化学习方法，用于训练大型语言模型（LLMs）生成查询，以提升信息检索性能。与依赖于标注查询增强对的监督学习的传统方法不同，DeepRetrieval 让模型通过直接的试错过程进行学习，并以检索指标作为奖励，从而生成能够最大化检索效果的查询。\n\n该系统的工作原理是：让 LLM 在 `\u003Cthink>` 部分生成推理步骤，随后在 `\u003Canswer>` 部分给出最终的增强查询。这种结构化的方法能够在确定查询形式之前进行明确的思维链式推理。\n![alt text](\u002Fimages\u002Fframework.png \"训练期间的奖励曲线（PubMed 数据集）\")\n\n## 核心特性与成果\n\n- **无需监督**：无需昂贵的人工标注或蒸馏得到的参考查询\n- **强大性能**：显著超越以往的最先进方法\n  - 文献搜索的召回率为 65.07%（而之前的 SOTA 为 24.68%）\n  - 临床试验搜索的召回率为 63.18%（而之前的 SOTA 为 32.11%）\n- **应用广泛**：适用于多种检索任务：(1) 使用真实世界搜索引擎的文献检索 (2) 证据检索 (3) 经典的信息检索 (4) SQL 数据库检索\n- **参数高效**：仅使用 3B 参数就取得了优异的效果，优于更大的模型如 **GPT-4o** 和 **Claude-3.5-Sonnet**\n\n\n![alt text](\u002Fimages\u002Fperformance_overview.png \"性能概览\")\n\n\n[PubMed 搜索引擎上的 Wandb 训练日志示例](https:\u002F\u002Fwandb.ai\u002Fpatjj\u002Fliterature_search?nw=nwuserpj20)\n\n\n⭐️ 请给我们的仓库点个星，以便随时了解激动人心的新功能和改进！🌟\n\n## 目录\n\n- [📦 安装](#-installation)\n- [⚡️ 易用的查询改写 API](#️-easy-to-use-api-for-query-rewriting)\n- [🫧 开始使用](#-get-started)\n- [🏃 运行训练](#-run-training)\n- [🧐 运行评估](#-run-evaluation)\n- [📚 引用 DeepRetrieval](#-cite-deepretrieval)\n\n## 📦 安装\n\n**通用安装（适用于所有检索方法）：**\n```\nconda create -n zero 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\ncd code\npip install -e .\n\n# flash attention 2\npip3 install flash-attn --no-build-isolation\n# 提升开发体验\npip install wandb IPython matplotlib huggingface_hub\n```\n\n**(如果您只想运行搜索引擎检索，则可以跳过以下步骤。)**\n\n如果使用稀疏检索（例如 BM25）或密集检索（例如 DPR），请同时安装以下内容：\n```\n# 我们使用 pyserini 来高效地进行检索和评估\npip install pyserini    # 我们使用的版本是 0.22.1\n\n# 如果您尚未安装 faiss，请安装：\npip install faiss-gpu==1.7.2    # 我们使用的版本是 1.7.2\n\n# 如果您尚未安装 Java，请安装：\npip install install-jdk && python -c \"import jdk; jdk.install('11')\"\n\n# 支持 SQL 执行\npip install func_timeout\n```\n\n## ⚡️ 易用的查询改写 API\n\n```bash\nsh vllm_host.sh # 您可以指定本地端口和要使用的模型\npython query_rewrite.py --query \"谁在 2025 年构建了 DeepRetrieval？\"\n# 原始查询：谁在 2025 年构建了 DeepRetrieval？\n# 改写后的查询：（DeepRetrieval 系统，它是在 2025 年构建的）\n```\n\n\n\n## 🫧 开始使用\n\n### **1. 数据下载\u002F预处理**\n\n我们提供了两种数据准备方式：\n\n\u003Cdetails>\n\u003Csummary style=\"font-weight: bold;\">🚀 选项 1：从 Huggingface 下载预处理好的数据集（推荐）\u003C\u002Fsummary>\n\n所有预处理好的数据集都可在我们的 Huggingface 仓库中找到。您可以使用提供的脚本进行下载：\n\n```bash\ncd code\n# 列出可用的数据集\npython download_datasets.py --list_only --repo_id DeepRetrieval\u002Fdatasets\n\n# 下载所有数据集\npython download_datasets.py --repo_id DeepRetrieval\u002Fdatasets --output_dir .\u002Fdata\n\n# 或者下载特定类别\u002F数据集\npython download_datasets.py --categories search_engine --datasets pubmed_32 --output_dir .\u002Fdata\n```\n\u003C\u002Fdetails>\n\n\n\u003Cdetails>\n\u003Csummary style=\"font-weight: bold;\">⛏️ 选项 2：自行处理数据\u003C\u002Fsummary>\n\n以 PubMed 为例：\n```bash\ncd code\npython download_datasets.py --categories raw_data --datasets pubmed --output_dir .\u002Fdata\npython data_preprocess\u002Fpubmed_32.py\n```\n（这将生成所需的数据结构，格式符合要求，但需要访问原始数据，且处理时间较长。）\n\u003C\u002Fdetails>\n\n\n### **2. 获取您的搜索引擎 API 密钥（若使用搜索引擎则必需）**\n\n以 PubMed 为例，您可以按照 [此处](https:\u002F\u002Fsupport.nlm.nih.gov\u002FkbArticle\u002F?pn=KA-05317) 的说明获取密钥。（PubMed API 是 100% ✨免费✨使用的！）\n\n然后将其放入 `code\u002Fverl\u002Futils\u002Freward_score\u002Fapis\u002F` 目录下，命名为 `pubmed_api.key`。\n\n\n### **3. 奖励函数相关（可选）**\n\n奖励设计（例如在 `code\u002Fverl\u002Futils\u002Freward_score\u002Fpubmed.py` 中）：\n\n\n| 召回率      | ≥ 0.7 | ≥ 0.5 | ≥ 0.4 | ≥ 0.3 | ≥ 0.1 | ≥ 0.05 | \u003C 0.05 |\n|-------------|-------|-------|-------|-------|-------|--------|--------|\n| **奖励**  | +5.0  | +4.0  | +3.0  | +1.0  | +0.5  | +0.1   | -3.5   |\n\n\n\n### **4. 自定义监控信息（可选）**\n\n修改 `code\u002Fverl\u002Ftrainer\u002Fppo\u002Fray_trainer.py` 中的 `compute_reward_metrics()`\n\n\n## 🏃 运行训练\n```bash\nconda activate zero\n```\n\n以 PubMed 为例：\n```bash\nsh scripts\u002Ftrain\u002Fpubmed_32.sh \n```\n（如果出现显存不足的情况，可以尝试在脚本中添加 `critic.model.enable_gradient_checkpointing=True`）\n\n### 训练期间的思维长度与查询长度（PubMed）\n\n![alt text](\u002Fimages\u002Flength_study_horizontal.png \"训练期间的思维长度和查询长度\")\n\n\n## 🧐 运行评估\n\n```\nsh scripts\u002Feval\u002Fpubmed_32.sh\n```\n（您无需进行训练即可运行此脚本，因为它会默认从Huggingface下载我们训练好的模型）\n\n**搜索引擎上的结果**\n\n| 模型 | 方法 | 文献召回率 | 临床试验召回率 |\n|-------|--------|-------------------|----------------------|\n| 原始查询 | - | 10.36 | 18.01 |\n| GPT-3.5 | - | 11.67 | 9.42 |\n| | 不带推理 | 18.68 | 13.94 |\n| GPT-4o | - | 17.59 | 16.25 |\n| | 不带推理 | 19.72 | 14.26 |\n| Claude-3-Haiku | - | 11.26 | 10.10 |\n| | 不带推理 | 20.92 | 24.68 |\n| Claude-3.5-Sonnet | - | 20.94 | 18.33 |\n| | 不带推理 | 19.08 | 18.41 |\n| Mistral-7B-Inst | - | 7.18 | 8.08 |\n| LEADS-7B (SFT) | - | **24.68** | **32.11** |\n| Qwen2.5-3B-Inst | - | 6.59 | 6.09 |\n| | 不带推理 | 9.46 | 7.97 |\n| **DeepRetrieval-3B** | - | **✨ 65.07 ✨** | **✨ 63.18 ✨** |\n| | 不带推理 | 51.90 | 53.31 |\n\n*表：不同模型和方法在文献搜索及临床试验搜索任务上的对比。\n\n**注：** LEADS-7B 是一款最先进的文献挖掘大模型，基于2万篇综述和40万篇文献进行训练 [https:\u002F\u002Farxiv.org\u002Fpdf\u002F2501.16255]\n\n## ⚠️ 常见问题\n\n### ⚙️ 集群设置：CUDA与Conda环境\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>💻 slurm相关\u003C\u002Fb>\u003C\u002Fsummary>\n\n在集群上运行任何训练或评估脚本之前，请确保已**加载正确的CUDA模块**并**激活您的Conda环境**。\n\n---\n\n### 🧩 GPU分配\n\n如果SLURM作业中的CUDA版本与Python脚本中看到的CUDA版本不一致，您可能会收到如下警告：\n\nUserWarning: CUDA初始化：CUDA驱动初始化失败，您可能没有CUDA GPU。\n（内部触发于..\u002Fc10\u002Fcuda\u002FCUDAFunctions.cpp:108。）\nreturn torch._C._cuda_getDeviceCount() > 0\n\n\n要解决这个问题，请**不要在脚本中手动设置CUDA设备**。  \n相反，直接在SLURM作业中加载CUDA模块：\n\n在运行任何Python命令之前，添加以下几行：\n\n```bash\n# --- 加载CUDA模块 ---\nmodule load cuda\u002F12.6\n\n# --- 激活Conda环境 ---\nsource ~\u002Fminiconda\u002Fetc\u002Fprofile.d\u002Fconda.sh  # 如果您的Conda安装路径不同，请相应调整\nconda activate zero\n```\n如果您之前在训练脚本或作业文件中指定了设备（例如pubmed_32.sh），请移除类似以下的行：\n\nexport CUDA_VISIBLE_DEVICES=4,7\n这将确保CUDA由SLURM正确管理。\n\n### ⚙️ 依赖冲突\n在设置环境时，您可能会遇到pip依赖性警告，例如：\n```\nERROR: pip的依赖解析器目前未考虑到所有已安装的包。\n这种行为是以下依赖冲突的根源。\nmatplotlib 3.9.4需要pyparsing>=2.3.1，但该包未安装。\nmne 1.8.0需要decorator，但该包未安装。\npyhealth 1.1.4需要bitsandbytes，但该包未安装。\n```\n\n要解决这些缺失的依赖项，只需运行：\n```bash\npip install pyparsing decorator bitsandbytes\n```\n\n您还可能遇到NumPy不兼容的警告，例如：\n```\npyhealth 1.1.4需要numpy\u003C2.0，但您当前安装的是numpy 2.0.2，两者不兼容。\noutlines 0.0.46需要numpy\u003C2.0.0，但您当前安装的是numpy 2.0.2，同样不兼容。\nvllm 0.6.3需要numpy\u003C2.0.0，但您当前安装的是numpy 2.0.2，无法兼容。\n```\n\n要修复这些问题，重新安装兼容的NumPy版本，并重新安装依赖包：\n```bash\n\npip install \"numpy\u003C2.0.0\" --force-reinstall\npip install transformers==4.46.3\npip install vllm==0.6.3\npip install verl==0.1\npip install outlines==0.0.46\npip install pyserini\n\n```\n\u003C\u002Fdetails>\n\n## 🤝 致谢\n\n本实现主要基于[verl](https:\u002F\u002Fgithub.com\u002Fvolcengine\u002Fverl)和[PySerini](https:\u002F\u002Fgithub.com\u002Fcastorini\u002FpySerini)。实验中的基础模型为[Qwen2.5-3B-Instruct](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen2.5-3B-Instruct)。我们衷心感谢他们对开源社区的贡献。\n\n## 📚 引用DeepRetrieval\n\n```\n@article{jiang2025deepretrieval,\n  title={Deepretrieval: Hacking real search engines and retrievers with large language models via reinforcement learning},\n  author={Jiang, Pengcheng and Lin, Jiacheng and Cao, Lang and Tian, Runchu and Kang, SeongKu and Wang, Zifeng and Sun, Jimeng and Han, Jiawei},\n  journal={arXiv preprint arXiv:2503.00223},\n  year={2025}\n}\n```\n\n感谢您的关注！😊","# DeepRetrieval 快速上手指南\n\nDeepRetrieval 是一个基于强化学习（RL）的创新框架，旨在训练大语言模型（LLM）生成更高效的检索查询。它无需人工标注数据，通过“试错”机制直接利用检索指标作为奖励，显著提升在文献搜索、临床试验搜索等任务中的召回率。\n\n## 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**: Linux (推荐 Ubuntu)\n*   **Python 版本**: 3.9\n*   **GPU**: 支持 CUDA 的 NVIDIA 显卡（建议显存充足以运行 vLLM 和训练）\n*   **其他依赖**: \n    *   Java (如果使用稀疏检索如 BM25)\n    *   Conda (用于环境管理)\n\n## 安装步骤\n\n### 1. 创建并激活 Conda 环境\n\n```bash\nconda create -n zero python=3.9\nconda activate zero\n```\n\n### 2. 安装核心依赖\n\n首先安装 PyTorch（根据您的需求选择 CUDA 版本，此处以 cu121 为例），然后安装 vLLM 和其他核心库。\n\n```bash\n# 安装 torch (若跳过此步，vllm 可能会自动安装对应版本)\npip install torch==2.4.0 --index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu121\n\n# 安装 vllm 和 ray\npip3 install vllm==0.6.3\npip3 install ray\n\n# 安装 verl 框架\ncd code\npip install -e .\n\n# 安装 flash-attn (加速注意力机制)\npip3 install flash-attn --no-build-isolation\n\n# 安装辅助工具\npip install wandb IPython matplotlib huggingface_hub\n```\n\n### 3. 安装可选依赖（针对特定检索任务）\n\n如果您计划使用稀疏检索（如 BM25）、稠密检索（如 DPR）或 SQL 搜索，请额外安装以下包：\n\n```bash\n# 安装 pyserini (用于高效检索和评估)\npip install pyserini\n\n# 安装 faiss-gpu (用于向量检索)\npip install faiss-gpu==1.7.2\n\n# 安装 Java (pyserini 依赖)\npip install install-jdk && python -c \"import jdk; jdk.install('11')\"\n\n# 支持 SQL 执行\npip install func_timeout\n```\n\n## 基本使用\n\nDeepRetrieval 提供了简单的 API 用于查询重写（Query Rewriting），这是其最核心的功能之一。\n\n### 1. 启动本地服务\n\n运行以下脚本启动 vLLM 服务。您可以指定端口和使用的模型。\n\n```bash\nsh vllm_host.sh\n```\n\n### 2. 执行查询重写\n\n使用提供的 Python 脚本发送原始查询，模型将返回优化后的查询语句。\n\n```bash\npython query_rewrite.py --query \"Who built DeepRetrieval in 2025?\"\n```\n\n**预期输出示例：**\n```text\n# Original query: Who built DeepRetrieval in 2025?\n# Rewritten query: (The DeepRetrieval system, which was built in 2025)\n```\n\n### 3. (进阶) 运行评估\n\n如果您想直接体验训练好的模型效果（无需自行训练），可以运行评估脚本。默认情况下，它会自动从 Hugging Face 下载预训练模型。\n\n```bash\nsh scripts\u002Feval\u002Fpubmed_32.sh\n```\n\n> **提示**：若要使用真实搜索引擎（如 PubMed）进行强化学习训练，您需要在 `code\u002Fverl\u002Futils\u002Freward_score\u002Fapis\u002F` 目录下配置相应的 API Key（例如 `pubmed_api.key`）。","某生物制药公司的研发分析师正在利用内部文献库和公开临床数据库，紧急筛选针对特定罕见病靶点的最新研究论文与临床试验数据。\n\n### 没有 DeepRetrieval 时\n- **查询意图丢失**：分析师输入的自然语言描述过于复杂，传统检索引擎无法理解深层逻辑，导致大量关键文献被遗漏。\n- **依赖昂贵标注**：为了优化搜索效果，团队需耗费数周时间人工编写“理想查询”作为训练数据，成本高昂且难以覆盖所有场景。\n- **召回率极低**：在 PubMed 等真实搜索引擎中，相关文档的召回率仅为 24% 左右，分析师不得不手动翻阅数百页无关结果。\n- **模型能力受限**：即便调用 GPT-4o 等大模型进行查询改写，由于缺乏针对检索结果的直接反馈机制，效果仍不如预期。\n\n### 使用 DeepRetrieval 后\n- **自主推理优化**：DeepRetrieval 让模型通过强化学习自我试错，自动生成包含思维链（Chain-of-Thought）的查询策略，精准捕捉复杂意图。\n- **零监督训练**：无需任何人工标注的查询对，直接利用检索命中率作为奖励信号进行训练，大幅降低了数据准备门槛。\n- **召回率飙升**：在同样的文献搜索任务中，相关文档召回率从 24.68% 跃升至 65.07%，临床试验搜索也从 32% 提升至 63%。\n- **小模型大能量**：仅用 30 亿参数量的模型便超越了 GPT-4o 等巨型模型的表现，部署更轻量，响应速度更快。\n\nDeepRetrieval 通过让 AI 在真实检索反馈中“自学成才”，彻底解决了复杂场景下信息查找难、训练成本高的问题，将研发人员的文献调研效率提升了数倍。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpat-jj_DeepRetrieval_a930470c.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",[87,91,95,99],{"name":88,"color":89,"percentage":90},"Python","#3572A5",81.4,{"name":92,"color":93,"percentage":94},"Jupyter Notebook","#DA5B0B",13.5,{"name":96,"color":97,"percentage":98},"Shell","#89e051",5.1,{"name":100,"color":101,"percentage":102},"Makefile","#427819",0,703,85,"2026-04-02T14:52:14","MIT",4,"Linux","必需 NVIDIA GPU，支持 CUDA 12.1 (推荐) 或 12.6；需安装 flash-attn 2；显存需求未明确说明，但文档提示若出现 OOM (Out-of-vram) 需开启梯度检查点，暗示需要较大显存","未说明",{"notes":112,"python":113,"dependencies":114},"1. 推荐使用 conda 创建名为 'zero' 的环境。2. 若使用稀疏检索 (BM25) 或稠密检索 (DPR)，需额外安装 Java 11、PySerini 和 FAISS。3. 若使用真实搜索引擎（如 PubMed）进行训练或评估，必须配置相应的 API Key。4. 在 SLURM 集群环境下运行时，需在脚本中加载正确的 CUDA 模块，避免手动设置 CUDA_VISIBLE_DEVICES。5. 需注意 numpy 版本必须小于 2.0.0，否则会导致 vllm 等库不兼容。","3.9",[115,116,117,118,119,120,121,122,123,124],"torch==2.4.0","vllm>=0.3.1","ray","verl","flash-attn","pyserini==0.22.1","faiss-gpu==1.7.2","wandb","huggingface_hub","func_timeout",[26,15,54],[127,128,129,130,131,132],"aiagent","information-retrieval","large-language-models","reinforcement-learning","ai-search","search-agent","2026-03-27T02:49:30.150509","2026-04-06T09:45:06.687219",[136,141,146,150,155,160],{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},14022,"运行训练脚本时卡在 Ray 初始化界面且无任务提交，如何解决？","这通常是由于资源配置不当导致的。请尝试以下解决方案：\n1. 确保所有 `micro_batch_size`（脚本中通常有三个）设置为与你使用的 GPU 数量相等。例如，如果使用 4 张 GPU，但 micro_batch_size 设为 2，程序可能会卡住。\n2. 确保服务器有足够的 CPU 和内存资源。推荐配置为：request_cpus = 32, request_memory = 150GB。如果是 Slurm 等其他调度系统，请确保分配了足够的资源。","https:\u002F\u002Fgithub.com\u002Fpat-jj\u002FDeepRetrieval\u002Fissues\u002F28",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},14023,"安装 pyserini 时遇到 NumPy 版本冲突（要求 \u003C2.0.0 但安装了 2.0.2），如何解决？","项目依赖 `numpy\u003C2.0.0`。解决方法是先强制安装低版本 NumPy，再安装其他包。具体命令如下：\n1. 执行 `pip install \"numpy\u003C2.0.0\" --upgrade --force-reinstall`\n2. 然后执行 `pip install pyserini`\n维护者确认其环境使用的是 `numpy==1.26.4` 和 `pyserini==0.22.1`。建议严格按照项目指定的顺序安装所有包。","https:\u002F\u002Fgithub.com\u002Fpat-jj\u002FDeepRetrieval\u002Fissues\u002F33",{"id":147,"question_zh":148,"answer_zh":149,"source_url":140},14024,"运行训练脚本时出现 PubMed 速率限制警告或评估错误，原因是什么？","如果出现 \"PubMed rate limit (10 req\u002Fs) reached\" 警告，请考虑减小 batch size。如果出现 \"Error in evaluation\"，最常见的原因是忘记配置 API Key。请检查是否已创建并正确添加了 `pubmed_api.key` 文件。",{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},14025,"DeepRetrieval 是否适用于非临床（如生物机制类）的 PubMed 检索任务？","DeepRetrieval 的训练范式是基于 RLVR（带可验证奖励的强化学习），它是特定于任务的。只要你能明确定义任务的“好坏”标准（例如如何判断检索结果的质量），该框架就可以扩展到任何检索任务。\n如果你的任务是问答（QA）或 RAG，可以使用另一个框架 s3 (https:\u002F\u002Fgithub.com\u002Fpat-jj\u002Fs3) 来训练搜索代理。如果不是，需明确输入输出格式以便寻找合适的数据集。","https:\u002F\u002Fgithub.com\u002Fpat-jj\u002FDeepRetrieval\u002Fissues\u002F41",{"id":156,"question_zh":157,"answer_zh":158,"source_url":159},14026,"运行 literature_search_train.sh 脚本时提示日志文件不存在（tee: ... No such file or directory），如何处理？","该错误通常是因为日志目录不存在导致的。请检查并确保 `exp_log` 目录已创建。此外，除了配置 `pubmed_api.key` 外，不需要修改其他代码。训练通常需要 1-2 天才能观察到显著的性能提升。","https:\u002F\u002Fgithub.com\u002Fpat-jj\u002FDeepRetrieval\u002Fissues\u002F1",{"id":161,"question_zh":162,"answer_zh":163,"source_url":164},14027,"设置每个提示生成多个输出（n>1）时导致显存溢出（OOM），有解决办法吗？","生成多个输出会显著增加显存占用。虽然降低 batch size 或减少 `actor_rollout_ref.rollout.n` 的值（如降至 2）是常规思路，但如果仍然报错，可能需要检查显存是否足以支撑当前的模型大小和并发数。目前社区建议尝试进一步微调批处理策略或升级硬件资源，因为格式化输出本身（提取 \u003Canswer> 标签内容）不会额外增加太多负担，主要瓶颈在于推理时的显存峰值。","https:\u002F\u002Fgithub.com\u002Fpat-jj\u002FDeepRetrieval\u002Fissues\u002F34",[]]