Back to rankings

om-ai-lab/OmAgent

Pythonom-agent.com

[EMNLP-2024] Build multimodal language agents for fast prototype and production

large-language-modelsmultimodal-agentvision-and-languageagentworkflowsmart-hardwarechatbotgpt4language-agentllmmultimodalrag
Star Growth
Stars
2.7k
Forks
293
Weekly Growth
Issues
7
1k2k
Jul 2024Mar 2025Nov 2025Jul 2026
ArtifactsPyPIpip install omagent
README

🌟 Build Multimodal Language Agents with Ease 🌟

X (formerly Twitter) Follow Discord

📖 Introduction

OmAgent is python library for building multimodal language agents with ease. We try to keep the library simple without too much overhead like other agent framework.

  • We wrap the complex engineering (worker orchestration, task queue, node optimization, etc.) behind the scene and only leave you with a super-easy-to-use interface to define your agent.
  • We further enable useful abstractions for reusable agent components, so you can build complex agents aggregating from those basic components.
  • We also provides features required for multimodal agents, such as native support for VLM models, video processing, and mobile device connection to make it easy for developers and researchers building agents that can reason over not only text, but image, video and audio inputs.

🔑 Key Features

  • A flexible agent architecture that provides graph-based workflow orchestration engine and various memory type enabling contextual reasoning.
  • Native multimodal interaction support include VLM models, real-time API, computer vision models, mobile connection and etc.
  • A suite of state-of-the-art unimodal and multimodal agent algorithms that goes beyond simple LLM reasoning, e.g. ReAct, CoT, SC-Cot etc.
  • Supports local deployment of models. You can deploy your own models locally by using OllamaOllama or LocalAI.
  • Fully distributed architecture, supports custom scaling. Also supports Lite mode, eliminating the need for middleware deployment.

🛠️ How To Install

  • python >= 3.10
  • Install omagent_core
    Use pip to install omagent_core latest release.
    pip install omagent-core
    
    Or install the latest version from the source code like below.
    pip install -e omagent-core
    

🚀 Quick Start

Configuration

The container.yaml file is a configuration file that manages dependencies and settings for different components of the system. To set up your configuration:

  1. Generate the container.yaml file:

    cd examples/step1_simpleVQA
    python compile_container.py
    

    This will create a container.yaml file with default settings under examples/step1_simpleVQA. For more information about the container.yaml configuration, please refer to the container module

  2. Configure your LLM settings in configs/llms/gpt.yml:

    • Set your OpenAI API key or compatible endpoint through environment variable or by directly modifying the yml file
    export custom_openai_key="your_openai_api_key"
    export custom_openai_endpoint="your_openai_endpoint"
    

    You can use a locally deployed Ollama to call your own language model. The tutorial is here.

Run the demo

  1. Run the simple VQA demo with webpage GUI:

    For WebpageClient usage: Input and output are in the webpage

    cd examples/step1_simpleVQA
    python run_webpage.py
    

    Open the webpage at http://127.0.0.1:7860, you will see the following interface:

🤖 Example Projects

1. Video QA Agents

Build a system that can answer any questions about uploaded videos with video understanding agents. we provide a gradio based application, see details here.

More about the video understanding agent can be found in paper.

2. Mobile Personal Assistant

Build your personal mulitmodal assistant just like Google Astral in 2 minutes. See Details here.

3. Agentic Operators

We define reusable agentic workflows, e.g. CoT, ReAct, and etc as agent operators. This project compares various recently proposed reasoning agent operators with the same LLM choice and test datasets. How do they perform? See details here.

Algorithm LLM Average gsm8k-score gsm8k-cost($) AQuA-score AQuA-cost($)
SC-COT gpt-3.5-turbo 73.69 80.06 5.0227 67.32 0.6491
COT gpt-3.5-turbo 69.86 78.70 0.6788 61.02 0.0957
ReAct-Pro gpt-3.5-turbo 69.74 74.91 3.4633 64.57 0.4928
POT gpt-3.5-turbo 64.42 76.88 0.6902 51.97 0.1557
IO* gpt-3.5-turbo 38.40 37.83 0.3328 38.98 0.0380

*IO: Input-Output Direct Prompting (Baseline)

More Details in our new repo open-agent-leaderboard and Hugging Face space

💻 Documentation

More detailed documentation is available here.

🤝 Contributing

For more information on how to contribute, see here.
We value and appreciate the contributions of our community. Special thanks to our contributors for helping us improve OmAgent.

🔔 Follow us

You can follow us on X, Discord and WeChat group for more updates and discussions.

If you are intrigued by multimodal large language models, and agent technologies, we invite you to delve deeper into our research endeavors:
🔆 How to Evaluate the Generalization of Detection? A Benchmark for Comprehensive Open-Vocabulary Detection (AAAI24)
🏠 GitHub Repository

🔆 OmDet: Large-scale vision-language multi-dataset pre-training with multimodal detection network (IET Computer Vision)
🏠 Github Repository

⭐️ Citation

If you find our repository beneficial, please cite our paper:

@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}
}
Related repositories
langflow-ai/langflow

Langflow is a powerful tool for building and deploying AI-powered agents and workflows.

PythonPyPIMIT Licensereact-flowchatgpt
langflow.org
152.1k9.6k
rasbt/LLMs-from-scratch

Implement a ChatGPT-like LLM in PyTorch from scratch, step by step

Jupyter NotebookOthergptlarge-language-models
amzn.to/4fqvn0D
99.5k15.3k
mlabonne/llm-course

Course to get into Large Language Models (LLMs) with roadmaps and Colab notebooks.

Apache License 2.0coursellm
mlabonne.github.io/blog/
81.1k9.5k
hiyouga/LlamaFactory

Unified Efficient Fine-Tuning of 100+ LLMs & VLMs (ACL 2024)

PythonPyPIApache License 2.0fine-tuningllama
llamafactory.readthedocs.io
73.4k9k
binary-husky/gpt_academic

为GPT/GLM等LLM大语言模型提供实用化交互接口,特别优化论文阅读/润色/写作体验,模块化设计,支持自定义快捷按钮&函数插件,支持Python和C++等项目剖析&自译解功能,PDF/LaTex论文翻译&总结功能,支持并行问询多种LLM模型,支持chatglm3等本地模型。接入通义千问, deepseekcoder, 讯飞星火, 文心一言, llama2, rwkv, claude2, moss等。

PythonPyPIGNU General Public License v3.0academicchatglm-6b
github.com/binary-husky/gpt_academic/wiki/online
71.1k8.3k
FlowiseAI/Flowise

Build AI Agents, Visually

TypeScriptnpmOtherartificial-intelligencechatgpt
flowiseai.com
54.8k24.7k
hiyouga/LLaMA-Factory

Unified Efficient Fine-Tuning of 100+ LLMs & VLMs (ACL 2024)

PythonPyPIApache License 2.0fine-tuninglanguage-model
huggingface.co/papers/2403.13372
43.5k5.3k
ray-project/ray

Ray is an AI compute engine. Ray consists of a core distributed runtime and a set of AI Libraries for accelerating ML workloads.

PythonPyPIApache License 2.0raydistributed
ray.io
43.3k7.8k
HKUDS/LightRAG

[EMNLP2025] "LightRAG: Simple and Fast Retrieval-Augmented Generation"

PythonPyPIMIT Licenseknowledge-graphlarge-language-models
arxiv.org/abs/2410.05779
37.9k5.3k
google/langextract

A Python library for extracting structured information from unstructured text using LLMs with precise source grounding and interactive visualization.

PythonPyPIApache License 2.0llmnlp
pypi.org/project/langextract/
37.6k2.6k
langfuse/langfuse

🪢 Open source AI engineering platform: LLM evals, observability, metrics, prompt management, playground, datasets. Integrates with OpenTelemetry, LangChain, OpenAI SDK, LiteLLM, and more. 🍊YC W23

TypeScriptnpmOtheranalyticsllm
langfuse.com
31.5k3.3k
stanford-oval/storm

An LLM-powered knowledge curation system that researches a topic and generates a full-length report with citations.

PythonPyPIMIT Licenselarge-language-modelsnlp
storm.genie.stanford.edu
30.2k2.8k