任务拆解,悠然自得,自动版本的ChatGPT,AutoGPT自动人工智能AI任务实践(Python3.10)

简介: 当我们使用ChatGPT完成某些工作的时候,往往需要多轮对话,比如让ChatGPT分析、翻译、总结一篇网上的文章或者文档,再将总结的结果以文本的形式存储在本地。过程中免不了要和ChatGPT“折冲樽俎”一番,事实上,这个“交涉”的过程也可以自动化,AutoGPT可以帮助我们自动拆解任务,没错,程序能做到的事情,人类绝不亲力亲为。我们唯一需要做的,就是告诉AutoGPT一个任务目标,AutoGPT会自动根据任务目标将任务拆解成一个个的小任务,并且逐个完成,简单且高效。

当我们使用ChatGPT完成某些工作的时候,往往需要多轮对话,比如让ChatGPT分析、翻译、总结一篇网上的文章或者文档,再将总结的结果以文本的形式存储在本地。过程中免不了要和ChatGPT“折冲樽俎”一番,事实上,这个“交涉”的过程也可以自动化,AutoGPT可以帮助我们自动拆解任务,没错,程序能做到的事情,人类绝不亲力亲为。

我们唯一需要做的,就是告诉AutoGPT一个任务目标,AutoGPT会自动根据任务目标将任务拆解成一个个的小任务,并且逐个完成,简单且高效。

配置AutoGPT

先确保本地环境安装好了Python3.10.9

接着运行Git命令拉取项目:

git clone https://github.com/Significant-Gravitas/Auto-GPT.git

随后进入项目的目录:

cd Auto-GPT

安装相关的依赖库:

pip3 install -r requirements.txt

安装成功后,复制一下项目的配置文件:

cp .env.template .env

这里通过cp命令将配置文件模版.env.template复制成为一个新的配置文件.env。

随后将Openai的秘钥填入配置文件:

### OPENAI  
# OPENAI_API_KEY - OpenAI API Key (Example: my-openai-api-key)  
# TEMPERATURE - Sets temperature in OpenAI (Default: 0)  
# USE_AZURE - Use Azure OpenAI or not (Default: False)  
OPENAI_API_KEY=您的秘钥  
TEMPERATURE=0  
USE_AZURE=False

除了Openai官方的接口秘钥,AutoGPT也支持微软Azure的接口。

如果希望使用微软Azure的接口,需要将配置中的USE\_AZURE设置为True,随后复制azure.yaml.template配置模版为新的azure.yaml配置文件。

接着将微软Azure服务的秘钥填入azure.yaml即可。

由于微软Azure接入Openai接口需要极其复杂的申请流程,这里还是直接使用OpenAI官方的接口。

当然了,如果不想在本地装那么多依赖,也可以通过Docker来构建Auto-GPT的容器:

docker build -t autogpt .  
docker run -it --env-file=./.env -v $PWD/auto_gpt_workspace:/app/auto_gpt_workspace autogpt

这里Docker会自动读取项目中的Dockerfile配置文件进行构建,相当方便。

至此,Auto-GPT就配置好了。

运行Auto-GPT

在项目根目录运行命令:

python3 -m autogpt --debug

即可启动AutoGPT:

➜  Auto-GPT git:(master) python -m autogpt --debug         
Warning: The file 'AutoGpt.json' does not exist. Local memory would not be saved to a file.  
Debug Mode:  ENABLED  
Welcome to Auto-GPT!  Enter the name of your AI and its role below. Entering nothing will load defaults.  
Name your AI:  For example, 'Entrepreneur-GPT'  
AI Name:

首先创建AutoGPT机器人的名字:

AI Name: v3u.cn  
v3u.cn here!  I am at your service.  
Describe your AI's role:  For example, 'an AI designed to autonomously develop and run businesses with the sole goal of increasing your net worth.'  
v3u.cn is:

创建好名字以后,Auto-GPT就可以随时为您效劳了。

首先为AutoGPT设置目标:

v3u.cn is: Analyze the contents of this article,the url is https://v3u.cn/a_id_303,and write the result to goal.txt

这里我们要求AutoGPT分析并且总结v3u.cn/a\_id\_303这篇文章,并且将分析结果写入本地的goal.txt文件。

程序返回:

Enter up to 5 goals for your AI:  For example: Increase net worth, Grow Twitter Account, Develop and manage multiple businesses autonomously'  
Enter nothing to load defaults, enter nothing when finished.  
Goal 1:   
Using memory of type:  LocalCache

AutoGPT会告诉你可以最多拆解为五个任务,我们可以自己拆解,也可以让机器人帮助我们拆解,直接按回车,让AutoGPT自动拆解任务即可。

接着程序会自动爬取这篇文章的内容,然后使用gpt-3.5-turbo模型来进行分析:

Goal 1:   
Using memory of type:  LocalCache  
Using Browser:  chrome  
  Token limit: 4000  
  Memory Stats: (0, (0, 1536))  
  Token limit: 4000  
  Send Token Count: 936  
  Tokens remaining for response: 3064  
  ------------ CONTEXT SENT TO AI ---------------  
  System: The current time and date is Mon Apr 17 20:29:37 2023  
    
  System: This reminds you of these events from your past:  
  
  
  
    
  User: Determine which next command to use, and respond using the format specified above:  
    
  ----------- END OF CONTEXT ----------------  
Creating chat completion with model gpt-3.5-turbo, temperature 0.0, max_tokens 3064  
The JSON object is valid.  
 THOUGHTS:  Let's start by browsing the article at https://v3u.cn/a_id_303 to get a better understanding of its contents.  
REASONING:  Browsing the article will allow us to analyze its contents and determine the appropriate next steps.  
PLAN:   
-  Browse the article  
-  Analyze its contents  
-  Determine the appropriate next steps  
CRITICISM:  None  
NEXT ACTION:  COMMAND = browse_website ARGUMENTS = {'url': 'https://v3u.cn/a_id_303', 'question': 'analyze the contents of the article'}  
Enter 'y' to authorise command, 'y -N' to run N continuous commands, 'n' to exit program, or enter feedback for ...  
Input:y  
-=-=-=-=-=-=-= COMMAND AUTHORISED BY USER -=-=-=-=-=-=-=   
[WDM] - Downloading: 100%|████████████████████████████████████████████| 8.04M/8.04M [00:03<00:00, 2.42MB/s]  
Text length: 6977 characters  
Adding chunk 1 / 1 to memory  
Summarizing chunk 1 / 1  
Creating chat completion with model gpt-3.5-turbo, temperature 0.0, max_tokens 300  
SYSTEM:  Command browse_website returned: Error: This model's maximum context length is 4097 tokens. However, you requested 4339 tokens (4039 in the messages, 300 in the completion). Please reduce the length of the messages or completion.  
  Token limit: 4000  
  Memory Stats: (2, (2, 1536))  
  Token limit: 4000  
  Send Token Count: 1472  
  Tokens remaining for response: 2528  
  ------------ CONTEXT SENT TO AI ---------------  
  System: The current time and date is Mon Apr 17 20:30:19 2023  
    
  System: This reminds you of these events from your past:  
['Assistant Reply: {\n    "thoughts": {\n        "text": "Let\'s start by browsing the article at https://v3u.cn/a_id_303 to get a better understanding of its contents.",\n        "reasoning": "Browsing the article will allow us to analyze its contents and determine the appropriate next steps.",\n        "plan": "- Browse the article\\n- Analyze its contents\\n- Determine the appropriate next steps",\n        "criticism": "None",\n        "speak": "I suggest we start by browsing the article at the given URL to analyze its contents and determine the appropriate next steps."\n    },\n    "command": {\n        "name": "browse_website",\n        "args": {\n            "url": "https://v3u.cn/a_id_303",\n            "question": "analyze the contents of the article"\n        }\n    }\n} \nResult: Command browse_website returned: Error: This model\'s maximum context length is 4097 tokens. However, you requested 4339 tokens (4039 in the messages, 300 in the completion). Please reduce the length of the messages or completion. \nHuman Feedback: GENERATE NEXT COMMAND JSON ']  
  
  
    
  User: Determine which next command to use, and respond using the format specified above:  
    
  Assistant: {  
    "thoughts": {  
        "text": "Let's start by browsing the article at https://v3u.cn/a_id_303 to get a better understanding of its contents.",  
        "reasoning": "Browsing the article will allow us to analyze its contents and determine the appropriate next steps.",  
        "plan": "- Browse the article\n- Analyze its contents\n- Determine the appropriate next steps",  
        "criticism": "None",  
        "speak": "I suggest we start by browsing the article at the given URL to analyze its contents and determine the appropriate next steps."  
    },  
    "command": {  
        "name": "browse_website",  
        "args": {  
            "url": "https://v3u.cn/a_id_303",  
            "question": "analyze the contents of the article"  
        }  
    }  
}  
    
    
  User: Determine which next command to use, and respond using the format specified above:  
    
  ----------- END OF CONTEXT ----------------  
Creating chat completion with model gpt-3.5-turbo, temperature 0.0, max_tokens 2528

最后将分析结果写入goal.txt文件:

这篇文章主要阐释了苹果Mac电脑可以完成机器学习和深度学习任务,并且通过深度学习框架Tensorflow的安装和运行进行了佐证,同时也对Tensorflow的CPU和GPU的两种模型训练模式进行了深度对比和测试。

一气呵成,流畅丝滑。

结语

AutoGPT和其他 AI 程序的不同之处在于,它专门专注于在无需人工干预的情况下生成提示和自动执行多步骤任务。它还具有扫描互联网或在用户计算机上执行命令以获取信息的能力,这使其有别于可能仅依赖于预先存在的数据集的其他人工智能程序。

AutoGPT的底层逻辑并不复杂:先通过搜索引擎检索任务,然后把结果和目标丢给gpt让它给出序列化方案json,再把方案分段丢给gpt,最后用shell去创建Python文件+json.load并且执行,是一个反复递归的过程。

不能否认的是,虽然实现逻辑简单,但这无疑是一种“自我进化”的过程,相信随着时间的推移,AutoGPT可以更好地处理愈加复杂的任务。

相关文章
|
1月前
|
存储 人工智能 运维
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
231 48
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
|
9天前
|
人工智能 自然语言处理 数据可视化
AutoAgents:比LangChain更激进的AI开发神器!自然语言生成AI智能体军团,1句话搞定复杂任务
AutoAgents 是基于大型语言模型的自动智能体生成框架,能够根据用户设定的目标自动生成多个专家角色的智能体,通过协作完成复杂任务。支持动态生成智能体、任务规划与执行、多智能体协作等功能。
172 91
|
29天前
|
人工智能 算法 计算机视觉
【01】opencv项目实践第一步opencv是什么-opencv项目实践-opencv完整入门以及项目实践介绍-opencv以土壤和水滴分离的项目实践-人工智能AI项目优雅草卓伊凡
【01】opencv项目实践第一步opencv是什么-opencv项目实践-opencv完整入门以及项目实践介绍-opencv以土壤和水滴分离的项目实践-人工智能AI项目优雅草卓伊凡
135 62
【01】opencv项目实践第一步opencv是什么-opencv项目实践-opencv完整入门以及项目实践介绍-opencv以土壤和水滴分离的项目实践-人工智能AI项目优雅草卓伊凡
|
22天前
|
机器学习/深度学习 人工智能 计算机视觉
MILS:无需对LLM进行额外训练就能处理多模态任务,Meta AI提出零样本生成多模态描述方法
MILS 是 Meta AI 推出的零样本生成高质量多模态描述方法,支持图像、视频和音频的描述生成,无需额外训练。
118 34
MILS:无需对LLM进行额外训练就能处理多模态任务,Meta AI提出零样本生成多模态描述方法
|
8天前
|
人工智能 Kubernetes 测试技术
SWE-Lancer:OpenAI发布衡量AI工程能力的「血汗标尺」!1400个百万美元任务实测,GPT-4o仅能赚2.9万刀?
SWE-Lancer 是 OpenAI 推出的基准测试,评估语言模型在自由职业软件工程任务中的表现,涵盖真实任务、端到端测试和多选项评估。
45 4
SWE-Lancer:OpenAI发布衡量AI工程能力的「血汗标尺」!1400个百万美元任务实测,GPT-4o仅能赚2.9万刀?
|
1天前
|
人工智能 自然语言处理 并行计算
MeteoRA:多任务AI框架革新!动态切换+MoE架构,推理效率提升200%
MeteoRA 是南京大学推出的多任务嵌入框架,基于 LoRA 和 MoE 架构,支持动态任务切换与高效推理。
19 3
|
9天前
|
存储 人工智能 程序员
通义灵码AI程序员实战:从零构建Python记账本应用的开发全解析
本文通过开发Python记账本应用的真实案例,展示通义灵码AI程序员2.0的代码生成能力。从需求分析到功能实现、界面升级及测试覆盖,AI程序员展现了需求转化、技术选型、测试驱动和代码可维护性等核心价值。文中详细解析了如何使用Python标准库和tkinter库实现命令行及图形化界面,并生成单元测试用例,确保应用的稳定性和可维护性。尽管AI工具显著提升开发效率,但用户仍需具备编程基础以进行调试和优化。
148 9
|
8天前
|
人工智能 自然语言处理 程序员
体验通义灵码的AI程序员:用Python+Tkinter实现表单向config.ini写入与读取
本文介绍了如何利用通义灵码的AI程序员快速开发一个基于Python和Tkinter的表单应用程序,实现对config.ini文件的读写。通过简单的自然语言描述,通义灵码能自动生成代码框架、自动补全功能代码,并提供错误检测与修复建议,极大提高了开发效率。开发者只需安装必要库(如configparser)并配置VSCode插件TONGYI Lingma,即可轻松创建包含多个输入项和按钮的表单界面。运行程序后,用户可以编辑表单并保存数据到config.ini文件中,再次启动时数据会自动加载显示。这一过程展示了AI在编程中的高效性和灵活性,为开发者提供了全新的开发方式。
91 3
|
1月前
|
数据采集 人工智能 算法
Seer:上海 AI Lab 与北大联合开源端到端操作模型,结合视觉预测与动作执行信息,使机器人任务提升成功率43%
Seer是由上海AI实验室与北大等机构联合推出的端到端操作模型,结合视觉预测与动作执行,显著提升机器人任务成功率。
82 20
Seer:上海 AI Lab 与北大联合开源端到端操作模型,结合视觉预测与动作执行信息,使机器人任务提升成功率43%
|
1月前
|
数据采集 人工智能 自然语言处理
Riona-AI-Agent:自媒体 AI 代理!自动点赞、评论、个性化内容生成和发布等交互任务
Riona-AI-Agent 是一款基于 Node.js 和 TypeScript 的 AI 自动化工具,支持 Instagram、Twitter 等平台的自动化交互,生成高质量内容,提升社交媒体管理效率。
174 13
Riona-AI-Agent:自媒体 AI 代理!自动点赞、评论、个性化内容生成和发布等交互任务

热门文章

最新文章