LoopGPT:模块化的Auto-GPT框架
LoopGPT是一个重新实现的Auto-GPT项目,以Python包的形式呈现,专注于模块化和可扩展性设计。它为开发者和研究人员提供了一个强大而灵活的工具,用于创建和部署自主AI代理。
🚀 主要特性
-
"即插即用"API: LoopGPT提供了一个可扩展和模块化的"Pythonic"框架,不仅仅是一个命令行工具。开发者可以轻松地添加新功能、集成和自定义代理能力,全部通过Python代码实现,无需复杂的配置文件。
-
GPT-3.5友好: 对于尚未获得GPT-4访问权限的用户,LoopGPT能够提供比Auto-GPT更好的结果。这使得更多开发者能够利用先进的语言模型技术。
-
最小化提示开销: LoopGPT团队不断努力,以最少的token数量获得最佳结果。这种优化确保了更高效的资源利用和更快的响应时间。
-
人机交互: LoopGPT允许用户通过反馈来"纠正"偏离轨道的代理。这种交互式方法使得AI代理能够更好地适应用户的需求和期望。
-
完整状态序列化: LoopGPT可以保存代理的完整状态,包括记忆和工具状态,到文件或Python对象中。这意味着用户可以随时暂停和恢复代理的工作,无需外部数据库或向量存储(尽管这些仍然受支持)。
🧑💻 安装和使用
LoopGPT的安装非常简单,可以通过PyPI、源代码或Docker进行安装。以下是通过PyPI安装的方法:
pip install loopgpt
使用LoopGPT创建一个AI代理也很直观。以下是一个简单的例子:
from loopgpt.agent import Agent
agent = Agent()
agent.name = "ResearchGPT"
agent.description = "an AI assistant that researches and finds the best tech products"
agent.goals = [
"Search for the best headphones on Google",
"Analyze specs, prices and reviews to find the top 5 best headphones",
"Write the list of the top 5 best headphones and their prices to a file",
"Summarize the pros and cons of each headphone and write it to a different file called 'summary.txt'",
]
agent.cli()
⚒️ 自定义工具
LoopGPT的一大亮点是其可扩展性,允许开发者创建自定义工具。例如,我们可以创建一个天气查询工具:
from loopgpt.tools import BaseTool
import requests
class GetWeather(BaseTool):
"""Quickly get the weather for a given city
Args:
city (str): name of the city
Returns:
dict: The weather report for the city
"""
def run(self, city):
try:
url = f"https://wttr.in/{city}?format=%l+%C+%h+%t+%w+%p+%P"
data = requests.get(url).text.split(" ")
keys = ("location", "condition", "humidity", "temperature", "wind", "precipitation", "pressure")
data = dict(zip(keys, data))
return data
except Exception as e:
return f"An error occurred while getting the weather: {e}."
🚢 课程纠正
与Auto-GPT不同,当用户拒绝执行命令时,LoopGPT的代理不会终止。相反,它会要求用户提供反馈以纠正其行动方向。这种方法使得AI代理能够更好地适应和学习,提高其整体性能和用户满意度。
💾 保存和加载代理状态
LoopGPT提供了方便的方法来保存和加载代理状态:
# 保存代理状态
agent.save("ResearchGPT.json")
# 加载代理状态
import loopgpt
agent = loopgpt.Agent.load("ResearchGPT.json")
agent.cli()
这一功能使得长期任务和多次会话变得更加容易管理。
📋 系统要求
- Python 3.8+
- OpenAI API密钥
- Google Chrome (用于某些功能)
对于官方Google搜索支持,还需要设置GOOGLE_API_KEY
和CUSTOM_SEARCH_ENGINE_ID
环境变量。
🌳 社区和贡献
LoopGPT是一个开源项目,欢迎社区贡献。开发团队鼓励用户提出问题、提交PR,或加入他们的Discord社区寻求帮助和讨论。
总的来说,LoopGPT为AI代理开发提供了一个强大、灵活且用户友好的框架。无论是研究人员、开发者还是AI爱好者,都可以利用LoopGPT来创建智能、自主的AI应用程序。随着项目的不断发展和社区的贡献,我们可以期待看到更多创新和令人兴奋的应用场景。
图: LoopGPT演示界面
通过提供这样一个强大而灵活的框架,LoopGPT正在推动AI代理技术的边界,为未来的AI应用开发铺平道路。无论您是想创建一个简单的任务自动化工具,还是构建复杂的AI助手,LoopGPT都为您提供了所需的工具和灵活性。随着AI技术的不断发展,像LoopGPT这样的项目将在塑造未来的人工智能应用中发挥关键作用。