Skip to content

inf-monkeys/monkeys

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Monkeys - Build Workflow-Centric AI applications

License GitHub stars GitHub forks

Monkeys is an open source tool for build workflow-centric AI applications.

Note: We are currently iterating rapidly, so backwards compatibility is not guaranteed until a stable version (1.0.0) is released.

Table of contents

TOC


πŸ“š Documentation

Show brief Architecture

Monkeys Consists of the following key components:

  • Monkeys Server: The main entrypoint
  • Conductor: A microservices orchestration engine.
  • Tools: HTTP Service exposes standard RESTFul API that meet Monkeys standards, can be writen in any languages, deployed anywhere.

You can read the documentation here: https://inf-monkeys.github.io/docs/.

πŸƒβ€β™‚οΈ Get Started

🐳 Docker

πŸ‘¨β€πŸ’» Developer

Prerequisites
  • Node 18: This project requires node version at least 18.

  • yarn: We use yarn as the Node Package Manager.

  • Conductor(Optional): Conductor is a workflow orchestration engine, we recommand use Docker and docker-compose to run Conductor, with one command bellow:

    cd docker
    docker-compose -f docker-compose-middleware.yaml up -d

    You can verify whether conductor running corrctly by use the following command:

    curl http://localhost:8080/api

    If show something like this, it's working fine:

    {"timestamp":"2024-03-21T10:29:36.635+00:00","status":404,"error":"Not Found","path":"/api"}
    

    Or you can open your browser visit http://localhost:5008, which you can see the Conductor UI:

    If you do not install conductor, you won't be able to use the Workflow feature, but others still works fine.

  • Redis(Optional): We use inmemory cache as default, for test purpose, you can just skip this.

  • Postgres/MySQL(Optional): We use sqlite as default storage engine, for test purpose, you can just skip this.

Use Sqlite may encounter some issues, your can report an issue.


Backend

  1. Clone the repo

    git clone https://github.com/inf-monkeys/monkeys.git
  2. Go to monkeys folder

    cd monkeys
  3. Install Node Modules

    yarn
  4. Create config.yaml

    cp config.yaml.example config.yaml
  5. Run Migrations

    yarn migration:run
  6. Run the server:

    yarn start

Frontend

  1. Go to ui folder

    cd ui
  2. Install Node Modules

    yarn
  3. Update .env

    cp .env.example .env

    Set SERVER_ENDPOINT to your local server, http://localhost:3000 for example.

  4. Start UI

    yarn dev
  5. Open Your browser at http://localhost:2048

That's all, you are ready to go!

πŸ“¦ Ecosystem

🀝 Contributing

Contributions of all types are more than welcome; if you are interested in contributing code, feel free to check out our GitHub Issues.