/cogment-tutorial-rps

Cogment tutorial

Primary LanguagePythonApache License 2.0Apache-2.0

Cogment Tutorials

Cogment is an innovative open source AI platform designed to leverage the advent of AI to benefit humankind through human-AI collaboration developed by AI Redefined. Cogment enables AI researchers and engineers to build, train and operate AI agents in simulated or real environments shared with humans. For the full user documentation visit https://docs.cogment.ai

This repository includes sources for the different core Cogment tutorials.

"Rock Paper Scissors" (RPS) tutorial

The RPS tutorial uses the simple game "Rock Paper Scissors" as the context for creating a simple Cogment application from scratch. Detailed instructions are available at docs.cogment.ai.

Basic Tutorials

Basic tutorials go over the key elements of a Cogment application and how they interact

Advanced Tutorials

Advanced tutorials build on fundamental concepts in the basic tutorials to explore more of Cogment's capabilities

Dependencies

The tutorial requires a Unix environment, it has been tested on Macos, Ubuntu and Windows WSL2, the following need to be available:

  • a Python (>=3.7) setup with virtualenv,
  • a Node.JS (>=14) setup (for step 6).

Usage

From each of the step's directory you can run the following.

Install dependencies, run the code generation phase and build the project using

./run.sh install

Then launch the environment, agents and orchestrator services:

./run.sh services_start

For steps 1-5 & 7, in a separate terminal, trigger a trial with:

./run.sh trial_runner_start

For step 6, in a separate terminal, launch the web client using:

./run.sh web_client_start

It should open your web browser to http://localhost:8000 (if not open it manually)

Cogment enterprise tutorial

Cogment Enterprise is the enterprise version of Cogment, it consists of proprietary modules on top of Cogment open source.

Developers

Release process

People having mainteners rights of the repository can follow these steps to release a version MAJOR.MINOR.PATCH. The versioning scheme follows Semantic Versioning.

  1. Run ./scripts/create_release_branch.sh MAJOR.MINOR.PATCH to create the release branch and update the version of the package,
  2. On the release branch, check and update the changelog if needed, update internal dependencies, and make sure everything's fine on CI,
  3. Run ./scripts/tag_release.sh MAJOR.MINOR.PATCH to create the specific version section in the changelog, merge the release branch in main, create the release tag and update the develop branch with those.

Updating the mirror repositories, is handled directly by the CI.