项目介绍
L♾️pGPT:模块化的Auto-GPT框架
L♾️pGPT是一个以模块化和可扩展性为设计理念的Python包项目,是对流行的Auto-GPT项目的重新实现。这个框架不仅是一个命令行工具,更是一个供开发者集成新功能和打造自定义代理的灵活平台。下面将从多个角度详细介绍这个项目。
🚀 主要特点
- 即插即用的API:L♾️pGPT提供了一个扩展性强的"Pythonic"框架,开发者可以轻松通过Python代码添加新功能、集成和自定义代理功能,而无需编写复杂的配置文件。
- GPT-3.5友好:对于没有GPT-4访问权限的用户,L♾️pGPT可以提供比Auto-GPT更优的结果。
- 最小化提示开销:框架在尽可能少使用令牌数的情况下努力获取最佳结果。
- 人机交互:允许人类通过反馈更正走偏的代理。
- 完整的状态序列化功能:支持保存代理的完整状态(包括内存和工具状态)到文件或Python对象中,无需外部数据库或向量存储,但也支持这些选项。
🧑💻 安装指南
从PyPI安装
推荐大多数用户通过以下命令安装最新的稳定版本:
pip install loopgpt
从源码安装
可以选择从源码安装,适合想要获取最新开发版本的用户,但注意该版本可能不稳定:
pip install git+https://www.github.com/farizrahman4u/loopgpt.git@main
使用Docker进行安装
git clone https://www.github.com/farizrahman4u/loopgpt.git
cd loopgpt
docker build -t loopgpt:local-dev .
🏎️ 入门指南
设置OpenAI API密钥
用户需在运行L♾️pGPT之前设置自己的OpenAI API密钥,可以通过创建.env
文件或设置环境变量的方式完成。
创建一个新的L♾️pGPT代理
开发者可以在新Python脚本中创建和配置代理,例如设置名称、描述和目标,并运行代理的命令行界面。
from loopgpt.agent import Agent
agent = Agent()
agent.name = "ResearchGPT"
agent.description = "一个用于研究和寻找最佳科技产品的AI助手"
agent.goals = [
"在Google上搜索最佳耳机",
"分析规格、价格和评价,找出排名前五的耳机",
"将五大热门耳机及其价格写入文件",
"总结每款耳机的优缺点并写入文件'summary.txt'",
]
agent.cli()
连续模式
在设置continuous
为True
时,代理会自动执行命令而无需用户确认,但可能进入无限循环,此模式需谨慎使用。
agent.cli(continuous=True)
💻 仅命令行模式
用户也可以直接从命令行运行L♾️pGPT,而不需编写Python代码:
loopgpt run
运行loopgpt --help
可以查看所有可用选项。
⚒️ 添加自定义工具
L♾️pGPT支持通过继承BaseTool
类来创建自定义工具。开发者可定义工具的功能并集成到代理中。
from loopgpt.tools import BaseTool
class GetWeather(BaseTool):
"""快速获取给定城市的天气
Args:
city (str): 城市名称
Returns:
dict: 城市的天气报告
"""
def run(self, city):
...
开发者可以通过提供API或指令定义工具的运行逻辑,并在代理中注册使用。
🚢 课程修正和状态保存
与Auto-GPT不同,通过提供反馈而不是终止命令,L♾️pGPT会调整代理的行动路线。用户可以随时保存和加载代理状态,以支持长时间运行和复杂任务的持续性。
📋 系统要求
- Python 3.8以上版本
- OpenAI API密钥
- Google Chrome浏览器
可选系统要求
使用Google搜索需要设置GOOGLE_API_KEY
和CUSTOM_SEARCH_ENGINE_ID
。未设置时,系统将默认使用DuckDuckGo搜索。
社区与贡献
对L♾️pGPT感兴趣的用户可以加入其Discord社区,帮助解决难题或贡献代码。项目也欢迎任何形式的协作和支持。