【小程序学校源码】【dubbo项目源码】【bootstrap php源码】autogpt源码

时间:2024-11-26 12:50:42 编辑:聚享游app源码 来源:梦回手游源码

1.AUTOGEN | 上手与源码分析
2.Auto-GPT 完全体,全部功能(联网、文本、语音、图像)安装教程
3.自动 GPT 教程:如何设置自动 GPT
4.GPT-Engineer一夜爆火!一个提示生成整个代码库,小程序学校源码GitHub狂飙19k星
5.K&R语法(autoGPT)

autogpt源码

AUTOGEN | 上手与源码分析

       AUTOGEN是一个开源平台,主要功能是创建和管理自动化对话代理(agent)。这些代理能执行多种任务,包括回答问题、执行函数,甚至与其它代理进行交互。本文将介绍AUTOGEN中的关键组件,即Conversation Agent,并简单分析其多代理功能的源码实现。

       根据官网文档和参考代码,AUTOGEN利用OpenAI提供的服务来访问语言模型(Logic Unit)。任何部署了OpenAI兼容API的语言模型都可以无缝集成到AUTOGEN中。利用OpenAI的Tool功能,AUTOGEN能够调用函数,而不是使用自定义提示来引导逻辑模型选择工具。在请求体中提供候选函数信息,OpenAI API将从中选择最有可能满足用户需求的函数。每个agent都可使用send和receive方法与其他agent进行通信。

       在Autogen中,每个agent由Abilities & Prior Knowledge、Action & Stimuli、Goals/Preference、dubbo项目源码Past Experience等部分组成。语言模型(逻辑单元)通过调用OpenAI服务来实现,利用OpenAI提供的Tool功能调用函数。每个agent都维护自己的历史记录,以List[Message]的形式保存,包含对话信息和执行函数的结果等。

       Conversable Agent是Autogen的基本智能体类型,其他如AssistantAgent或UserProxyAgent都是基于此实现。在初始化时,通过配置列表来初始化OpenAI对象。generate_reply是核心功能,根据接收到的消息和配置,通过注册的处理函数和回复生成函数产生回复。此过程包括消息预处理、历史消息整理和回复生成。通过定制化钩子处理特定逻辑,考虑到调用工具、对话、参考历史经验等功能,generate_reply的大致运行流程如下:首先处理最后接收的消息,然后整理所有消息进行回复生成。

       Autogen将多种不同功能的agent整合到Conversable Agent中。generate_reply时,会根据消息判断是否需要终止对话或人工介入。回复逻辑包括关联或不关联函数的情况。通过代码执行器,代理安全执行GPT生成的bootstrap php源码代码,AutoGPT自带了Docker、Jupyter和本地三种代码执行器。多Agent对话通过initiate_chat函数启动,使用send和receive函数确保信息正确传递。这种设计允许灵活组合多个ConversableAgent,实现自定义的Agent系统。

       Autogen还提供GroupChat功能,允许多个Agent进行自由讨论或固定流程的工作流。开源社区的autogen.agentchat.contrib部分提供了许多自动化对话系统的贡献。此外,官方notebook中讨论了Agent优化器,允许自定义输出,将对话信息输出到前端UI界面。

       总之,Autogen作为Agent搭建工具,提供了基础功能,允许创建和管理自动化对话代理。其设计将执行工具与逻辑模型整合,简化了多代理对话和多功能任务的实现。通过源码分析,可以看到其灵活的架构和丰富的功能实现,为开发者提供了构建复杂对话系统的基础。

Auto-GPT 完全体,全部功能(联网、文本、语音、图像)安装教程

       Auto-GPT 是php 播放源码一种新型 GPT 框架,具备自主迭代、联网查询、自我提示等功能。它能在第一轮对话中接收需求后,自主分解任务并完成,无需人工干预。未来,Auto-GPT 将能调用更多工具和插件,甚至桌面应用,从而极大解放人力。本教程将指导新手如何安装 Auto-GPT 的全部功能。

       一、安装环境

       1. Git 和 Anaconda(Python)安装

       (1)如果已安装 Python,可跳过此步骤。

       (2)安装 Git:访问 git-scm.com/download/wi...

       (3)安装 Anaconda:访问 anaconda.com/,下载并安装

       (4)安装 Python:访问 python.org/downloads/,下载并安装

       二、Auto-GPT 安装

       1. 下载项目

       (1)访问 github.com/Significant-...,复制项目地址

       (2)新建文件夹,按住 Shift 键右键选择“在此处打开 Powershell 窗口”,输入项目地址下载源代码

       (3)解压项目到新建文件夹

       2. 安装依赖库

       (1)打开 Auto-GPT 源码文件夹

       (2)在空白处按住 Shift 键右键选择“在此处打开 Powershell 窗口”,输入命令下载依赖库

       3. 更名与新建

       (1)将 .env.template 改名为 .env

       (2)创建 auto-gpt.json 文件

       三、API-key 获取

       1. OpenAI API-key

       (1)进入 platform.openai.com/acc...

       (2)复制 key,粘贴到 .env 文件中

       2. Pinecone API-key(可选)

       (1)打开 app.pinecone.io/,注册并复制 key

       (2)粘贴 key 到 .env 文件中

       3. Google API-key(可选)

       (1)打开 console.cloud.google.com...

       (2)创建项目,创建 API 密钥,复制 key

       (3)打开 programmablesearchengine.google.com...

       (4)点击“添加”,selenium jar 源码填写信息,复制搜索引擎 ID

       (5)将 key 和搜索引擎 ID 粘贴到 .env 文件中

       4. HuggingFace API-key(可选)

       (1)打开 huggingface.co/settings...

       (2)点击“Access Tokens”,复制 key

       (3)粘贴 key 到 .env 文件中

       5. ElevenLabs API-key(可选)

       (1)打开 beta.elevenlabs.io/

       (2)复制 key 和 voice ID

       (3)将 key 和 voice ID 粘贴到 .env 文件中

       四、运行 Auto-GPT

       1. 打开命令行,cd 到 Auto-GPT 目录下,或打开 Powershell 窗口

       2. 输入命令运行 Auto-GPT,设置任务、目标等参数

       五、解决 APIConnectionError 错误

       在 Python 安装目录下的 site-packages\openai\api_requestor.py 代码中,添加红框内容,并在使用到该函数的地方增加接受 proxy 的变量

自动 GPT 教程:如何设置自动 GPT

       探索自动 GPT 的世界,你准备好了吗?这个教程将带你深入理解如何设置和运用这个强大的人工智能工具。无论你的专业背景,本教程将确保你掌握Auto-GPT,以及它与生成模型的协作原理。它们就像艺术大师和画布,共同创造人工智能的奇迹。

       Auto-GPT的核心价值在于其文本生成和翻译的强大能力,基于生成预训练Transformer(GPT)技术。生成模型就像一个创意无限的艺术家,能根据已有的数据创作出新内容。设置Auto-GPT就像组装拼图,首先,从GitHub等平台获取预训练的GPT模型,然后根据你的需求微调参数,个性化为你的任务服务。

       要实际操作,你需要Python环境,从GitHub获取Auto-GPT源代码。接着,设置API密钥,包括从OpenAI获取的个人密钥和Pinecone等矢量数据库的访问权限。确保妥善保管这些敏感信息,因为它们将决定Auto-GPT的性能。通过一系列命令,你可以激活Auto-GPT与这些服务的连接,使其成为你业务中的得力助手。

       最后,体验Auto-GPT的语音功能,通过ElevenLabs创建API密钥并将其配置在.env文件中。同样,如果你想要生成图像,设置DALL-E并调整图像大小,一切准备就绪,只需在终端中运行命令,人工智能的未来就在你的掌握中。

GPT-Engineer一夜爆火!一个提示生成整个代码库,GitHub狂飙k星

       AI代码生成明星项目GPT-Engineer一夜爆火,短短几天狂揽k星。AutoGPT之后,诞生了又一个明星项目。这是一个根据指示生成代码的AI工具,你只需要「动动嘴」,就能直接构建整个代码库。项目地址:github.com/AntonOsika/g...。

       GPT-Engineer的特色包括:一个提示就能生成一个代码库,提出需要澄清的问题,生成技术规范,编写所有必要代码,易于添加自己的推理步骤、修改和实验,项目开源,分分钟让你完成编码。这预示着未来软件创造将是一个人机共话的时代。

       项目主要作者Anton Osika在6月日首次推出GPT-Engineer,并介绍了这款AI工具最大的特点:简单易用,能够为用户提供价值;灵活且易于添加新的「AI步骤」;支持高级提示,可以记住用户反馈;能快速在AI和人类之间快速切换;所有计算都是「可恢复的」,并持久地保存到文件系统。这个项目独特地方在于,开发者在文本文件中提交需求,GPT-Engineer不是无条件接受这些要求,而是提出许多详细的问题来让程序员澄清缺失的细节。

       GPT-Engineer的工作流程分两个阶段:需求细化促进阶段和软件构建阶段。在需求细化阶段,用户提供的包含软件需求的文本文件被提交给GPT-Engineer,并被放置在OpenAI的GPT的初始消息中,同时还包括确定澄清问题的指示。GPT-Engineer系统接收来自OpenAI GPT-4的反馈,了解哪些需求需要澄清,并回应提示用户澄清的问题。整个过程循环,直到所有问题澄清到OpenAI GPT-4满意为止。在软件构建阶段,前一阶段提炼的需求被打包,并与OpenAI的GPT指令(即系统提示)和另外一套GPT-Engineer希望看到的输出指令(即用户提示)一起包装起来。GPT-Engineer收到来自OpenAI GPT-4的响应,然后创建源代码文件。

       使用GPT-Engineer,你可以创建一个多人可玩的贪吃蛇网页版游戏。你只需要输入一些关键提示,GPT-Engineer就会让你继续回答一些细节的问题,例如游戏规则和机制、玩家互联、游戏状态更新、用户界面、游戏控制、游戏结束状况和代码结构。具体步骤唰唰唰地来了,最后一款完美的贪吃蛇游戏代码就完成了。

       用户反馈显示,「澄清问题」是真正使GPT-Engineer脱颖而出的原因,因为修复生成代码中的问题往往比编写代码本身需要更多的时间。然而,这个项目火虽火,一位网友测试了GPT-Engineer,给出了体验:难设置,实际上不是创建文件,只是让你从命令行中运行一次(即不能调试),与ChatGPT4的能力相当。还有网友对基准指出了问题,GPT-Engineer做了几个简单的编程任务,并将它们作为基准,可以为你快速开发一个currency_converter,但不能正确编码一个pomodoro_timer。

       安装方法:对于稳定版本,使用pip install gpt-engineer;对于开发版,git clone git@github.com:AntonOsika/gpt-engineer.git,cd gpt-engineer,make install,source venv/bin/activate。设置使用GPT4访问权限的API密钥运行:export OPENAI_API_KEY=[your api key]。运行:创建一个空文件夹,如果在repo中,可以运行cp -r projects/example/ projects/my-new-project,在新文件夹中填写 main_prompt,运行gpt-engineer projects/my-new-project。检查 projects/my-new-project/workspace 中生成的文件。

       项目主要作者Anton Osika是Depict.ai的首席技术官,创建了机器学习推荐系统,通过尖端的机器学习、计算机视觉和自然语言处理来理解产品。就在4小时前,他还发了一条动态称,GPT-Engineer已经跃升到k星,一点也没有减速迹象。

参考资料:

github.com/AntonOsika/g...

K&R语法(autoGPT)

       读源码时,发现了一种简洁明了的函数定义方式,对比常规方式,它更便于理解与注释。于是,autoGPT协助我编写了一些示例,以展示这种被称作K&R语法的独特之处。

       K&R语法,源自Brian Kernighan和Dennis Ritchie所著的《C编程语言》第一版,以简洁性著称。与现代C语言语法相比,其主要特点在于其极度简化。以下为K&R语法的关键特性:

       - 缺乏功能原型

       - 无void关键字

       - 没有const关键字

       - 无内联函数

       - 不支持//注释

       尽管K&R语法在功能上相对简陋,但它依然在一些遗留代码库中被使用,主要出于历史和教学的目的。理解K&R语法有助于深入探索C语言的早期发展。

       接下来,通过示例代码,我们来具体了解K&R语法的应用:

       注:main和add是两个独立的实例