【AI的未来 - AI Agent系列】【MetaGPT】4.1 细说我在ActionNode实战中踩的那些坑

简介: 【AI的未来 - AI Agent系列】【MetaGPT】4.1 细说我在ActionNode实战中踩的那些坑

上篇文章 【AI的未来 - AI Agent系列】【MetaGPT】4. ActionNode从理论到实战 中我们学习了MetaGPT中ActionNode的理论和基本用法,跑通了一个简单程序。

原理和代码实现都很简单,但是谁知道当时我遇到了多少坑… 本文带你看看我在上文中遇到的坑,希望能帮到你!

下面说下我遇到的坑:

1. MetaGPT = 0.5.2 版本的坑

听信了官方教程中的MetaGPT版本推荐,我之前的学习和实战都使用了0.5.2版本,所以一开始,ActionNode的学习也使用的此版本。

1.1 坑一:cannot import name “ActionNode” from “metagpt.actions.action”

  • 不知道为什么0.5.2版本无法从"metagpt.actions.action"导入ActionNode,看源码中,action_nodes.py是存在的

  • 解决方案:改为从 metagpt.actions.action_node 导入 ActionNode
# from metagpt.actions.action import Action, ActionNode
from metagpt.actions.action import Action
from metagpt.actions.action_node import ActionNode

1.2 坑二:simple_fill 没有参数 schema

  • 查看0.5.2版本的源码,simple_fill 的输入参数还叫 ‘to’,不叫 ‘schema’

  • 解决方案:schema 改为 to
# child = await i.simple_fill(schema=schema, mode=mode)
child = await i.simple_fill(to=schema, mode=mode)

1.3 坑三:ActionNode一直在循环执行,

如下图:一直在输出,这个都是ActionNode内的打印。

这个坑,是在ActionNode中循环,退不到我的代码中,所以我无从下手解决。促使了我升级到最新github代码… 后来我在高版本中遇到类似问题,好像是因为结果校验不通过,触发了重试。

2. 升级成 MetaGPT GitHub最新源码(2024-01-16)之后的坑

2.1 坑一:no attribute ‘_rc’

  • 从0.6版本开始,_rc这种成员变量都换成了不带下划线的:‘rc’
  • 解决方案:将 ‘_rc’ 全部换成 ‘rc’

2.2 坑二:no attribute ‘_states’

  • 解决方法同’rc’,将’_states’ 改为 ‘states’

2.3 坑三:‘gpt-4-1106-preview’ does not exist or you do not have access to it

  • 原因:前面讲过,MetaGPT读取配置的顺序:key.yaml > config.yaml > 环境变量。当我升级到github最新代码,源码编译后,源码中存在了config.yaml文件,里面默认的配置是gpt4。MetaGPT默认使用了config.yaml,我的环境变量便被忽略了。
  • 解决方案:在config.yaml中设置自己的配置。或者新建一个key.yaml来写自己的配置

2.4 坑四:A non-annotated attribute was detected: ‘input_num = 0’

这个是因为升级0.6版本后,0.6版本的校验更加严格,这类内的成员变量必须显式声明类型,否则会报错。

  • 解决方案
class SimplePrint(Action):
    input_num: int = 0 ######## <------ 加上这一句,显式声明变量类型
    def __init__(self, name="SimplePrint", input_num:int=0):
        super().__init__()
        self.input_num = input_num

还有几个坑忘记截图了… 不过上面也基本够了,应该能帮你省不少事儿~~~

相关文章
|
8月前
|
SQL 人工智能 关系型数据库
AI Agent的未来之争:任务规划,该由人主导还是AI自主?——阿里云RDS AI助手的最佳实践
AI Agent的规划能力需权衡自主与人工。阿里云RDS AI助手实践表明:开放场景可由大模型自主规划,高频垂直场景则宜采用人工SOP驱动,结合案例库与混合架构,实现稳定、可解释的企业级应用,推动AI从“能聊”走向“能用”。
1401 41
AI Agent的未来之争:任务规划,该由人主导还是AI自主?——阿里云RDS AI助手的最佳实践
|
10月前
|
人工智能 JavaScript 测试技术
Cradle:颠覆AI Agent 操作本地软件,AI驱动的通用计算机控制框架,如何让基础模型像人一样操作你的电脑?
Cradle 是由 BAAI‑Agents 团队开源的通用计算机控制(GCC)多模态 AI Agent 框架,具备视觉输入、键鼠操作输出、自主学习与反思能力,可操作各类本地软件及游戏,实现任务自动化与复杂逻辑执行。
1184 6
|
9月前
|
人工智能 自然语言处理 API
快速集成GPT-4o:下一代多模态AI实战指南
快速集成GPT-4o:下一代多模态AI实战指南
635 101
|
10月前
|
物联网
直播预告 | Qwen-lmage 技术分享+实战攻略直播
通义千问团队最新开源的图像生成模型 Qwen-Image,凭借其出色的中文理解与文本渲染能力,自发布以来获得了广泛关注与好评。
459 0
|
10月前
智谱发布GLM-4.5V,全球开源多模态推理新标杆,Day0推理微调实战教程到!
视觉语言大模型(VLM)已经成为智能系统的关键基石。随着真实世界的智能任务越来越复杂,VLM模型也亟需在基本的多模态感知之外,逐渐增强复杂任务中的推理能力,提升自身的准确性、全面性和智能化程度,使得复杂问题解决、长上下文理解、多模态智能体等智能任务成为可能。
1241 0
|
8月前
|
存储 监控 算法
1688 图片搜索逆向实战:CLIP 多模态融合与特征向量落地方案
本文分享基于CLIP模型与逆向工程实现1688图片搜同款的实战方案。通过抓包分析破解接口签名,结合CLIP多模态特征提取与Faiss向量检索,提升搜索准确率至91%,单次响应低于80ms,日均选品效率提升4倍,全程合规可复现。
|
9月前
|
机器学习/深度学习 算法 数据可视化
从零开始训练推理模型:GRPO+Unsloth改造Qwen实战指南
推理型大语言模型兴起,通过先思考再作答提升性能。本文介绍GRPO等强化学习算法,详解其原理并动手用Qwen2.5-3B训练推理模型,展示训练前后效果对比,揭示思维链生成的实现路径。
1208 2
从零开始训练推理模型:GRPO+Unsloth改造Qwen实战指南
|
9月前
|
人工智能 Java API
Java与大模型集成实战:构建智能Java应用的新范式
随着大型语言模型(LLM)的API化,将其强大的自然语言处理能力集成到现有Java应用中已成为提升应用智能水平的关键路径。本文旨在为Java开发者提供一份实用的集成指南。我们将深入探讨如何使用Spring Boot 3框架,通过HTTP客户端与OpenAI GPT(或兼容API)进行高效、安全的交互。内容涵盖项目依赖配置、异步非阻塞的API调用、请求与响应的结构化处理、异常管理以及一些面向生产环境的最佳实践,并附带完整的代码示例,助您快速将AI能力融入Java生态。
1416 12

热门文章

最新文章