Skip to content

FlexiAI: A dynamic and modular AI framework leveraging Multi-Agent Systems and Retrieval Augmented Generation (RAG) for seamless integration with OpenAI and Azure OpenAI services.

License

Notifications You must be signed in to change notification settings

SavinRazvan/flexiai

Repository files navigation

FlexiAI

CI License: MIT Python Versions PyPI version Downloads

FlexiAI is a dynamic and modular AI framework designed to leverage the power of Multi-Agent Systems and Retrieval Augmented Generation (RAG). This framework is ideal for developers seeking to integrate AI capabilities into their applications with ease and flexibility. With FlexiAI, you can harness the power of both OpenAI and Azure OpenAI services to create intelligent agents that can manage tasks, process data, and provide advanced AI-driven solutions.

Introduction Video

Learn more about FlexiAI by watching the following introductory video:

Watch the video

Table of Contents

Features

  • Flexible AI Management: Central hub for managing AI operations including:
    • Thread Management: Handle and organize multiple threads of conversation.
    • Message Management: Manage messages within threads.
    • Run Management: Create and monitor runs for processing tasks.
    • Session Management: Maintain user sessions for continuity.
    • Vector Store Management: Manage vector stores for embedding and retrieval.
    • Image Generation: Create and manipulate images using AI models.
    • Audio Management: Advanced audio handling including:
      • Speech-to-Text
      • Text-to-Speech
      • Audio Transcription
      • Audio Translation
    • Embedding Management: Handle text embeddings for various NLP tasks.
    • Multi-Agent System: Manage multiple AI agents concurrently to handle various tasks efficiently.
  • Retrieval Augmented Generation (RAG): Enhance the AI's capabilities by integrating retrieval mechanisms to provide enriched and contextually relevant responses.
    • Comprehensive Task Management: Organize, execute, and manage a variety of tasks with the integrated TaskManager, enabling AI assistants to take actions and retrieve real-time data from your personal computer or cloud services.
  • Flexible Credential Management: Seamlessly switch between OpenAI and Azure OpenAI credentials.
  • Extensible Architecture: Easily extend and customize the framework with user-defined functions and tasks.
  • Robust Logging: Comprehensive logging for effective debugging and monitoring.
  • Secure and Scalable: Suitable for both small projects and large enterprise applications.
  • Actively Maintained: Continuously improved and supported by the project's developer.
  • Parallel Execution: Execute tasks and tool calls in parallel for improved performance.

Installation

For setting up starter files and detailed installation instructions, please refer to the Installation.

Documentation

The FlexiAI framework comes with comprehensive documentation to help you get started and make the most out of its capabilities:

Examples

  • Basic Flask App

FlexiAI includes a basic Flask application to demonstrate how to integrate the framework with a web server. This app provides endpoints for managing threads, messages, and sessions.

  • CLI Basic Chat

The framework also includes a basic CLI chat example, which shows how to create a simple command-line interface for interacting with AI assistants.

Contributing

We welcome contributions from the community. If you want to contribute to FlexiAI, please read our Contributing Guide to get started.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contact

For any inquiries or support, please contact Savin Ionut Razvan at [email protected].