【Agent项目复现】OpenManus复现

Agent入门项目,代码易读性强。
项目地址:https://github.com/FoundationAgents/OpenManus

一、配置环境

1. Anaconda

conda create -n open_manus python=3.12
conda activate open_manus
pip install -r requirements.txt

遇到报错:
在这里插入图片描述
这也许是正常现象,因为master分支的代码未必是稳定的,可能只是点小疏漏,问题不大。
将requirements.txt中对于pillow的版本进行修改,因为pillow往往我们相对熟悉,那么依着crawl4ai的版本来修改pillow版本会更稳妥一些。

修改前:
在这里插入图片描述
修改后:
在这里插入图片描述
重新配置依赖,配置成功。

2. UV

安装uv:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

配置虚拟环境:

uv venv --python 3.12

# Windows
.venv\Scripts\activate
# Linux
source .venv/bin/activate

uv pip install -r requirements.txt

同样会遇到问题:
在这里插入图片描述
同样,和conda一样修改pillow版本为10.4后,配置成功。

二、配置API key

复制一份config.example模板,然后重命名为config.toml。
在这里插入图片描述
这里我们用的是LLM,所以只配置上面的API key即可,这里示例是DeepSeek API。
对于获取DeepSeek API,请移步官网:https://platform.deepseek.com
在这里插入图片描述

三、运行项目

Web Search工具需要先执行以下命令:

playwright install

在这里插入图片描述

python main.py

然后输入prompt即可。

示例prompt:帮我写一份刘慈欣小说的综述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

可以看到结果保存在workspace文件夹中。

### 吴恩达课程中的 Agent 设计实现 吴恩达的深度学习课程中提到的强化学习部分涉及到了多种类型的智能体(Agent),这些 Agent 的设计通常基于马尔可夫决策过程 (MDP)[^1] 和策略优化方法。为了复现其设计,可以按照以下思路展开: #### 1. **环境定义** 在构建 Agent 前,需先明确所使用的环境模型。常见的环境框架有 OpenAI Gym 或 DeepMind Control Suite。通过这些工具包,能够快速搭建测试场景并验证 Agent 行为的有效性。 ```python import gym env = gym.make('CartPole-v1') # 使用 CartPole 环境作为例子 observation_space = env.observation_space.shape[0] action_space = env.action_space.n ``` 上述代码展示了如何加载一个简单的 `CartPole` 游戏环境,并获取状态空间维度以及动作数量[^2]。 #### 2. **神经网络结构** 对于大多数现代 RL 方法而言,采用深度神经网络来近似 Q 函数或者直接表示策略函数是非常普遍的做法。下面是一个典型的两层全连接前馈网络用于逼近连续控制下的行动概率分布的例子: ```python import torch.nn as nn class PolicyNetwork(nn.Module): def __init__(self, input_dim, output_dim): super(PolicyNetwork, self).__init__() self.network = nn.Sequential( nn.Linear(input_dim, 64), nn.ReLU(), nn.Linear(64, 64), nn.ReLU(), nn.Linear(64, output_dim), nn.Softmax(dim=-1) ) def forward(self, state): return self.network(state) policy_net = PolicyNetwork(observation_space, action_space) ``` 此段代码实现了基本的策略网络架构,它接受当前的状态向量输入并通过一系列线性和激活操作最终输出每种可能行为的概率值[^3]。 #### 3. **训练流程** 完整的训练循环包括采样经验数据、计算目标损失以及更新参数三个主要环节。这里给出伪代码形式的一个回合制训练逻辑概览: ```plaintext for episode in range(total_episodes): obs = env.reset() done = False while not done: act_probs = policy_net(torch.tensor([obs], dtype=torch.float)) act_dist = Categorical(act_probs.squeeze()) act = act_dist.sample().item() next_obs, reward, done, _ = env.step(act) # 存储轨迹信息至缓冲区... obs = next_obs # 当积累足够的样本后执行一次梯度下降步... ``` 实际应用时还需要考虑折扣因子 γ、熵正则项系数 β 等超参调节问题[^4]。 --- ### 参考扩展说明 以上仅提供了一个简化版的技术路线图供参考,在具体实践中还需深入研究原始论文资料并与最新研究成果相结合不断改进算法性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值