cogment
Cogment platform, Cogment is the first open source platform designed to address the challenges of continuously training humans and AI together.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.0%) to scientific vocabulary
Keywords
Repository
Cogment platform, Cogment is the first open source platform designed to address the challenges of continuously training humans and AI together.
Basic Info
- Host: GitHub
- Owner: cogment
- License: apache-2.0
- Language: Go
- Default Branch: main
- Homepage: https://cogment.ai
- Size: 1.99 MB
Statistics
- Stars: 26
- Watchers: 1
- Forks: 4
- Open Issues: 0
- Releases: 56
Topics
Metadata Files
README.md
cogment
Cogment enables AI researchers and engineers to build, train, and operate AI agents in simulated or real environments shared with humans. Developed by AI Redefined, Cogment is the first open source platform designed to address the challenges of continuously training humans and AI together. For the full user documentation visit https://docs.cogment.ai
This repository includes the the main Cogment module, a multi-platform stand alone CLI including:
- The orchestrator service, the heart of Cogment, it executes the trials involving actors and environments by orchestrating the different user implemented services.
- The trial datastore service, that is able to store and make available the data generated by the trials.
- The model registry service, that let's user store AI models and make them available to actor implementations during training and in production.
- The init tool to bootstrap cogment project locally (Deprecated).
- The run tool to define and run commands within a cogment project (Deprecated).
Installation
Standalone binary (preferred)
Download the install script and make sure you can run it using
console
curl --silent -L https://raw.githubusercontent.com/cogment/cogment/main/install.sh --output install-cogment.sh
chmod +x install-cogment.sh
Download and install the latest final version using
console
sudo ./install-cogment.sh
Other installation options are available using ./install-cogment.sh --help
For futher installation options please refer to cogment's installation guide.
Docker image
console
docker pull cogment/cogment
Developers
This repository is organized in 3 different packages grouped the packages folder:
grpc_apiis the gRPC api, consisting of protocol buffers.protodefinition files,orchestratoris the orchestrator library, developed in C++,cliis the host executable, developed in Go, it integrates the orchestrator and includes the other services and tools.
A CMake based systems glues the build of both together
Prerequisites
- Fully working c++ build toolchain.
- Fully working go setup (1.20), as described in the official documentation.
Cmake(>= 3.10), the core of the build system, it should be installed as described in the official documentation.Make, most flavor should work fine.- Optional,
golangci-lint(v1.53.3) used to run lint on the golang codebase, installed as described in the official documentation. - Optional,
clang-format(10) used to run lint on the c++ codebase, it can be installed on most linux flavor from https://apt.llvm.org and on mac usingbrew install clang-format. - Optional, a docker installation to be able to build the docker image.
Build
At the root of the repository you'll find the following scripts:
build_docker.shbuilds the docker image.build_linux.shbuilds the linux amd64 binary.build_macos.shbuilds the macos amd64 & arm64 binaries.build_windows.batbuilds the windows amd64 binary.build_all_no_orchestrator.shbuilds the binary for all supported platforms (linux/amd64, macos/amd64, macos/arm64 and windows/amd64) without the embedded orchestrator.
The build results are store in the ./install directory per platform.
Those scripts run CMake and create a build directory, per platform, in the ./build directory. Further build target are available there, especially for testing of code formatting.
Formatting & coding style
orchestrator_lintandorchestrator_fix_lintrespectively check and fix the code formatting of the c++ orchestrator codebase usingclang-format.cli_lintandcli_fix_lintrespectively check and fix the code formatting of the go cli codebase usinggolangci-lint
./build_linux.sh lintor./build_macos.sh lintcan be used as a shortcut to run both linters.
Test
cli_testruns a suite of tests over the go cli codebase.
./build_linux.sh testor./build_macos.sh testcan be used as a shortcut to run tests.
Benchmark
cli_benchmarkruns a suite of benchmarks over the go cli codebase.
Release process
People having maintainers 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.PATCHto create the release branch and update the version of the package, - On the release branch, check and update the changelog if needed,
- Make sure everything's fine on CI,
- Run
./scripts/tag_release.sh MAJOR.MINOR.PATCHto create the specific version section in the changelog, merge the release branch inmain, create the release tag and update thedevelopbranch with those.
The rest, publishing the package to dockerhub and updating the mirror repositories, is handled directly by the CI.
Owner
- Name: Cogment
- Login: cogment
- Kind: organization
- Website: https://cogment.ai
- Repositories: 6
- Profile: https://github.com/cogment
Citation (CITATION.cff)
cff-version: "1.2.0"
message: "If you use Cogment in your research, please cite the article from `preferred-citation`."
title: "Cogment"
authors:
- family-names: AI Redefined
website: https://ai-r.com
license: Apache-2.0
url: https://cogment.ai
repository: https://github.com/cogment/cogment
preferred-citation:
type: "article"
title: "Cogment: Open Source Framework For Distributed Multi-actor Training, Deployment & Operations"
year: 2021
url: https://arxiv.org/abs/2106.11345v1
authors:
- family-names: AI Redefined
website: https://ai-r.com
- affiliation: AI Redefined
family-names: Gottipati
given-names: Sai Krishna
- affiliation: AI Redefined
family-names: Kurandwad
given-names: Sagar
- affiliation: AI Redefined
family-names: Mars
given-names: "Clodéric"
- affiliation: AI Redefined
family-names: Szriftgiser
given-names: Gregory
- affiliation: AI Redefined
family-names: Chabot
given-names: "François"
GitHub Events
Total
- Watch event: 1
- Fork event: 3
Last Year
- Watch event: 1
- Fork event: 3
Committers
Last synced: almost 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Clodéric Mars | c****c@a****m | 317 |
| Yves | y****s@a****m | 173 |
| Air-sara | s****a@a****m | 76 |
| Emma Coutu | e****a@c****o | 29 |
| Francois Chabot | f****s@a****m | 19 |
| Clodéric Mars | c****c@h****m | 13 |
| Vincent ROBERT | v****t@a****m | 12 |
| François Chabot | f****s@a****m | 11 |
| Julien Potvin | j****n@a****m | 8 |
| Irv Lustigman | i****v@a****m | 4 |
| Brian Gariepy | b****n@a****m | 3 |
| Jonathan Michael Fisher | j****n@a****m | 2 |
| Sara Brazille | b****a@g****m | 2 |
| Emma Coutu | e****a@a****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: almost 3 years ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 64
proxy.golang.org: github.com/cogment/cogment
- Documentation: https://pkg.go.dev/github.com/cogment/cogment#section-documentation
- License: apache-2.0
-
Latest release: v2.22.0+incompatible
published over 2 years ago
Rankings
Dependencies
- github.com/bradleyjkemp/cupaloy v2.3.0+incompatible
- github.com/codeskyblue/dockerignore v0.0.0-20151214070507-de82dee623d9
- github.com/grpc-ecosystem/go-grpc-middleware v1.3.0
- github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0
- github.com/hashicorp/golang-lru v0.5.4
- github.com/imdario/mergo v0.3.11
- github.com/improbable-eng/grpc-web v0.14.1
- github.com/jinzhu/copier v0.1.0
- github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024
- github.com/magiconair/properties v1.8.1
- github.com/markbates/pkger v0.17.1
- github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f
- github.com/mwitkow/grpc-proxy v0.0.0-20181017164139-0f1106ef9c76
- github.com/olekukonko/tablewriter v0.0.5
- github.com/openlyinc/pointy v1.1.2
- github.com/rogpeppe/go-internal v1.3.0
- github.com/sirupsen/logrus v1.8.1
- github.com/spf13/afero v1.2.2
- github.com/spf13/cobra v0.0.5
- github.com/spf13/viper v1.7.1
- github.com/stretchr/testify v1.7.0
- go.etcd.io/bbolt v1.3.6
- golang.org/x/net v0.0.0-20211005215030-d2e5035098b3
- golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
- golang.org/x/sys v0.0.0-20211004093028-2c5d950f24ef
- golang.org/x/text v0.3.7
- google.golang.org/genproto v0.0.0-20211005153810-c76a74d43a8e
- google.golang.org/grpc v1.41.0
- google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0
- google.golang.org/protobuf v1.27.1
- gopkg.in/yaml.v2 v2.3.0
- 631 dependencies
- cogment ==1.0
- cogment ==1.0
- cogment ==1.0
- cogment ==1.0
- ${ORCHESTRATOR_DEPENDENCIES_IMAGE} latest build
- ubuntu 20.04 build