github NVIDIA/NeMo-Guardrails v0.14.0

latest releases: v0.15.0, v0.14.1
2 months ago

What's Changed

This release enhances support for advanced reasoning models, including the NVIDIA Nemotron family such as Llama 3.1 Nemotron Ultra 253B V1 and DeepSeek-r1. We have added new protections against certain code-injection security concerns, with an output guardrail based on YARA, a widely-adopted technology in the cybersecurity space for malware detection.

From the community, a new 3rd-party guardrail connects to Clavata’s customized LLM content moderation.
Among other improvements and bug fixes, this release also now supports Python 3.13.

🚀 Features

  • Change topic following prompt to allow chitchat (#1097)
  • Validate model name configuration (#1084)
  • Add support for langchain partner and community chat models (#1085)
  • Add fuzzy find provider capability to cli (#1088)
  • Add code injection detection to guardrails library (#1091)
  • Add clavata community integration (#1027)
  • Implement validation to forbid dialog rails with reasoning traces (#1137)
  • Load yara lazily to avoid action dispatcher error (#1162)
  • Add support for system messages to RunnableRails (#1106)
  • Add api_key_env_var to Model, pass in kwargs to langchain initializer (#1142)
  • Add inline YARA rules support (#1164)
  • [breaking] Add support for preserving and optionally applying guardrails to reasoning traces (#1145)
  • Prevent reasoning traces from contaminating LLM prompt history (#1169)
  • Add RailException support to injection detection and improve error handling (#1178)
  • Add Nemotron model support with message-based prompts (#1199)

🐛 Bug Fixes

  • Correct task name for self_check_facts (#1040)
  • Error in LLMRails with tracing enabled (#1103)
  • Self check output colang 1 flow (#1126)
  • Use ValueError in TaskPrompt to resolve TypeError raised by Pydantic (#1132)
  • Correct dialog rails activation logic (#1161)
  • Allow reasoning traces when embeddings_only is True (#1170)
  • Prevent explain_info overwrite during stream_async (#1194)
  • Colang 2 issues in community integrations (#1140)
  • Ensure proper asyncio task cleanup in test_streaming_handler.py (#1182)

🚜 Refactor

  • Reorganize HuggingFace provider structure (#1083)
  • Remove support for deprecated nemollm engine (#1076)
  • [breaking] Remove deprecated return_context argument (#1147)
  • Rename remove_thinking_traces field to remove_reasoning_traces (#1176)
  • Update deprecated field handling for remove_thinking_traces (#1196)
  • Introduce END_OF_STREAM sentinel and update handling (#1185)

📚 Documentation

  • Remove markup from code block (#1081)
  • Replace img tag with Markdown images (#1087)
  • Remove NeMo Service (nemollm) documentation (#1077)
  • Update cleanlab integration description (#1080)
  • Add providers fuzzy search cli command (#1089)
  • Clarify purpose of model parameters field in configuration guide (#1181)
  • Output rails are supported with streaming (#1007)
  • Add mention of Nemotron (#1200)
  • Fix output rail doc (#1159)
  • Revise GS example in getting started doc (#1146)
  • Possible update to injection detection (#1144)

⚙️ Miscellaneous Tasks

  • Dynamically set version using importlib.metadata (#1072)
  • Add link to topic control config and prompts (#1098)
  • Reorganize GitHub workflows for better test coverage (#1079)
  • Add summary jobs for workflow branch protection (#1120)
  • Add Adobe Analytics configuration (#1138)
  • Fix and revert poetry lock to its stable state (#1133)
  • Add Codecov integration to workflows (#1143)
  • Add Python 3.12 and 3.13 test jobs to gitlab workflow (#1171)
  • Identify OS packages to install in contribution guide(#1136)
  • Remove Got It AI from ToC in 3rd party docs(#1213)

New Contributors

Full Changelog: v0.13.0...v0.14.0

Don't miss a new NeMo-Guardrails release

NewReleases is sending notifications on new releases.