项目介绍
AgentLego 是一个开放源码的库,为基于大型语言模型(LLM)的智能体提供强大灵活的工具API集,旨在扩展和增强它们的能力。以下是AgentLego的几大特点:
- 丰富的工具集:支持多模态的扩展,包括视觉感知、图像生成和编辑、语音处理以及视觉语言推理等。
- 灵活的工具接口:用户可以轻松扩展自定义工具,并支持各种参数类型和输出。
- 便捷的集成:可以方便地与其他基于LLM的智能体框架集成,如LangChain、Transformers Agents 和 Lagent等。
- 支持工具服务和远程访问:尤其适用于那些使用重型机器学习模型(如ViT)或需要特定环境(如GPU和CUDA)的工具。
快速开始
安装
要安装AgentLego,可以使用以下命令:
pip install agentlego
一些工具需要安装额外的依赖包,请根据工具的readme文件检查并确认所有要求。
例如,使用ImageDescription
工具时,需要查看readme的设置部分,安装必要的包:
pip install -U openmim
mim install -U mmpretrain
直接使用工具
以下是如何直接使用工具的例子:
from agentlego import list_tools, load_tool
print(list_tools()) # 列出AgentLego中的工具
image_caption_tool = load_tool('ImageDescription', device='cuda')
print(image_caption_tool.description)
image = './examples/demo.png'
caption = image_caption_tool(image)
集成到智能体框架
AgentLego可以与多种智能体框架集成,如 Lagent、Transformers Agent 以及 VisualChatGPT。
支持的工具
AgentLego支持多种工具,以下是一些主要分类:
通用能力
- Calculator: 使用Python解释器进行计算。
- GoogleSearch: 使用Google进行搜索。
语音相关
- TextToSpeech: 将输入文本转换为音频。
- SpeechToText: 将音频转换为文本。
图像处理相关
- ImageDescription: 描述输入图像的内容。
- OCR: 识别照片中的文本。
- VQA: 基于图像回答问题。
- HumanBodyPose: 估计图像中人的姿势或关键点。
- HumanFaceLandmark: 估计图像中人脸的特征点。
- 各种图像处理工具,如从图像中提取边缘图(ImageToCanny)、深度图(ImageToDepth)和手绘风格图(ImageToScribble)。
AIGC相关
- TextToImage: 根据输入文本生成图片。
- 各种图像编辑工具,如扩展图像(ImageExpansion)、移除或替换对象(ObjectRemove/ObjectReplace)、图像风格化(ImageStylization)。
- ControlNet系列工具用于生成图像。
- ImageBind系列工具用于从音频生成图像等。
授权协议
本项目根据 Apache 2.0 license 发布。用户在使用过程中还需确保遵守所用模型的相关授权协议。