Skip to main content

No project description provided

Project description

GUM (General User Models)

arXiv

Documentation

We have some early auto-generated docs here: docs/gum.md

This is very much an alpha release---things will get a lot cleaner and less buggy very soon. In the mean time, feel free to follow the instructions below.

Installation

[!WARNING] This repository uses GPT 4.1 as a placeholder. However, we STRONGLY encourage users to deploy their own local models to serve GUMs. Our paper uses Qwen 2.5 VL and Llama 3.3. We use the OpenAI ChatCompletions API, but awesome open source inference projects like vLLM support the endpoint.

The easiest way to set up is to download the package from pip:

pip install gum-ai

Alternatively, you can install from source. As of now, we've only tested MacOS:

git clone https://github.com/GeneralUserModels/gum
cd gum
pip install -e .

Usage

  1. Make sure you've set up your ENV variables. Create a .env file with an OPENAI_API_KEY.

  2. Basic setup:

# Make sure to set OPENAI API ENV variables

import asyncio
from gum import gum
from gum.observers import Screen

async def main():
    async with gum("Omar Shaikh", Screen()):
        await asyncio.Future() # run forever (Ctrl-C to stop)

if __name__ == "__main__":
    asyncio.run(main())
  1. Use the example to start a server:
python examples/start_gum.py -u "Your Name"
  1. Setting up an MCP:

Check out this repository for using GUMs with MCP.

Project Structure

  • gum/: Main package directory
    • gum.py: Core functionality and gum classes
    • models.py: Database models and schemas
    • db_utils.py: Database utilities
    • observers/: Observer implementations
    • cli.py: Command-line interface
    • prompts/: Prompt templates

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License

Citation and Paper

If you're interested in reading more, please check out our paper!

Creating General User Models from Computer Use

@misc{shaikh2025creatinggeneralusermodels,
    title={Creating General User Models from Computer Use}, 
    author={Omar Shaikh and Shardul Sapkota and Shan Rizvi and Eric Horvitz and Joon Sung Park and Diyi Yang and Michael S. Bernstein},
    year={2025},
    eprint={2505.10831},
    archivePrefix={arXiv},
    primaryClass={cs.HC},
    url={https://arxiv.org/abs/2505.10831}, 
}

Project details


Download files

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

Source Distribution

gum_ai-0.1.1.tar.gz (22.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gum_ai-0.1.1-py3-none-any.whl (24.8 kB view details)

Uploaded Python 3

File details

Details for the file gum_ai-0.1.1.tar.gz.

File metadata

  • Download URL: gum_ai-0.1.1.tar.gz
  • Upload date:
  • Size: 22.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for gum_ai-0.1.1.tar.gz
Algorithm Hash digest
SHA256 4d81a8afa437cd8074241eb08acf4c2b0237c17b9a194ef661be905d07640332
MD5 8edc9abc5ad212fccac2269e88c287f1
BLAKE2b-256 a1843ade208e693c6e76914c7c7de07b094a3a0aecb579336b720db2018cd0c0

See more details on using hashes here.

File details

Details for the file gum_ai-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: gum_ai-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 24.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for gum_ai-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b3a745b5d2a99ecad6c991b6bf1093f5424e684a41140d618a6d39f24b135476
MD5 5f5f4639cfd3cedcb48732b923b130a5
BLAKE2b-256 a1bef10d0a946f05c734310bf67d2256b34b2207cb1d6540c4fc3488bd06a1e4

See more details on using hashes here.

Supported by

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