You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/workflows/docker.yaml
+7-25Lines changed: 7 additions & 25 deletions
Original file line number
Diff line number
Diff line change
@@ -17,51 +17,33 @@ env:
17
17
18
18
jobs:
19
19
build-and-push-image:
20
-
runs-on: self-hosted
21
-
timeout-minutes: 240# wait up to 4 hours
22
-
# Sets the permissions granted to the `GITHUB_TOKEN` for the actions in this job.
20
+
runs-on: ubuntu-latest
23
21
permissions:
24
22
contents: read
25
23
packages: write
26
-
attestations: write
27
-
id-token: write
24
+
28
25
steps:
29
26
- name: Checkout repository
30
-
uses: actions/checkout@v5
31
-
# Uses the `docker/login-action` action to log in to the Container registry registry using the account and password that will publish the packages. Once published, the packages are scoped to the account defined here.
27
+
uses: actions/checkout@v3
28
+
32
29
- name: Log in to the Container registry
33
30
uses: docker/login-action@v2
34
31
with:
35
32
registry: ${{ env.REGISTRY }}
36
33
username: ${{ github.actor }}
37
34
password: ${{ secrets.GITHUB_TOKEN }}
38
-
# This step uses [docker/metadata-action](https://github.com/docker/metadata-action#about) to extract tags and labels that will be applied to the specified image. The `id` "meta" allows the output of this step to be referenced in a subsequent step. The `images` value provides the base name for the tags and labels.
35
+
39
36
- name: Extract metadata (tags, labels) for Docker
40
37
id: meta
41
-
uses: docker/metadata-action@v5
38
+
uses: docker/metadata-action@v4
42
39
with:
43
40
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
44
-
tags: |
45
-
type=match,pattern=\d.\d.\d
46
-
type=sha
47
-
# This step uses the `docker/build-push-action` action to build the image, based on your repository's `Dockerfile`. If the build succeeds, it pushes the image to GitHub Packages.
48
-
# It uses the `context` parameter to define the build's context as the set of files located in the specified path. For more information, see [Usage](https://github.com/docker/build-push-action#usage) in the README of the `docker/build-push-action` repository.
49
-
# It uses the `tags` and `labels` parameters to tag and label the image with the output from the "meta" step.
41
+
50
42
- name: Build and push Docker image
51
-
id: push
52
43
uses: docker/build-push-action@v4
53
44
with:
54
45
context: .
55
46
push: true
56
47
file: scripts/docker/dockerfile
57
-
shm-size: 64g
58
48
tags: ${{ steps.meta.outputs.tags }}
59
49
labels: ${{ steps.meta.outputs.labels }}
60
-
61
-
# This step generates an artifact attestation for the image, which is an unforgeable statement about where and how it was built. It increases supply chain security for people who consume the image. For more information, see [Using artifact attestations to establish provenance for builds](/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds).
**AgentJet (AJet)** has fully-distributed **swarm training** capability, which means that you can **deploy `ajet-swarm start` in GPU server(s) and then start training agents in your laptop(s)**! Simply provide your agent workflow, training dataset, and reward function, and AgentJet will be ready to go!
18
18
19
+
## ✈️ News
20
+
21
+
- 2026.3.30 LoRA training example is now online! See [tutorial/example_math_lora](tutorial/example_math_lora/) for an example.
22
+
- 2026.3.26 Upgrade verl backend to 0.7.1 to support more models and increase training speed! All [benchmark](https://benchmark.agentjet.top/) verified.
23
+
- 2026.3.19 Support for latest Qwen3.5 models is [in progress](https://github.com/modelscope/AgentJet/pull/16).
24
+
- 2026.3.12 Tuning Original OpenClaw Agent without Editing Any Agent Code. [EN Blog](https://modelscope.github.io/AgentJet/en/example_openclaw/) / [ZH Blog](https://modelscope.github.io/AgentJet/en/example_openclaw.zh/).
Let's begin with the simplest AgentJet Swarm example: also a math agent. In this case, you can use any GPU-less laptop to train the model remotely.
39
48
40
-
1. Start swarm server and begin swarm overwatch: `ajet-swarm start`and`ajet-swarm overwatch`.
49
+
1. Start swarm server and begin swarm overwatch: `ajet-swarm start`and`ajet-swarm overwatch`. (Alternative: if you are a fan of docker, use our [prebuilt docker image here](docs/en/ajet-swarm-docker.md) without setting up dependencies)
41
50
2. From your laptop (or swarm server localhost), run [this simple script](https://github.com/modelscope/AgentJet/blob/main/tutorial/example_math_swarm/math.py) to begin training:
We aim to build a easy-to-learn Agent tuner that unlock more possibilities for agent developers:
75
+
We aim to build an easy-to-learn Agent tuner that unlocks more possibilities for agent developers:
53
76
54
77
-**Easy and Friendly**. AgentJet helps you tune models behind your agent workflows easily, optimizing your agents for top performance with minimal effort.
55
78
-**Rich Tutorial Library**. AgentJet provides a rich library of [examples](https://github.com/modelscope/AgentJet/tree/main/tutorial) as tutorials.
56
-
-**Swarm Training**. [This unique feature](https://modelscope.github.io/AgentJet/en/swarm_intro_blog_english/) of AgentJet opens many possibilities: deploying distributed &self-healing rollout workers, **non-shared-parameter multi-agent** training, **multi-runtime & multi-task cocktail** training. And just like Tinker, you can use AgentJet Swarm to train **models even on **GPU-less laptop(s)**.
57
-
-**Efficient and Scalable**. AgentJet uses [verl] as the default backbone (`--backbone=verl`). However, we also support trinity as alternative backbone, accelerating your tuning process via fully asynchronous RFT.
79
+
-**Swarm Training**. [This unique feature](https://modelscope.github.io/AgentJet/en/swarm_intro_blog_en/) of AgentJet opens many possibilities: deploying distributed &self-healing rollout workers, **non-shared-parameter multi-agent** training, **multi-runtime & multi-task cocktail** training. And just like Tinker, you can use AgentJet Swarm to train models even on **GPU-less laptop(s)**.
80
+
-**Efficient and Scalable**. AgentJet uses [verl] as the default backbone (`--backbone=verl`). However, we also support trinity asan alternative backbone, accelerating your tuning process via fully asynchronous RFT.
58
81
-**Flexible and Fast**. AgentJet supports [multi-agent workflows](https://modelscope.github.io/AgentJet/en/workflow/) and adopts a context merging technique, accelerating training by 1.5x to 10x when the workflow involves multi-turn (or multi-agent) conversations.
59
82
-**Reliability and Reproducibility**. Our team keeps track of framework performance across multiple [tasks + major-git-version + training-backbones](https://benchmark.agentjet.top/) (under construction, still gathering data, coming soon).
60
83
@@ -68,6 +91,11 @@ For advanced researchers, AgentJet also provides high-resolution logging and deb
@@ -124,8 +152,17 @@ The internal system orchestrates several specialized modules to handle the compl
124
152
***Task Runner**: Executes the Agent workflow and calculates rewards.
125
153
***Model Tuner**: Forwards inference requests from the workflow to the LLM engine.
126
154
***Context Tracker**: Monitors LLM calls and automatically merges shared-history timelines to improve training efficiency by **1.5x to 10x**.
127
-
***Swarm Server**: A data interchange center that accept OpenAI-like requests and engine instructions, activated only in AgentJet Swarm mode.
155
+
***Swarm Server**: A data interchange center that accepts OpenAI-like requests and engine instructions, activated only in AgentJet Swarm mode.
156
+
157
+
#### 3. Swarm Architecture
158
+
159
+
When swarm training mode is enabled, an additional component will be activated:
128
160
161
+
***Swarm Data Interchange Server**: Maintains HTTP service, listens to swarm instructions and OpenAI compatible requests. Establishes a high-speed zmq communication channel to coordinate other modules.
0 commit comments