Skip to main content

AutoGen Studio

Project description

AutoGen Studio

PyPI version Downloads

ARA

AutoGen Studio is an AutoGen-powered AI app (user interface) to help you rapidly prototype AI agents, enhance them with skills, compose them into workflows and interact with them to accomplish tasks. It is built on top of the AutoGen framework, which is a toolkit for building AI agents.

Code for AutoGen Studio is on GitHub at microsoft/autogen

Note: AutoGen Studio is meant to help you rapidly prototype multi-agent workflows and demonstrate an example of end user interfaces built with AutoGen. It is not meant to be a production-ready app.

[!WARNING] AutoGen Studio is currently under active development and we are iterating quickly. Kindly consider that we may introduce breaking changes in the releases during the upcoming weeks, and also the README might be outdated. Please see the AutoGen Studio docs page for the most up-to-date information.

Updates

Nov 14: AutoGen Studio is being rewritten to use the updated AutoGen 0.4.0 api AgentChat api. April 17: AutoGen Studio database layer is now rewritten to use SQLModel (Pydantic + SQLAlchemy). This provides entity linking (skills, models, agents and workflows are linked via association tables) and supports multiple database backend dialects supported in SQLAlchemy (SQLite, PostgreSQL, MySQL, Oracle, Microsoft SQL Server). The backend database can be specified a --database-uri argument when running the application. For example, autogenstudio ui --database-uri sqlite:///database.sqlite for SQLite and autogenstudio ui --database-uri postgresql+psycopg://user:password@localhost/dbname for PostgreSQL.

March 12: Default directory for AutoGen Studio is now /home//.autogenstudio. You can also specify this directory using the --appdir argument when running the application. For example, autogenstudio ui --appdir /path/to/folder. This will store the database and other files in the specified directory e.g. /path/to/folder/database.sqlite. .env files in that directory will be used to set environment variables for the app.

Project Structure:

  • autogenstudio/ code for the backend classes and web api (FastAPI)
  • frontend/ code for the webui, built with Gatsby and TailwindCSS

Installation

There are two ways to install AutoGen Studio - from PyPi or from source. We recommend installing from PyPi unless you plan to modify the source code.

  1. Install from PyPi

    We recommend using a virtual environment (e.g., conda) to avoid conflicts with existing Python packages. With Python 3.10 or newer active in your virtual environment, use pip to install AutoGen Studio:

    pip install autogenstudio
    
  2. Install from Source

    Note: This approach requires some familiarity with building interfaces in React.

    If you prefer to install from source, ensure you have Python 3.10+ and Node.js (version above 14.15.0) installed. Here's how you get started:

    • Clone the AutoGen Studio repository and install its Python dependencies:

      pip install -e .
      
    • Navigate to the samples/apps/autogen-studio/frontend directory, install dependencies, and build the UI:

      npm install -g gatsby-cli
      npm install --global yarn
      cd frontend
      yarn install
      yarn build
      

For Windows users, to build the frontend, you may need alternative commands to build the frontend.

  gatsby clean && rmdir /s /q ..\\autogenstudio\\web\\ui 2>nul & (set \"PREFIX_PATH_VALUE=\" || ver>nul) && gatsby build --prefix-paths && xcopy /E /I /Y public ..\\autogenstudio\\web\\ui

Running the Application

Once installed, run the web UI by entering the following in your terminal:

autogenstudio ui --port 8081

This will start the application on the specified port. Open your web browser and go to http://localhost:8081/ to begin using AutoGen Studio.

AutoGen Studio also takes several parameters to customize the application:

  • --host <host> argument to specify the host address. By default, it is set to localhost. Y
  • --appdir <appdir> argument to specify the directory where the app files (e.g., database and generated user files) are stored. By default, it is set to the a .autogenstudio directory in the user's home directory.
  • --port <port> argument to specify the port number. By default, it is set to 8080.
  • --reload argument to enable auto-reloading of the server when changes are made to the code. By default, it is set to False.
  • --database-uri argument to specify the database URI. Example values include sqlite:///database.sqlite for SQLite and postgresql+psycopg://user:password@localhost/dbname for PostgreSQL. If this is not specified, the database URIL defaults to a database.sqlite file in the --appdir directory.

Now that you have AutoGen Studio installed and running, you are ready to explore its capabilities, including defining and modifying agent workflows, interacting with agents and sessions, and expanding agent skills.

If running from source

When running from source, you need to separately bring up the frontend server.

  1. Open a separate terminal and change directory to the frontend
cd frontend
  1. Create a .env.development file.
cp .env.default .env.development
  1. Launch frontend server
npm run start

Contribution Guide

We welcome contributions to AutoGen Studio. We recommend the following general steps to contribute to the project:

  • Review the overall AutoGen project contribution guide
  • Please review the AutoGen Studio roadmap to get a sense of the current priorities for the project. Help is appreciated especially with Studio issues tagged with help-wanted
  • Please initiate a discussion on the roadmap issue or a new issue to discuss your proposed contribution.
  • Please review the autogenstudio dev branch here dev branch and use as a base for your contribution. This way, your contribution will be aligned with the latest changes in the AutoGen Studio project.
  • Submit a pull request with your contribution!
  • If you are modifying AutoGen Studio, it has its own devcontainer. See instructions in .devcontainer/README.md to use it
  • Please use the tag studio for any issues, questions, and PRs related to Studio

FAQ

Please refer to the AutoGen Studio FAQs page for more information.

Acknowledgements

AutoGen Studio is Based on the AutoGen project. It was adapted from a research prototype built in October 2023 (original credits: Gagan Bansal, Adam Fourney, Victor Dibia, Piali Choudhury, Saleema Amershi, Ahmed Awadallah, Chi Wang).

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autogenstudio-0.4.0.dev1.tar.gz (1.9 MB view details)

Uploaded Source

Built Distribution

autogenstudio-0.4.0.dev1-py3-none-any.whl (2.0 MB view details)

Uploaded Python 3

File details

Details for the file autogenstudio-0.4.0.dev1.tar.gz.

File metadata

  • Download URL: autogenstudio-0.4.0.dev1.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for autogenstudio-0.4.0.dev1.tar.gz
Algorithm Hash digest
SHA256 ec85aa3a0a1cf65d7b72cf62bff178419d3a9ccccc1c3a20944594bc3a89e903
MD5 2590c709d0e2d28e08ea85b1180e247d
BLAKE2b-256 28396369eec9345947dbebd2c50e8c8bd6f0ef5febfc6daf281b9717617d4279

See more details on using hashes here.

File details

Details for the file autogenstudio-0.4.0.dev1-py3-none-any.whl.

File metadata

File hashes

Hashes for autogenstudio-0.4.0.dev1-py3-none-any.whl
Algorithm Hash digest
SHA256 2ae48dca1c8db013ef2ad2251f72866cefeadf3919e5589dc4b1ed0b12fb98b6
MD5 e96ab148648f6da3a5aedc9f86db3241
BLAKE2b-256 8dd19f6e8da5e6c65fafc68ee151cc5de6f6528eead11296b1f0366e339882b8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page