Skip to content

docs: update the automated function description example#1028

Merged
rapids-bot[bot] merged 2 commits intoNVIDIA:release/1.3from
willkill07:wkk_automated-description-clarification
Oct 17, 2025
Merged

docs: update the automated function description example#1028
rapids-bot[bot] merged 2 commits intoNVIDIA:release/1.3from
willkill07:wkk_automated-description-clarification

Conversation

@willkill07
Copy link
Member

@willkill07 willkill07 commented Oct 17, 2025

Description

Based on QA feedback, include a better prompt and tweak the configuration for consistency.

By Submitting this PR I confirm:

  • I am familiar with the Contributing Guidelines.
  • We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
    • Any contribution which contains commits that are not Signed-Off will not be accepted.
  • When the PR is ready for review, new or existing tests cover these changes.
  • When the PR is ready for review, the documentation is up to date with these changes.

Summary by CodeRabbit

  • Documentation

    • Substantially updated automated workflow example with a detailed narrative, expanded timestamped logs, revised agent inputs/actions/tool interactions, and refreshed example query wording.
    • Clarified and tightened tool descriptions and workflow outputs for improved readability and accuracy.
  • Chores

    • Adjusted embedder configuration to include explicit temperature settings.

… config

Signed-off-by: Will Killian <wkillian@nvidia.com>
@willkill07 willkill07 requested a review from a team as a code owner October 17, 2025 15:43
@coderabbitai
Copy link

coderabbitai bot commented Oct 17, 2025

Walkthrough

Updated example configs and README for the automated_description_generation example: added temperature: 0.0 to milvus embedder entries, tightened the CUDA tool description wording, removed base_url under nim_llm in README, adjusted a collection name formatting, and substantially rewrote README workflow outputs and examples.

Changes

Cohort / File(s) Change Summary
Configuration files
examples/custom_functions/automated_description_generation/src/nat_automated_description_generation/configs/config.yml, .../config_no_auto.yml
Added temperature: 0.0 to embedders.milvus_embedder; updated cuda_tool description from "This tool retrieves information about NVIDIA's CUDA library" to "This tool can only retrieve information about NVIDIA's CUDA library."
Documentation / Example
examples/custom_functions/automated_description_generation/README.md
Removed base_url entry under nim_llm; changed collection_name formatting to wikipedia_docs; replaced and reworded shell command example; large rewrite of expected/observed workflow logs, timestamps, agent inputs/thoughts/actions, tool interactions, and the automated description generation narrative.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The pull request title "docs: update the automated function description example" is concise at 55 characters (well under the ~72 character limit) and uses imperative mood with "update" as the main verb. The title is directly related to the changeset, which includes updates to README.md and configuration files (config.yml and config_no_auto.yml) that modify tool descriptions, add temperature configurations, and restructure the automated description generation example with new workflow narratives and outputs. The title accurately summarizes the primary focus of the changes without being vague or misleading.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c45ea75 and d312d0a.

📒 Files selected for processing (1)
  • examples/custom_functions/automated_description_generation/README.md (6 hunks)
🧰 Additional context used
📓 Path-based instructions (3)
**/README.@(md|ipynb)

📄 CodeRabbit inference engine (.cursor/rules/general.mdc)

Ensure READMEs follow the naming convention; avoid deprecated names; use “NeMo Agent Toolkit” (capital T) in headings

Files:

  • examples/custom_functions/automated_description_generation/README.md
**/*

⚙️ CodeRabbit configuration file

**/*: # Code Review Instructions

  • Ensure the code follows best practices and coding standards. - For Python code, follow
    PEP 20 and
    PEP 8 for style guidelines.
  • Check for security vulnerabilities and potential issues. - Python methods should use type hints for all parameters and return values.
    Example:
    def my_function(param1: int, param2: str) -> bool:
        pass
  • For Python exception handling, ensure proper stack trace preservation:
    • When re-raising exceptions: use bare raise statements to maintain the original stack trace,
      and use logger.error() (not logger.exception()) to avoid duplicate stack trace output.
    • When catching and logging exceptions without re-raising: always use logger.exception()
      to capture the full stack trace information.

Documentation Review Instructions - Verify that documentation and comments are clear and comprehensive. - Verify that the documentation doesn't contain any TODOs, FIXMEs or placeholder text like "lorem ipsum". - Verify that the documentation doesn't contain any offensive or outdated terms. - Verify that documentation and comments are free of spelling mistakes, ensure the documentation doesn't contain any

words listed in the ci/vale/styles/config/vocabularies/nat/reject.txt file, words that might appear to be
spelling mistakes but are listed in the ci/vale/styles/config/vocabularies/nat/accept.txt file are OK.

Misc. - All code (except .mdc files that contain Cursor rules) should be licensed under the Apache License 2.0,

and should contain an Apache License 2.0 header comment at the top of each file.

  • Confirm that copyright years are up-to date whenever a file is changed.

Files:

  • examples/custom_functions/automated_description_generation/README.md
examples/**/*

⚙️ CodeRabbit configuration file

examples/**/*: - This directory contains example code and usage scenarios for the toolkit, at a minimum an example should
contain a README.md or file README.ipynb.

  • If an example contains Python code, it should be placed in a subdirectory named src/ and should
    contain a pyproject.toml file. Optionally, it might also contain scripts in a scripts/ directory.
  • If an example contains YAML files, they should be placed in a subdirectory named configs/. - If an example contains sample data files, they should be placed in a subdirectory named data/, and should
    be checked into git-lfs.

Files:

  • examples/custom_functions/automated_description_generation/README.md
🪛 markdownlint-cli2 (0.18.1)
examples/custom_functions/automated_description_generation/README.md

148-148: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


255-255: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

🔇 Additional comments (5)
examples/custom_functions/automated_description_generation/README.md (5)

313-321: Blockquote formatting is correct.

Lines 315-318 properly use blockquote syntax with the ">" prefix. This resolves the MD040 concern from the previous review.


119-119: Verify intentional collection_name formatting difference.

The collection_name is specified differently in two configuration examples: without quotes at line 119 (wikipedia_docs) and with quotes at line 221 ("wikipedia_docs"). Both are valid YAML, but the inconsistency could confuse readers about the correct format.

If this reflects intentional documentation of both approaches, clarify with an inline comment. If unintentional, standardize to one format.

Also applies to: 221-221


1-21: Copyright header is current and compliant.

The Apache License 2.0 header is present with current copyright years (2024-2025). Licensing is in order.


144-194: Console output examples are clear and demonstrate intended workflow behavior.

The updated workflow outputs effectively contrast the failure scenario (without automated description generation) against the success scenario (with it). Timestamps are realistic, and the examples clearly illustrate the tool's value. Content is accurate and free of obvious errors.

Also applies to: 250-311


100-137: Configuration examples are well-structured and consistent.

Both YAML configuration blocks demonstrate proper syntax and clearly show the addition of temperature: 0.0 to the embedder configurations. The examples effectively support the documentation narrative.

Also applies to: 202-245


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@willkill07 willkill07 added doc Improvements or additions to documentation non-breaking Non-breaking change labels Oct 17, 2025
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (1)
examples/custom_functions/automated_description_generation/src/nat_automated_description_generation/configs/config.yml (1)

35-35: Minor: Inconsistent YAML string quoting style across config files.

In config_no_auto.yml, line 35 uses collection_name: wikipedia_docs (unquoted), while this file uses collection_name: "wikipedia_docs" (quoted). Both are valid YAML, but maintaining consistent quoting style across configuration files improves readability. Consider standardizing this across both config files in a future cleanup.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f7e1120 and c45ea75.

📒 Files selected for processing (3)
  • examples/custom_functions/automated_description_generation/README.md (6 hunks)
  • examples/custom_functions/automated_description_generation/src/nat_automated_description_generation/configs/config.yml (2 hunks)
  • examples/custom_functions/automated_description_generation/src/nat_automated_description_generation/configs/config_no_auto.yml (2 hunks)
🧰 Additional context used
📓 Path-based instructions (6)
**/*.{yaml,yml}

📄 CodeRabbit inference engine (.cursor/rules/nat-test-llm.mdc)

In workflow/config YAML, set llms.._type: nat_test_llm to stub responses.

Files:

  • examples/custom_functions/automated_description_generation/src/nat_automated_description_generation/configs/config.yml
  • examples/custom_functions/automated_description_generation/src/nat_automated_description_generation/configs/config_no_auto.yml
**/*.{py,yaml,yml}

📄 CodeRabbit inference engine (.cursor/rules/nat-test-llm.mdc)

**/*.{py,yaml,yml}: Configure response_seq as a list of strings; values cycle per call, and [] yields an empty string.
Configure delay_ms to inject per-call artificial latency in milliseconds for nat_test_llm.

Files:

  • examples/custom_functions/automated_description_generation/src/nat_automated_description_generation/configs/config.yml
  • examples/custom_functions/automated_description_generation/src/nat_automated_description_generation/configs/config_no_auto.yml
**/configs/**

📄 CodeRabbit inference engine (.cursor/rules/general.mdc)

Configuration files consumed by code must be stored next to that code in a configs/ folder

Files:

  • examples/custom_functions/automated_description_generation/src/nat_automated_description_generation/configs/config.yml
  • examples/custom_functions/automated_description_generation/src/nat_automated_description_generation/configs/config_no_auto.yml
**/*

⚙️ CodeRabbit configuration file

**/*: # Code Review Instructions

  • Ensure the code follows best practices and coding standards. - For Python code, follow
    PEP 20 and
    PEP 8 for style guidelines.
  • Check for security vulnerabilities and potential issues. - Python methods should use type hints for all parameters and return values.
    Example:
    def my_function(param1: int, param2: str) -> bool:
        pass
  • For Python exception handling, ensure proper stack trace preservation:
    • When re-raising exceptions: use bare raise statements to maintain the original stack trace,
      and use logger.error() (not logger.exception()) to avoid duplicate stack trace output.
    • When catching and logging exceptions without re-raising: always use logger.exception()
      to capture the full stack trace information.

Documentation Review Instructions - Verify that documentation and comments are clear and comprehensive. - Verify that the documentation doesn't contain any TODOs, FIXMEs or placeholder text like "lorem ipsum". - Verify that the documentation doesn't contain any offensive or outdated terms. - Verify that documentation and comments are free of spelling mistakes, ensure the documentation doesn't contain any

words listed in the ci/vale/styles/config/vocabularies/nat/reject.txt file, words that might appear to be
spelling mistakes but are listed in the ci/vale/styles/config/vocabularies/nat/accept.txt file are OK.

Misc. - All code (except .mdc files that contain Cursor rules) should be licensed under the Apache License 2.0,

and should contain an Apache License 2.0 header comment at the top of each file.

  • Confirm that copyright years are up-to date whenever a file is changed.

Files:

  • examples/custom_functions/automated_description_generation/src/nat_automated_description_generation/configs/config.yml
  • examples/custom_functions/automated_description_generation/README.md
  • examples/custom_functions/automated_description_generation/src/nat_automated_description_generation/configs/config_no_auto.yml
examples/**/*

⚙️ CodeRabbit configuration file

examples/**/*: - This directory contains example code and usage scenarios for the toolkit, at a minimum an example should
contain a README.md or file README.ipynb.

  • If an example contains Python code, it should be placed in a subdirectory named src/ and should
    contain a pyproject.toml file. Optionally, it might also contain scripts in a scripts/ directory.
  • If an example contains YAML files, they should be placed in a subdirectory named configs/. - If an example contains sample data files, they should be placed in a subdirectory named data/, and should
    be checked into git-lfs.

Files:

  • examples/custom_functions/automated_description_generation/src/nat_automated_description_generation/configs/config.yml
  • examples/custom_functions/automated_description_generation/README.md
  • examples/custom_functions/automated_description_generation/src/nat_automated_description_generation/configs/config_no_auto.yml
**/README.@(md|ipynb)

📄 CodeRabbit inference engine (.cursor/rules/general.mdc)

Ensure READMEs follow the naming convention; avoid deprecated names; use “NeMo Agent Toolkit” (capital T) in headings

Files:

  • examples/custom_functions/automated_description_generation/README.md
🪛 markdownlint-cli2 (0.18.1)
examples/custom_functions/automated_description_generation/README.md

148-148: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


255-255: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


317-317: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🔇 Additional comments (6)
examples/custom_functions/automated_description_generation/src/nat_automated_description_generation/configs/config_no_auto.yml (2)

28-28: Temperature field correctly added to milvus_embedder configuration.

Adding temperature: 0.0 ensures deterministic embeddings, which is a best practice for reproducible retrieval behavior.


45-45: Tool description improved for clarity.

The updated description explicitly conveys the tool's limitations, making it clearer to the agent that this tool is specific to CUDA information retrieval. This aligns with the PR objective of providing better prompts based on QA feedback.

examples/custom_functions/automated_description_generation/src/nat_automated_description_generation/configs/config.yml (1)

28-28: Embedder configuration and tool description changes are consistent with config_no_auto.yml.

Both changes appropriately reflect the QA feedback mentioned in the PR objectives.

Also applies to: 45-45

examples/custom_functions/automated_description_generation/README.md (3)

112-112: Embedder configuration changes are clearly documented.

The README correctly reflects the added temperature: 0.0 field in both configuration examples, maintaining consistency with the actual config files.

Also applies to: 214-214


129-129: Tool descriptions consistently updated across documentation.

Both configuration examples in the README reflect the improved CUDA tool description "This tool can only retrieve information about NVIDIA's CUDA library," which clarifies the tool's scope and intent.

Also applies to: 231-231


145-145: Command examples appropriately updated per QA feedback.

The example queries have been refined from "List 5 subspecies of Aardvark" to "List all known subspecies of Aardvark," providing clearer and more open-ended test cases for demonstrating the workflow behavior.

Also applies to: 252-252

Signed-off-by: Will Killian <wkillian@nvidia.com>
@willkill07
Copy link
Member Author

/merge

@rapids-bot rapids-bot bot merged commit dd40b16 into NVIDIA:release/1.3 Oct 17, 2025
17 checks passed
bbednarski9 pushed a commit to bbednarski9/NeMo-Agent-Toolkit that referenced this pull request Oct 20, 2025
Based on QA feedback, include a better prompt and tweak the configuration for consistency.

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **Documentation**
  * Substantially updated automated workflow example with a detailed narrative, expanded timestamped logs, revised agent inputs/actions/tool interactions, and refreshed example query wording.
  * Clarified and tightened tool descriptions and workflow outputs for improved readability and accuracy.

* **Chores**
  * Adjusted embedder configuration to include explicit temperature settings.

Authors:
  - Will Killian (https://github.com/willkill07)

Approvers:
  - Bryan Bednarski (https://github.com/bbednarski9)
  - Michael Demoret (https://github.com/mdemoret-nv)

URL: NVIDIA#1028
@willkill07 willkill07 deleted the wkk_automated-description-clarification branch October 23, 2025 18:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

doc Improvements or additions to documentation non-breaking Non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants