Loading repository data…
Loading repository data…
om-ai-lab / repository
[EMNLP-2024] Build multimodal language agents for fast prototype and production
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
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.
pip install omagent-core
Or install the latest version from the source code like below.
pip install -e omagent-core
The container.yaml file is a configuration file that manages dependencies and settings for different components of the system. To set up your configuration:
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
Configure your LLM settings in configs/llms/gpt.yml:
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 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:
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.
Build your personal mulitmodal assistant just like Google Astral in 2 minutes. See Details here.
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
More detailed documentation is available here.
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.
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
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}
}