OmAgent是一个复杂的多模态智能代理系统,致力于利用多模态大语言模型和其他多模态算法来完成有趣的任务。OmAgent项目包含了一个轻量级的智能代理框架omagent_core,专门设计用于解决多模态挑战。利用这个框架,我们构建了一个复杂的长视频理解系统——OmAgent。当然,你也可以自由地使用它来实现任何创新想法。
OmAgent包括三个核心组件:
更多详情,请查看我们的论文**OmAgent: 一个用于复杂视频理解的多模态代理框架,采用任务分治方法**
cd omagent-core pip install -e .
cd .. pip install -r requirements.txt
创建配置文件并设置一些必要的变量
cd workflows/general && vim config.yaml
| 配置名称 | 用途 |
|---|---|
| custom_openai_endpoint | 调用OpenAI GPT或其他MLLM的API地址,格式:{custom_openai_endpoint}/chat/completions |
| custom_openai_key | MLLM提供商提供的api_key |
| bing_api_key | Bing的api key,用于网络搜索 |
设置run.py
def run_agent(task): logging.init_logger("omagent", "omagent", level="INFO") registry.import_module(project_root=Path(__file__).parent, custom=["./engine"]) bot_builder = Builder.from_file("workflows/general") # 通用任务处理工作流配置目录 input = DnCInterface(bot_id="1", task=AgentTask(id=0, task=task)) bot_builder.run_bot(input) return input.last_output if __name__ == "__main__": run_agent("你的查询") # 输入你的查询
通过运行python run.py启动OmAgent。
使用docker部署milvus向量数据库。该向量数据库用于存储视频特征向量,并根据查询检索相关向量以减少MLLM计算。尚未安装docker?请参考docker安装指南。
# 下载milvus启动脚本 curl -sfL https://raw.githubusercontent.com/milvus-io/milvus/master/scripts/standalone_embed.sh -o standalone_embed.sh # 以单机模式启动milvus bash standalone_embed.sh start
可选 配置人脸识别算法。人脸识别算法可以作为工具被代理调用,但这是可选的。你可以通过修改workflows/video_understanding/tools/video_tools.json配置文件并移除FaceRecognition部分来禁用此功能。默认的人脸识别数据库存储在data/face_db目录中,不同的文件夹对应不同的个人。
可选 开放词汇检测(ovd)服务,用于增强OmAgent识别各种物体的能力。ovd工具依赖于此服务,但它是可选的。你可以通过以下步骤禁用ovd工具。从workflows/video_understanding/tools/video_tools.json中移除以下内容:
{ "name": "ObjectDetection", "ovd_endpoint": "$<ovd_endpoint::http://host_ip:8000/inf_predict>", "model_id": "$<ovd_model_id::OmDet-Turbo_tiny_SWIN_T>" }
如果使用ovd工具,我们以OmDet为例进行演示。
pip install pydantic fastapi uvicorn
wsgi.py文件以将OmDet推理暴露为API
将OmDet推理API代码复制到wsgi.pycd OmDet && vim wsgi.py
python wsgi.py
下载一些有趣的视频
创建配置文件并设置一些必要的环境变量
cd workflows/video_understanding && vim config.yaml
配置MLLM和工具的API地址和API密钥。
| 配置名称 | 用途 |
|---|---|
| custom_openai_endpoint | 调用OpenAI GPT或其他MLLM的API地址,格式:{custom_openai_endpoint}/chat/completions |
| custom_openai_key | 相应API提供商提供的api_key |
| bing_api_key | Bing的api密钥,用于网络搜索 |
| ovd_endpoint | ovd工具API地址。如果使用OmDet,地址应为http://host:8000/inf_predict |
| ovd_model_id | ovd工具使用的模型ID。如果使用OmDet,模型ID应为OmDet-Turbo_tiny_SWIN_T |
设置run.py
def run_agent(task): logging.init_logger("omagent", "omagent", level="INFO") registry.import_module(project_root=Path(__file__).parent, custom=["./engine"]) bot_builder = Builder.from_file("workflows/video_understanding") # 视频理解任务工作流配置目录 input = DnCInterface(bot_id="1", task=AgentTask(id=0, task=task)) bot_builder.run_bot(input) return input.last_output if __name__ == "__main__": run_agent("") # 你将在控制台中被提示输入查询
通过运行python run.py启动OmAgent。输入你想处理的视频路径,稍等片刻,然后输入你的查询,OmAgent将根据查询进行回答。
如果你对多模态算法、大型语言模型和代理技术感兴趣,我们邀请你深入了解我们的研究工作:
🔆 如何评估检测的泛化性?一个用于全面开放词汇检测的基准(AAAI24)
🏠 Github仓库
🔆 OmDet:具有多模态检测网络的大规模视觉-语言多数据集预训练(IET计算机视觉)
🏠 Github仓库
如果你觉得我们的仓库有用,请引用我们的论文:
@article{zhang2024omagent, title={OmAgent: A Multi-modal Agent Framework for Complex Video Understanding with Task Divide-and-Conquer}, author={Zhang, Lu and Zhao, Tiancheng and Ying, Heting and Ma, Yibo and Lee, Kyusong}, journal={arXiv preprint arXiv:2406.16620}, year={2024} }


AI一键生成PPT,就用博思AIPPT!
博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。


AI赋能电商视觉革命,一站式智能商拍平台
潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。


企业专属的AI法律顾问
iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。


稳定高效的流量提升解决方案,助力品牌曝光
稳定高效的流量提升解决方案,助力品牌曝光


最新版Sora2模型免费使用,一键生成无水印视频
最新版Sora2模型免费使用,一键生成无水印视频


实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。


选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


最强AI数据分析助手
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。


像人一样思考的AI智能体
imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号