Purpose
OmAgent is a Python library for building multimodal language agents, with the goal of enabling developers to rapidly prototype and production-deploy multimodal agents. By encapsulating complex engineering details (such as worker orchestration, task queues, node optimization, etc.), it provides a simple and easy-to-use interface for defining agents.
Main Capabilities
- Multimodal interaction support: Native support for VLM models, real-time APIs, computer vision models, mobile device connections, etc., enabling agents to reason over text, image, video, and audio inputs.
- Flexible agent architecture: Provides a graph-based workflow orchestration engine and multiple memory types, supporting contextual reasoning.
- Reusable component abstraction: Supports building complex agents by aggregating from basic components.
- Advanced algorithms: Built-in unimodal and multimodal agent algorithms such as ReAct, CoT, SC-CoT that go beyond simple LLM reasoning.
- Local deployment: Supports deploying your own models locally via Ollama or LocalAI.
- Distributed architecture: Supports fully distributed deployment and custom extensions, while also providing a Lite mode that requires no middleware deployment.
Usage
- Installation: Use pip to install the latest version of omagent_core:
pip install omagent-core, or install from source:pip install -e omagent-core. - Configuration: Generate the container.yaml file (for example, run in the
examples/step1_simpleVQAdirectorypython compile_container.py), and configure the LLM settings inconfigs/llms/gpt.yml, and you can set the OpenAI API key or compatible endpoint via environment variables:export custom_openai_key="your_openai_api_key"andexport custom_openai_endpoint="your_openai_endpoint". You can also use a locally deployed Ollama to call your own language model. - Run the example: Run the simple VQA demo (web GUI): in the
examples/step1_simpleVQAdirectory executepython run_webpage.py, then openhttp://127.0.0.1:7860to view the interface.
Applicable Scenarios
- Video question-answering agent: Build a system capable of answering any question about an uploaded video, providing a Gradio-based application.
- Mobile personal assistant: Quickly build a personal multimodal assistant similar to Google Astral.
- Agent operators: Define reusable agent workflows (such as CoT, ReAct, etc.), and compare the performance of different reasoning agent operators on the same LLM and test dataset.
Limitations
The materials do not clearly specify the specific limitations.