Skip to content

Commit c853bbd

Browse files
Merge branch 'develop' into test_llm
2 parents ff10a2f + e1ce56e commit c853bbd

File tree

97 files changed

+8879
-3012
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+8879
-3012
lines changed

.cursor/rules/nat-setup/nat-toolkit-installation.mdc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ uv venv --seed .venv
5858
uv venv --seed .venv --python 3.11
5959
# or
6060
uv venv --seed .venv --python 3.12
61+
# or
62+
uv venv --seed .venv --python 3.13
6163

6264
# Activate the environment
6365
source .venv/bin/activate
@@ -193,7 +195,7 @@ NeMo Agent Toolkit is ready for development when:
193195

194196
## Common Installation Issues
195197

196-
1. **Python version mismatch**: Ensure Python 3.11 or 3.12 is used
198+
1. **Python version mismatch**: Ensure Python 3.11 or 3.12 or 3.13 is used
197199
2. **Git LFS not installed**: Large files won't download properly
198200
3. **Submodules not initialized**: Some dependencies will be missing
199201
4. **Virtual environment not activated**: Commands may not work

.github/workflows/ci_pipe.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@ on:
3131
description: 'The Python 3.12 container to use for the test stage'
3232
required: true
3333
type: string
34+
py_13_container:
35+
description: 'The Python 3.13 container to use for the test stage'
36+
required: true
37+
type: string
3438
pr_info:
3539
description: 'The JSON string containing the PR information'
3640
required: true
@@ -105,12 +109,14 @@ jobs:
105109
fail-fast: true
106110
matrix:
107111
arch: ["amd64", "arm64"]
108-
python-version: ["3.11", "3.12"]
112+
python-version: ["3.11", "3.12", "3.13"]
109113
include:
110114
- python-version: "3.11"
111115
container: ${{ inputs.py_11_container }}
112116
- python-version: "3.12"
113117
container: ${{ inputs.py_12_container }}
118+
- python-version: "3.13"
119+
container: ${{ inputs.py_13_container }}
114120

115121
env:
116122
CI_PYTHON_VERSION: ${{ matrix.python-version }}

.github/workflows/pr.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,10 @@ jobs:
7979
if: ${{ ! fromJSON(needs.prepare.outputs.has_skip_ci_label) }}
8080
with:
8181
# CI container
82-
container: ghcr.io/astral-sh/uv:python3.12-bookworm
82+
container: ghcr.io/astral-sh/uv:python3.13-bookworm
8383
py_11_container: ghcr.io/astral-sh/uv:python3.11-bookworm
8484
py_12_container: ghcr.io/astral-sh/uv:python3.12-bookworm
85+
py_13_container: ghcr.io/astral-sh/uv:python3.13-bookworm
8586
# Info about the PR. Empty for non PR branches. Useful for extracting PR number, title, etc.
8687
pr_info: ${{ needs.prepare.outputs.pr_info }}
8788
base_sha: ${{ needs.prepare.outputs.base_sha }}

.gitlab-ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ variables:
4242
WORKSPACE_TMP: "${CI_PROJECT_DIR}/.tmp"
4343

4444
default:
45-
image: ghcr.io/astral-sh/uv:python3.12-bookworm
45+
image: ghcr.io/astral-sh/uv:python3.13-bookworm
4646
cache:
4747
- key: $CI_COMMIT_REF_SLUG
4848
paths:

ci/scripts/run_ci_local.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ USE_HOST_GIT=${USE_HOST_GIT:-0}
5656
LOCAL_CI_TMP=${LOCAL_CI_TMP:-${NAT_ROOT}/.tmp/local_ci_tmp/${CI_ARCH}}
5757
DOCKER_EXTRA_ARGS=${DOCKER_EXTRA_ARGS:-""}
5858

59-
CI_CONTAINER=${CI_CONTAINER:-"ghcr.io/astral-sh/uv:python3.12-bookworm"}
59+
CI_CONTAINER=${CI_CONTAINER:-"ghcr.io/astral-sh/uv:python3.13-bookworm"}
6060

6161

6262
# These variables are common to all stages

docker/Dockerfile

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,14 @@
1515

1616
ARG BASE_IMAGE_URL=nvcr.io/nvidia/base/ubuntu
1717
ARG BASE_IMAGE_TAG=22.04_20240212
18-
ARG NAT_VERSION=1.0.0
19-
ARG PYTHON_VERSION=3.12
20-
ARG UV_VERSION=0.8.3
21-
22-
FROM --platform=$TARGETPLATFORM ghcr.io/astral-sh/uv:${UV_VERSION} AS uv_base
23-
24-
FROM --platform=$TARGETPLATFORM ${BASE_IMAGE_URL}:${BASE_IMAGE_TAG} AS base
18+
ARG PYTHON_VERSION=3.13
19+
ARG UV_VERSION=0.8.15
20+
# Specified on the command line with --build-arg NAT_VERSION=$(python -m setuptools_scm)
2521
ARG NAT_VERSION
26-
ARG PYTHON_VERSION
27-
ARG UV_VERSION
2822

29-
COPY --from=uv_base /uv /uvx /bin/
23+
FROM --platform=$TARGETPLATFORM ${BASE_IMAGE_URL}:${BASE_IMAGE_TAG}
24+
25+
COPY --from=ghcr.io/astral-sh/uv:${UV_VERSION} /uv /uvx /bin/
3026

3127
ENV PYTHONDONTWRITEBYTECODE=1
3228

@@ -50,9 +46,10 @@ WORKDIR /workspace
5046
RUN --mount=type=cache,id=uv_cache,target=/root/.cache/uv,sharing=locked \
5147
uv venv --python ${PYTHON_VERSION} /workspace/.venv && \
5248
. /workspace/.venv/bin/activate && \
53-
uv pip install --prerelease=allow "nvidia-nat[crewai, langchain, llama-index, mem0ai, semantic-kernel, zep-cloud] == ${NAT_VERSION}"
49+
test -n "${NAT_VERSION}" || { echo "NAT_VERSION build-arg is required" >&2; exit 1; } && \
50+
uv pip install --prerelease=allow "nvidia-nat[all]==${NAT_VERSION}"
5451

55-
# Enivronment variables for the venv
52+
# Environment variables for the venv
5653
ENV PATH="/workspace/.venv/bin:$PATH"
5754

5855
# Define the entry point to start the nat CLI tool

docs/source/quick-start/installing.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,11 +80,11 @@ NVIDIA NeMo Agent toolkit is a Python library that doesn't require a GPU to run
8080

8181
1. Create a Python environment.
8282
```bash
83-
uv venv --python 3.12 --seed .venv
83+
uv venv --python 3.13 --seed .venv
8484
source .venv/bin/activate
8585
```
8686
:::{note}
87-
Python 3.11 is also supported simply replace `3.12` with `3.11` in the `uv` command above.
87+
Python 3.11 and 3.12 is also supported simply replace `3.13` with `3.11` or `3.12` in the `uv` command above.
8888
:::
8989

9090
1. Install the NeMo Agent toolkit library.

docs/source/tutorials/create-a-new-workflow.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ async def text_file_ingest_function(config: TextFileIngestFunctionConfig, builde
198198

199199
## Creating the Workflow Configuration
200200

201-
Starting from the `custom_config.yml` file you created in the previous section, replace the two `webpage_query` tools with the new `text_file_ingest` tool. For the data source, you can use a collection of text files located in the `examples/documentation_guides/workflows/text_file_ingest/data` directory that describes [DOCA GPUNetIO](https://docs.nvidia.com/doca/sdk/doca+gpunetio/index.html).
201+
Starting from the `custom_config.yml` file you created in the previous section, replace the two `webpage_query` tools with the new `text_file_ingest` tool. For the data source, you can use a collection of text files located in the `examples/documentation_guides/workflows/text_file_ingest/data` directory that describes [DOCA GPUNetIO](https://docs.nvidia.com/doca/sdk/doca-gpunetio/index.html).
202202

203203
:::{note}
204204
<!-- path-check-skip-next-line -->

docs/source/workflows/observe/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ Each exporter has its own detailed configuration guide with complete setup instr
108108
- **[Galileo](https://galileo.ai/)** - See [Observing with Galileo](./observe-workflow-with-galileo.md)
109109
- **[Langfuse](https://langfuse.com/)** - OTLP-compatible observability platform
110110
- **[LangSmith](https://www.langchain.com/langsmith)** - LangChain's observability platform
111-
- **[Patronus](https://patronus.ai/)** - AI evaluation and monitoring platform
111+
- **[Patronus](https://www.patronus.ai/)** - AI evaluation and monitoring platform
112112
- **[Catalyst](https://catalyst.raga.ai/)** - See [Observing with Catalyst](./observe-workflow-with-catalyst.md)
113113
- **[OpenTelemetry Collector](https://opentelemetry.io/docs/collector/)** - See [Observing with OTel Collector](./observe-workflow-with-otel-collector.md)
114114
- **File Export** - Built-in file-based tracing for local development and debugging

examples/HITL/por_to_jiratickets/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ root = "../../.."
1010
name = "nat_por_to_jiratickets"
1111
dynamic = ["version"]
1212
dependencies = ["nvidia-nat[langchain]~=1.3"]
13-
requires-python = ">=3.11,<3.13"
13+
requires-python = ">=3.11,<3.14"
1414
description = "Custom NeMo Agent toolkit Workflow"
1515
classifiers = ["Programming Language :: Python"]
1616

0 commit comments

Comments
 (0)