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.
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 go over the key elements of a Cogment application and how they interact
- Step 1: Download and Run an Empty Cogment App for RPS
- Step 2: Enable Actors to Send Actions to the Environment
- Step 3: Enable the Environment to Send Observations to the Actors
- Step 4: Modify One Actor's Implementation
Advanced tutorials build on fundamental concepts in the basic tutorials to explore more of Cogment's capabilities
- Step 5: Add a human player in the loop
- Step 6: Implement a web client for the human player
- Step 7: Improve operational efficiency with the Cogment Directory
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).
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 is the enterprise version of Cogment, it consists of proprietary modules on top of Cogment open source.
People having mainteners rights of the repository can follow these steps to release a version MAJOR.MINOR.PATCH. The versioning scheme follows Semantic Versioning.
- Run
./scripts/create_release_branch.sh MAJOR.MINOR.PATCH
to create the release branch and update the version of the package, - On the release branch, check and update the changelog if needed, update internal dependencies, and make sure everything's fine on CI,
- Run
./scripts/tag_release.sh MAJOR.MINOR.PATCH
to create the specific version section in the changelog, merge the release branch inmain
, create the release tag and update thedevelop
branch with those.
Updating the mirror repositories, is handled directly by the CI.