Skip to main content

AutoGen Studio

Project description

AutoGen Studio

PyPI version PyPI - 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

[!WARNING] AutoGen Studio is under active development and is currently not meant to be a production-ready app. Expect breaking changes in upcoming releases. Documentation and the README.md might be outdated.

Updates

  • 2024-11-14: AutoGen Studio is being rewritten to use the updated AutoGen 0.4.0 api AgentChat api.
  • 2024-04-17: 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.
  • 2024-03-12: Default directory for AutoGen Studio is now /home/<USER>/.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/ contains code for the backend classes and web api (FastAPI)
  • frontend/ contains code for the webui, built with Gatsby and TailwindCSS

Installation

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

Install from PyPi (Recommended)

We recommend using a virtual environment (e.g., venv) 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 -U autogenstudio

Install from source

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

Important: Git LFS Requirement

AutoGen Studio uses Git Large File Storage (LFS) for managing image and other large files. If you clone the repository without git-lfs, you'll encounter build errors related to image formats.

Before cloning the repository:

  1. Install git-lfs:

    # On Debian/Ubuntu
    apt-get install git-lfs
    
    # On macOS with Homebrew
    brew install git-lfs
    
    # On Windows with Chocolatey
    choco install git-lfs
    
  2. Set up git-lfs:

    git lfs install
    

If you've already cloned the repository:

git lfs install
git lfs fetch --all
git lfs checkout  # downloads all missing image files to the working directory

This setup is handled automatically if you use the dev container method of installation.

You have two options for installing from source: manually or using a dev container.

A) Install from source manually

  1. Ensure you have Python 3.10+ and Node.js (version above 14.15.0) installed.

  2. Clone the AutoGen Studio repository and install its Python dependencies using pip install -e .

  3. Navigate to the python/packages/autogen-studio/frontend directory, install the dependencies, and build the UI:

    npm install -g gatsby-cli
    npm install --global yarn
    cd frontend
    yarn install
    yarn build
    # Windows users 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
    

B) Install from source using a dev container

  1. Follow the Dev Containers tutorial to install VS Code, Docker and relevant extensions.

  2. Clone the AutoGen Studio repository.

  3. Open python/packages/autogen-studio/in VS Code. Click the blue button in bottom the corner or press F1 and select "Dev Containers: Reopen in Container".

  4. Build the UI:

    cd frontend
    yarn build
    

Running the Application

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

autogenstudio ui --port 8081

This command will start the application on the specified port. Open your web browser and go to http://localhost:8081/ to use 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.
  • --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 .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 URL defaults to a database.sqlite file in the --appdir directory.
  • --upgrade-database argument to upgrade the database schema to the latest version. By default, it is set to False.

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.

Local frontend development server

See ./frontend/README.md

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.
  • 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 proj-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.2.1.tar.gz (3.4 MB view details)

Uploaded Source

Built Distribution

autogenstudio-0.4.2.1-py3-none-any.whl (3.5 MB view details)

Uploaded Python 3

File details

Details for the file autogenstudio-0.4.2.1.tar.gz.

File metadata

  • Download URL: autogenstudio-0.4.2.1.tar.gz
  • Upload date:
  • Size: 3.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for autogenstudio-0.4.2.1.tar.gz
Algorithm Hash digest
SHA256 a209a34ad842d508a99c0d13e50ad5422ffdb85b8890b5aca58d8b156686601c
MD5 a16c4a4fe5d3b10560dbe74e44d5849e
BLAKE2b-256 51ca0fe94d4869625835c87e64d3af4b7b449c1710d03c067d4611e6ce14aaad

See more details on using hashes here.

File details

Details for the file autogenstudio-0.4.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for autogenstudio-0.4.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9eb381c8bad87c724e9bd0e68c8502ead21923973be9e4f5096dc008ab5f0fb6
MD5 379be61a692ee48ed2634c504c4772f9
BLAKE2b-256 f0003f514458f798e99b92a940a678b119d09abf22ce22d172152fc273e45c34

See more details on using hashes here.

Supported by

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