Skip to content

Latest commit

 

History

History
142 lines (106 loc) · 5.87 KB

README_FR.md

File metadata and controls

142 lines (106 loc) · 5.87 KB

OmAgent

X (formerly Twitter) Follow Discord

English | 中文 | 日本語 | Français


🗓️ Mises à jour récentes

  • 20/10/2024 : Nous nous engageons activement à développer la version 2.0.0 🚧 De nouvelles fonctionnalités passionnantes sont en cours ! Vous êtes invités à nous rejoindre sur X et Discord~
  • 20/09/2024 : Notre article a été accepté par EMNLP 2024 ! Rejoignez-nous à Miami ! 🏝
  • 04/07/2024 : Le projet open-source OmAgent est officiellement lancé ! 🎉
  • 24/06/2024 : Publication de l'article de recherche OmAgent.

📖 Introduction

OmAgent est un système intelligent et multimodal avancé, conçu pour exploiter la puissance des grands modèles de langage multimodal et d'algorithmes innovants afin d'accomplir des tâches complexes. Le projet OmAgent comprend un cadre léger, omagent_core, développé pour relever les défis liés au multimodal. Il est adaptable à vos propres idées et cas d'usage !

Les trois principaux composants d'OmAgent sont :

  • Video2RAG : Transforme la compréhension de longues vidéos en une tâche RAG multimodale, avec l'avantage de dépasser les limitations liées à la longueur des vidéos. Attention toutefois à la perte potentielle de détails durant le prétraitement.
  • DnCLoop : Inspiré par la méthode algorithmique « Diviser pour Régner », ce module permet une approche itérative de résolution de problèmes complexes, en décomposant chaque tâche jusqu'à ce qu'elle soit facile à résoudre.
  • Rewinder : Conçu pour pallier la perte de détails induite par le prétraitement dans Video2RAG, Rewinder permet aux agents de revisiter des moments clés des vidéos pour recueillir des informations supplémentaires.

Pour plus d'informations, consultez notre article : OmAgent : Un cadre d'agent multimodal pour la compréhension vidéo complexe avec Diviser pour Régner.


🛠️ Installation

Prérequis

  • Python ≥ 3.10

  • Installation de omagent_core :

    cd omagent-core
    pip install -e .
  • Installation des autres dépendances :

    cd ..
    pip install -r requirements.txt

🚀 Démarrage rapide

Traitement des tâches générales

  1. Créez un fichier de configuration config.yaml et définissez les variables requises :

    cd workflows/general
    vim config.yaml
    Nom de la configuration Utilisation
    custom_openai_endpoint API pour OpenAI GPT ou un autre modèle, format : {custom_openai_endpoint}/chat/completions
    custom_openai_key Clé API fournie par le fournisseur du modèle de langage
    bing_api_key Clé API de Bing pour la recherche Web
  2. Configurez run.py pour exécuter l'agent :

    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("Votre requête ici")
  3. Démarrez OmAgent en exécutant :

    python run.py

🧠 Tâche de compréhension vidéo

Préparation de l'environnement

  • Optionnel : Par défaut, OmAgent utilise Milvus Lite comme base de données vectorielle pour stocker les données. Vous pouvez déployer la version complète via Docker si nécessaire :

    curl -sfL https://raw.githubusercontent.com/milvus-io/milvus/master/scripts/standalone_embed.sh -o standalone_embed.sh
    bash standalone_embed.sh start
  • Optionnel : Algorithme de reconnaissance faciale. Vous pouvez désactiver cette fonctionnalité dans video_tools.json si elle n'est pas nécessaire.

    Si vous activez cette option, la base de données des visages est située dans data/face_db.

  • Optionnel : Intégration d'OmDet pour la détection d'objets dans les vidéos.

    1. Installez OmDet depuis son dépôt.
    2. Exposez l'inférence en tant qu'API via FastAPI :
      pip install pydantic fastapi uvicorn

🔗 Travaux associés

⭐️ Citation

Si ce projet vous est utile, veuillez citer notre article :

@article{zhang2024omagent,
  title={OmAgent: A Multi-modal Agent Framework for Complex Video Understanding with Task Divide-and-Conquer},
  author={Zhang, Lu et al.},
  journal={arXiv preprint arXiv:2406.16620},
  year={2024}
}