kodosumi framework to execute and orchestrate agentic services safe and at scale
Project description
>kodosumi
[!NOTE]
This is an early development version of kodosumi. The documentation is under development, too. See the key concepts.
kodosumi is a runtime environment to manage and execute agentic services at scale. The system is based on ray - a distributed computing framework - and a combination of litestar and fastapi to deliver men/machine interaction.
kodosumi is one component of a larger ecosystem with masumi and sokosumi.
introduction
kodosumi consists of three main building blocks:
- The Ray cluster to execute agentic services at scale.
- The kodosumi web interface and API services.
- Agentic Services delivered through kodosumi and executed through Ray.
installation
This installation has been tested with versions ray==2.44.1 and python==3.12.6.
STEP 1 - clone and install kodosumi.
git clone https://github.com/masumi-network/kodosumi.git
cd kodosumi
git checkout feature/candidate
python -m venv .venv
source .venv/bin/activate
pip install -e .
STEP 2 - start ray as a daemon.
ray start --head
Check ray status with ray status and visit ray dashboard at http://localhost:8265. For more information about ray visit ray's documentation.
STEP 3 - prepare environment
To use openai API you need to create a local file .env to define the following API keys:
OPENAI_API_KEY=...
EXA_API_KEY=...
SERPER_API_KEY=...
STEP 4 - deploy example apps with ray serve
Deploy the example services available in folder ./apps. Use file apps/config.yaml.
serve deploy apps/config.yaml
Please be patient if the Ray serve applications take a while to setup, install and deploy. Follow the deployment process with the Ray dashboard at http://localhost:8265/#/serve. On my laptop initial deployment takes three to four minutes.
STEP 5 - start kodosumi
Finally start the kodosumi components and register ray endpoints available at http://localhost:8001/-/routes.
koco start --register http://localhost:8001/-/routes
STEP 6 - Look around
Visit kodosumi admin panel at http://localhost:3370. The default user is defined in config.py and reads name=admin and password=admin. If one or more Ray serve applications are not yet available when kodosumi starts, you need to refresh the list of registered flows. Visit Routes Screen at (http://localhost:3370/admin/routes in the Admin Panel at http://localhost:3370/admin/flow. See also the OpenAPI documents with Swagger http://localhost:3370/schema/swagger.
If all went well, then you see a couple of test services. Be aware you need some OpenAPI, Exa and Serper API keys if you want to use all Agentic Services.
Stop the kodosumi services and spooler by hitting CNTRL+C in the corresponding terminal. Stop Ray serve with serve shutdown --yes. Stop the ray daemon with command ray stop.
development notes
The development notes provide an overview for various flavours on how to run and deploy agentic services.
Follow the examples:
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kodosumi-0.8.0.tar.gz.
File metadata
- Download URL: kodosumi-0.8.0.tar.gz
- Upload date:
- Size: 953.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f07c68f06b4eac04aaddf288aa3238b5d6545bd41f46604d608eb0b01d9de8f1
|
|
| MD5 |
03222ebb2ca155e3051b228237d533d8
|
|
| BLAKE2b-256 |
f1d66633307f32efda659c299b7741ab38547d86b43d8242976fef7c7b2c9681
|
File details
Details for the file kodosumi-0.8.0-py3-none-any.whl.
File metadata
- Download URL: kodosumi-0.8.0-py3-none-any.whl
- Upload date:
- Size: 467.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a9a67e772a6ac74c83f3264e2c39c5537b62c5033365adb7164ee8e1c366cc7c
|
|
| MD5 |
a01f9d36b40f9de0245c37382305356b
|
|
| BLAKE2b-256 |
9704f2b98c44bc4638a271eec8eef4d655598900351ae1533582d56788531ab3
|