ReAct

让大模型边想边做,用工具解决复杂任务

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 开源模型 🍴 复刻 407 🐛 待处理 5 👀 关注 21
GitHub ↗
GitHub 星标 ★ 4269
维护状态 低维护
是否开源 开源
定价模式 🏷️完全免费 开源项目,MIT许可证,完全免费,可自行部署使用。

项目预览

ReAct 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类开源模型
开发团队ysymyth
定价模式🏷️完全免费
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议MIT
主要语言Jupyter Notebook
技术栈/模型decision-making,large-language-models,llm,prompting,reasoning
GitHub 星标★ 4269
上线时间2022-11-13 00:00:00
代码更新2024-02-06
仓库体积6.3 MB
本站数据更新2026-11-09
维护状态低维护
收录时间2026-08-09
浏览次数5

项目介绍

ReAct 是一个来自 ICLR 2023 的研究项目,核心思想是让大语言模型在推理(Reasoning)和行动(Acting)之间交替进行,从而解决复杂任务。传统语言模型要么只做推理(如 Chain-of-Thought),要么只做行动(如使用工具),而 ReAct 将两者结合:模型在思考时生成自然语言推理轨迹,同时根据推理结果调用外部工具(如搜索引擎、数据库)获取信息,再基于新信息继续推理,形成“思考-行动-观察”的循环。这个项目提供了完整的代码实现和实验脚本,支持在多种基准任务上复现论文结果,包括问答(HotpotQA)、事实核查(Fever)和交互式决策(ALFWorld)。它解决了纯推理模型缺乏实时知识、纯行动模型缺乏规划能力的问题,显著提升了模型在需要多步推理和外部信息获取的任务上的表现。核心能力包括:灵活的推理与工具调用接口、与 OpenAI API 的集成、以及多种提示模板的示例。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 4269

使用教程

ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。

难度:进阶 约 30 分钟 部署方式:本地安装 5 步

环境要求

  • Python 环境与 Jupyter Notebook(README 以 .ipynb 方式运行)
  • OpenAI API Key,并设置为环境变量 OPENAI_API_KEY
  • 安装 openai 包
  • 如需运行 ALFWorld 实验,需按 alfworld 官方仓库说明安装 alfworld

安装与启动步骤

  1. 1获取项目代码

    克隆 ReAct 仓库到本地,进入目录后打开其中的 notebook 文件。

    git clone https://github.com/ysymyth/ReAct.git
    cd ReAct
  2. 2配置 API Key

    把 OpenAI API Key 写入环境变量 OPENAI_API_KEY,README 明确要求用该变量名。

    export OPENAI_API_KEY=sk-xxxxxxxx
  3. 3安装 openai 包

    README 指定包依赖为 openai,用 pip 安装即可。

    pip install openai
  4. 4安装 alfworld(可选)

    只有跑 alfworld.ipynb 才需要,按 alfworld 官方仓库的说明安装。

  5. 5运行实验 notebook

    启动 Jupyter,依次运行 hotpotqa、fever、alfworld 或 webshop 的 ipynb 脚本。

    jupyter notebook

关键配置

配置项必填说明示例
OPENAI_API_KEY是OpenAI API 密钥,供 notebook 调用 GPT-3 模型使用sk-xxxxxxxx

如何确认成功

notebook 中各单元能正常跑完并输出 HotpotQA/FEVER 的 EM 等评测指标,即表示配置成功。

常见问题

Q:必须用 OpenAI API Key 吗?

A:是,README 明确要求先准备 OpenAI API Key 并存入环境变量 OPENAI_API_KEY,notebook 依赖它调用模型。

Q:不装 alfworld 能跑吗?

A:可以,alfworld 只服务于 ALFWorld 实验;HotpotQA、FEVER、WebShop 的 notebook 不需要它。

Q:为什么只跑 500 条样本?

A:README 说明 HotpotQA 和 FEVER 验证集很大,因此只随机取 500 条样本运行。

Q:没有官网和详细文档怎么办?

A:README 信息有限,遇到问题可参考论文与 LangChain 的 zero-shot ReAct Agent 文档。

注意事项

  • README 未给出具体 Python 版本要求,建议使用较新的 Python 3 环境。
  • 环境变量 OPENAI_API_KEY 需在运行 Jupyter 的同一终端中设置,否则 notebook 读不到。
  • 更换其他任务时,README 建议尝试 LangChain 的 zero-shot ReAct Agent。
  • 评测结果参考 README 表格:PaLM 与 GPT-3 在不同任务上表现各有优势。

核心亮点

  • 开创性地将推理轨迹和行动交替结合,显著提升多步推理和知识密集型任务的准确率
  • 代码结构清晰,提供完整的实验配置和提示模板,便于复现和二次开发
  • 支持多种任务场景(问答、事实核查、决策),通用性强

不足之处

  • 依赖外部工具(如搜索引擎)的可用性和响应质量,在无网络环境受限
  • 文档以论文和代码注释为主,缺乏系统的使用指南,上手门槛较高

适用场景

  • 需要实时知识检索的复杂问答系统
  • 需要多步规划与工具调用的智能体开发
  • 研究推理与行动结合机制的学术实验

替代项目

Toolformer、WebGPT、SayCan

上一篇:LMOps

下一篇:all-agentic-architectures

同类项目推荐

openai 开源

Flutter 应用一行接入大模型,聊天语音微调全支持

The unofficial OpenAI SDK for Dart & Flutter. Full API coverage + OpenAI-compatible ···

★ 665 2026-09-16
cl-gserver 开源

用 Actor 模型写 Lisp 并发,状态不打架

Sento - Actor framework featuring actors and agents for easy access to state and asy···

★ 261 2026-10-13
swiftide 开源

用 Rust 快速构建流式 LLM 应用,索引查询一把梭

Fast, streaming indexing, query, and agentic LLM applications in Rust

★ 803 2026-08-09
texar 开源

用 TensorFlow 快速搭建 NLP 和文本生成模型

Toolkit for Machine Learning, Natural Language Processing, and Text Generation, in T···

★ 2392 2026-08-10
llm-ui 开源

用 React 快速搭建 LLM 聊天界面,流式输出开箱即用

The React library for LLMs

★ 1752 2026-08-09
ccgram 开源

手机远程监控和操控AI编程代理,随时随地响应提示。

Telegram ↔ tmux/herdr/agterm bridge for Claude Code, Codex CLI, and Pi Agent. Monit···

★ 289 2026-08-09
langchain-chatbot 开源

用 LangChain 和 Streamlit 快速搭出能聊天的 RAG 机器人

Examples of chatbot implementations with Langchain and Streamlit

★ 278 2026-08-09
langchain-mongodb 开源

让 LangChain 应用直接用 MongoDB 存向量和对话

Integrations between MongoDB, Atlas, LangChain, and LangGraph

★ 125 2026-09-12
llm-consortium 开源

多个大模型互相挑错,迭代到答案一致

Parallel Reasoning: llm-consortium orchestrates mulitple LLMs, iteratively refines &···

★ 409 2026-09-16