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.
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/.
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.
-
Clone the repo
git clone https://github.com/inf-monkeys/monkeys.git
-
Go to
monkeys
foldercd monkeys
-
Install Node Modules
yarn
-
Create
config.yaml
cp config.yaml.example config.yaml
-
Run Migrations
yarn migration:run
-
Run the server:
yarn start
-
Go to
ui
foldercd ui
-
Install Node Modules
yarn
-
Update
.env
cp .env.example .env
Set
SERVER_ENDPOINT
to your local server,http://localhost:3000
for example. -
Start UI
yarn dev
-
Open Your browser at
http://localhost:2048
That's all, you are ready to go!
- Awesome Monkey Tools: https://github.com/inf-monkeys/awesome-monkey-tools.
- Write your own tools: https://inf-monkeys.github.io/docs/zh-cn/tools/build-custom-tools/
Contributions of all types are more than welcome; if you are interested in contributing code, feel free to check out our GitHub Issues.