nemo-platform-plugin 0.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- nemo_platform/__init__.py +117 -0
- nemo_platform/_base_client.py +2146 -0
- nemo_platform/_client.py +1200 -0
- nemo_platform/_compat.py +241 -0
- nemo_platform/_constants.py +29 -0
- nemo_platform/_decoders/jsonl.py +138 -0
- nemo_platform/_exceptions.py +123 -0
- nemo_platform/_files.py +188 -0
- nemo_platform/_models.py +967 -0
- nemo_platform/_qs.py +164 -0
- nemo_platform/_resource.py +58 -0
- nemo_platform/_response.py +872 -0
- nemo_platform/_streaming.py +391 -0
- nemo_platform/_types.py +288 -0
- nemo_platform/_utils/__init__.py +79 -0
- nemo_platform/_utils/_compat.py +60 -0
- nemo_platform/_utils/_datetime_parse.py +151 -0
- nemo_platform/_utils/_json.py +50 -0
- nemo_platform/_utils/_logs.py +40 -0
- nemo_platform/_utils/_path.py +142 -0
- nemo_platform/_utils/_proxy.py +80 -0
- nemo_platform/_utils/_reflection.py +57 -0
- nemo_platform/_utils/_resources_proxy.py +39 -0
- nemo_platform/_utils/_streams.py +27 -0
- nemo_platform/_utils/_sync.py +73 -0
- nemo_platform/_utils/_transform.py +472 -0
- nemo_platform/_utils/_typing.py +171 -0
- nemo_platform/_utils/_utils.py +448 -0
- nemo_platform/_version.py +21 -0
- nemo_platform/auth/__init__.py +15 -0
- nemo_platform/auth/device_flow.py +303 -0
- nemo_platform/auth/helpers.py +211 -0
- nemo_platform/auth/token_provider.py +239 -0
- nemo_platform/beta/evaluator/__init__.py +120 -0
- nemo_platform/beta/evaluator/agent_inference.py +360 -0
- nemo_platform/beta/evaluator/constants.py +4 -0
- nemo_platform/beta/evaluator/dataset_schemas/common.py +177 -0
- nemo_platform/beta/evaluator/dataset_schemas/compatibility.py +353 -0
- nemo_platform/beta/evaluator/dataset_schemas/templates.py +389 -0
- nemo_platform/beta/evaluator/datasets/__init__.py +28 -0
- nemo_platform/beta/evaluator/datasets/loader.py +415 -0
- nemo_platform/beta/evaluator/enums.py +64 -0
- nemo_platform/beta/evaluator/execution/_protocols.py +20 -0
- nemo_platform/beta/evaluator/execution/backends/base.py +86 -0
- nemo_platform/beta/evaluator/execution/backends/local/backend.py +132 -0
- nemo_platform/beta/evaluator/execution/benchmark_execution.py +666 -0
- nemo_platform/beta/evaluator/execution/config.py +64 -0
- nemo_platform/beta/evaluator/execution/evaluator.py +289 -0
- nemo_platform/beta/evaluator/execution/job_poll.py +98 -0
- nemo_platform/beta/evaluator/execution/metric_execution.py +878 -0
- nemo_platform/beta/evaluator/execution/pipeline.py +64 -0
- nemo_platform/beta/evaluator/execution/runs.py +143 -0
- nemo_platform/beta/evaluator/execution/scoring.py +224 -0
- nemo_platform/beta/evaluator/execution/utils.py +116 -0
- nemo_platform/beta/evaluator/execution/values.py +53 -0
- nemo_platform/beta/evaluator/inference.py +456 -0
- nemo_platform/beta/evaluator/metrics/aggregation.py +451 -0
- nemo_platform/beta/evaluator/metrics/bleu.py +94 -0
- nemo_platform/beta/evaluator/metrics/exact_match.py +52 -0
- nemo_platform/beta/evaluator/metrics/f1.py +50 -0
- nemo_platform/beta/evaluator/metrics/hooks.py +41 -0
- nemo_platform/beta/evaluator/metrics/llm_judge.py +392 -0
- nemo_platform/beta/evaluator/metrics/number_check.py +95 -0
- nemo_platform/beta/evaluator/metrics/protocol.py +241 -0
- nemo_platform/beta/evaluator/metrics/ragas/__init__.py +41 -0
- nemo_platform/beta/evaluator/metrics/ragas/base.py +521 -0
- nemo_platform/beta/evaluator/metrics/ragas/git_patch.py +36 -0
- nemo_platform/beta/evaluator/metrics/ragas/imports.py +192 -0
- nemo_platform/beta/evaluator/metrics/ragas/metrics.py +183 -0
- nemo_platform/beta/evaluator/metrics/remote.py +250 -0
- nemo_platform/beta/evaluator/metrics/rouge.py +71 -0
- nemo_platform/beta/evaluator/metrics/string_check.py +69 -0
- nemo_platform/beta/evaluator/metrics/template_rendering.py +141 -0
- nemo_platform/beta/evaluator/metrics/tool_calling.py +173 -0
- nemo_platform/beta/evaluator/metrics/types.py +62 -0
- nemo_platform/beta/evaluator/metrics/utils.py +54 -0
- nemo_platform/beta/evaluator/resilience/api.py +142 -0
- nemo_platform/beta/evaluator/resilience/classifier.py +142 -0
- nemo_platform/beta/evaluator/resilience/config.py +69 -0
- nemo_platform/beta/evaluator/resilience/errors.py +117 -0
- nemo_platform/beta/evaluator/resilience/policy.py +50 -0
- nemo_platform/beta/evaluator/resilience/scheduler.py +459 -0
- nemo_platform/beta/evaluator/resilience/types.py +93 -0
- nemo_platform/beta/evaluator/structured_output.py +184 -0
- nemo_platform/beta/evaluator/templates.py +115 -0
- nemo_platform/beta/evaluator/values/__init__.py +162 -0
- nemo_platform/beta/evaluator/values/agents.py +84 -0
- nemo_platform/beta/evaluator/values/common.py +28 -0
- nemo_platform/beta/evaluator/values/dataset_schemas.py +112 -0
- nemo_platform/beta/evaluator/values/datasets.py +28 -0
- nemo_platform/beta/evaluator/values/metrics.py +587 -0
- nemo_platform/beta/evaluator/values/models.py +157 -0
- nemo_platform/beta/evaluator/values/multi_metric_results.py +359 -0
- nemo_platform/beta/evaluator/values/params.py +109 -0
- nemo_platform/beta/evaluator/values/results.py +699 -0
- nemo_platform/beta/evaluator/values/scores.py +300 -0
- nemo_platform/beta/safe_synthesizer/__init__.py +4 -0
- nemo_platform/beta/safe_synthesizer/config.py +29 -0
- nemo_platform/beta/safe_synthesizer/job.py +309 -0
- nemo_platform/beta/safe_synthesizer/job_builder.py +355 -0
- nemo_platform/cli/__init__.py +4 -0
- nemo_platform/cli/app.py +321 -0
- nemo_platform/cli/commands/__init__.py +15 -0
- nemo_platform/cli/commands/api/__init__.py +114 -0
- nemo_platform/cli/commands/api/adapters.py +384 -0
- nemo_platform/cli/commands/api/files/__init__.py +237 -0
- nemo_platform/cli/commands/api/files/filesets.py +386 -0
- nemo_platform/cli/commands/api/files/otlp/__init__.py +12 -0
- nemo_platform/cli/commands/api/files/otlp/logs.py +116 -0
- nemo_platform/cli/commands/api/guardrail/__init__.py +270 -0
- nemo_platform/cli/commands/api/guardrail/configs.py +311 -0
- nemo_platform/cli/commands/api/iam/__init__.py +12 -0
- nemo_platform/cli/commands/api/iam/role_bindings.py +264 -0
- nemo_platform/cli/commands/api/inference/__init__.py +76 -0
- nemo_platform/cli/commands/api/inference/deployment_configs/__init__.py +370 -0
- nemo_platform/cli/commands/api/inference/deployment_configs/versions.py +132 -0
- nemo_platform/cli/commands/api/inference/deployments/__init__.py +565 -0
- nemo_platform/cli/commands/api/inference/deployments/versions.py +141 -0
- nemo_platform/cli/commands/api/inference/gateway/__init__.py +14 -0
- nemo_platform/cli/commands/api/inference/gateway/model.py +324 -0
- nemo_platform/cli/commands/api/inference/gateway/openai/__init__.py +12 -0
- nemo_platform/cli/commands/api/inference/gateway/openai/v1/__init__.py +12 -0
- nemo_platform/cli/commands/api/inference/gateway/openai/v1/models.py +106 -0
- nemo_platform/cli/commands/api/inference/gateway/provider.py +327 -0
- nemo_platform/cli/commands/api/inference/models.py +106 -0
- nemo_platform/cli/commands/api/inference/providers.py +612 -0
- nemo_platform/cli/commands/api/inference/virtual_models.py +412 -0
- nemo_platform/cli/commands/api/intake/__init__.py +18 -0
- nemo_platform/cli/commands/api/intake/apps/__init__.py +326 -0
- nemo_platform/cli/commands/api/intake/apps/tasks.py +340 -0
- nemo_platform/cli/commands/api/intake/entries/__init__.py +445 -0
- nemo_platform/cli/commands/api/intake/entries/events.py +118 -0
- nemo_platform/cli/commands/api/intake/evaluator_results.py +267 -0
- nemo_platform/cli/commands/api/intake/exports/__init__.py +63 -0
- nemo_platform/cli/commands/api/intake/exports/jobs.py +245 -0
- nemo_platform/cli/commands/api/intake/ingest/__init__.py +14 -0
- nemo_platform/cli/commands/api/intake/ingest/atif.py +115 -0
- nemo_platform/cli/commands/api/intake/ingest/chat_completions.py +125 -0
- nemo_platform/cli/commands/api/intake/ingest/otlp/__init__.py +12 -0
- nemo_platform/cli/commands/api/intake/ingest/otlp/v1/__init__.py +12 -0
- nemo_platform/cli/commands/api/intake/ingest/otlp/v1/traces.py +72 -0
- nemo_platform/cli/commands/api/intake/spans/__init__.py +202 -0
- nemo_platform/cli/commands/api/intake/spans/evaluator_results.py +65 -0
- nemo_platform/cli/commands/api/intake/traces.py +183 -0
- nemo_platform/cli/commands/api/jobs/__init__.py +576 -0
- nemo_platform/cli/commands/api/jobs/results.py +211 -0
- nemo_platform/cli/commands/api/jobs/steps.py +243 -0
- nemo_platform/cli/commands/api/jobs/tasks.py +210 -0
- nemo_platform/cli/commands/api/members.py +304 -0
- nemo_platform/cli/commands/api/models/__init__.py +555 -0
- nemo_platform/cli/commands/api/models/adapters.py +261 -0
- nemo_platform/cli/commands/api/projects.py +332 -0
- nemo_platform/cli/commands/api/safe_synthesizer/__init__.py +12 -0
- nemo_platform/cli/commands/api/safe_synthesizer/jobs/__init__.py +417 -0
- nemo_platform/cli/commands/api/safe_synthesizer/jobs/results.py +211 -0
- nemo_platform/cli/commands/api/secrets/__init__.py +315 -0
- nemo_platform/cli/commands/api/secrets/admin.py +44 -0
- nemo_platform/cli/commands/api/workspaces.py +339 -0
- nemo_platform/cli/commands/auth.py +803 -0
- nemo_platform/cli/commands/config.py +308 -0
- nemo_platform/cli/commands/docs.py +277 -0
- nemo_platform/cli/commands/manifest_registry.py +180 -0
- nemo_platform/cli/commands/plugins.py +87 -0
- nemo_platform/cli/commands/quickstart/__init__.py +15 -0
- nemo_platform/cli/commands/quickstart/cli.py +1178 -0
- nemo_platform/cli/commands/services/_process.py +472 -0
- nemo_platform/cli/commands/services/cli.py +694 -0
- nemo_platform/cli/commands/setup.py +1947 -0
- nemo_platform/cli/commands/skills/agents/claude.py +29 -0
- nemo_platform/cli/commands/skills/agents/codex.py +32 -0
- nemo_platform/cli/commands/skills/agents/cursor.py +18 -0
- nemo_platform/cli/commands/skills/agents/opencode.py +20 -0
- nemo_platform/cli/commands/skills/base.py +53 -0
- nemo_platform/cli/commands/skills/cli.py +313 -0
- nemo_platform/cli/commands/skills/installer.py +51 -0
- nemo_platform/cli/commands/skills/registry.py +396 -0
- nemo_platform/cli/commands/use_cases/__init__.py +15 -0
- nemo_platform/cli/commands/use_cases/agent.py +245 -0
- nemo_platform/cli/commands/use_cases/chat.py +965 -0
- nemo_platform/cli/commands/use_cases/wait.py +151 -0
- nemo_platform/cli/core/__init__.py +8 -0
- nemo_platform/cli/core/agent_helpers.py +84 -0
- nemo_platform/cli/core/api.py +160 -0
- nemo_platform/cli/core/autocomplete.py +63 -0
- nemo_platform/cli/core/code_generator.py +306 -0
- nemo_platform/cli/core/context.py +179 -0
- nemo_platform/cli/core/errors.py +349 -0
- nemo_platform/cli/core/formatters.py +718 -0
- nemo_platform/cli/core/help_formatter.py +868 -0
- nemo_platform/cli/core/lazy_load.py +187 -0
- nemo_platform/cli/core/logging.py +24 -0
- nemo_platform/cli/core/pagination.py +255 -0
- nemo_platform/cli/core/stdin_utils.py +233 -0
- nemo_platform/cli/core/streaming.py +30 -0
- nemo_platform/cli/core/table_config.py +302 -0
- nemo_platform/cli/core/timestamp_formatter.py +127 -0
- nemo_platform/cli/core/types.py +112 -0
- nemo_platform/cli/core/waiters.py +339 -0
- nemo_platform/cli/manifest.py +108 -0
- nemo_platform/client/__init__.py +15 -0
- nemo_platform/client/factory.py +597 -0
- nemo_platform/config/README.md +168 -0
- nemo_platform/config/__init__.py +23 -0
- nemo_platform/config/config.py +538 -0
- nemo_platform/config/models.py +377 -0
- nemo_platform/config/types.py +7 -0
- nemo_platform/filesets/__init__.py +19 -0
- nemo_platform/filesets/filesystem/callbacks.py +229 -0
- nemo_platform/filesets/filesystem/filesystem.py +940 -0
- nemo_platform/filesets/resources.py +1120 -0
- nemo_platform/lib/.keep +4 -0
- nemo_platform/models/__init__.py +14 -0
- nemo_platform/models/resources.py +836 -0
- nemo_platform/pagination.py +149 -0
- nemo_platform/py.typed +0 -0
- nemo_platform/quickstart/__init__.py +99 -0
- nemo_platform/quickstart/cluster.py +198 -0
- nemo_platform/quickstart/config.py +402 -0
- nemo_platform/quickstart/container.py +758 -0
- nemo_platform/quickstart/gpu_config.py +111 -0
- nemo_platform/quickstart/platform_config.py +82 -0
- nemo_platform/quickstart/preflight.py +451 -0
- nemo_platform/quickstart/prompts.py +426 -0
- nemo_platform/quickstart/storage.py +90 -0
- nemo_platform/quickstart/validators.py +268 -0
- nemo_platform/resources/__init__.py +16 -0
- nemo_platform/resources/adapters/__init__.py +34 -0
- nemo_platform/resources/adapters/adapters.py +704 -0
- nemo_platform/resources/adapters/api.md +15 -0
- nemo_platform/resources/audit/__init__.py +16 -0
- nemo_platform/resources/entities/__init__.py +34 -0
- nemo_platform/resources/entities/api.md +16 -0
- nemo_platform/resources/entities/entities.py +1014 -0
- nemo_platform/resources/evaluation/__init__.py +118 -0
- nemo_platform/resources/evaluation/api.md +303 -0
- nemo_platform/resources/evaluation/benchmark_job_results.py +541 -0
- nemo_platform/resources/evaluation/benchmark_jobs/__init__.py +48 -0
- nemo_platform/resources/evaluation/benchmark_jobs/benchmark_jobs.py +900 -0
- nemo_platform/resources/evaluation/benchmark_jobs/results/__init__.py +76 -0
- nemo_platform/resources/evaluation/benchmark_jobs/results/aggregate_scores.py +197 -0
- nemo_platform/resources/evaluation/benchmark_jobs/results/artifacts.py +206 -0
- nemo_platform/resources/evaluation/benchmark_jobs/results/results.py +516 -0
- nemo_platform/resources/evaluation/benchmark_jobs/results/row_scores.py +213 -0
- nemo_platform/resources/evaluation/benchmarks.py +690 -0
- nemo_platform/resources/evaluation/evaluation.py +277 -0
- nemo_platform/resources/evaluation/metric_job_results.py +533 -0
- nemo_platform/resources/evaluation/metric_jobs/__init__.py +48 -0
- nemo_platform/resources/evaluation/metric_jobs/metric_jobs.py +888 -0
- nemo_platform/resources/evaluation/metric_jobs/results/__init__.py +76 -0
- nemo_platform/resources/evaluation/metric_jobs/results/aggregate_scores.py +197 -0
- nemo_platform/resources/evaluation/metric_jobs/results/artifacts.py +206 -0
- nemo_platform/resources/evaluation/metric_jobs/results/results.py +512 -0
- nemo_platform/resources/evaluation/metric_jobs/results/row_scores.py +213 -0
- nemo_platform/resources/evaluation/metrics.py +3495 -0
- nemo_platform/resources/files/__init__.py +62 -0
- nemo_platform/resources/files/api.md +65 -0
- nemo_platform/resources/files/files.py +683 -0
- nemo_platform/resources/files/filesets.py +783 -0
- nemo_platform/resources/files/otlp/__init__.py +48 -0
- nemo_platform/resources/files/otlp/logs.py +337 -0
- nemo_platform/resources/files/otlp/otlp.py +117 -0
- nemo_platform/resources/guardrail/__init__.py +48 -0
- nemo_platform/resources/guardrail/api.md +116 -0
- nemo_platform/resources/guardrail/configs.py +679 -0
- nemo_platform/resources/guardrail/guardrail.py +463 -0
- nemo_platform/resources/iam/__init__.py +48 -0
- nemo_platform/resources/iam/api.md +22 -0
- nemo_platform/resources/iam/iam.py +117 -0
- nemo_platform/resources/iam/role_bindings.py +537 -0
- nemo_platform/resources/inference/__init__.py +118 -0
- nemo_platform/resources/inference/api.md +224 -0
- nemo_platform/resources/inference/deployment_configs/__init__.py +48 -0
- nemo_platform/resources/inference/deployment_configs/deployment_configs.py +756 -0
- nemo_platform/resources/inference/deployment_configs/versions.py +418 -0
- nemo_platform/resources/inference/deployments/__init__.py +48 -0
- nemo_platform/resources/inference/deployments/deployments.py +1017 -0
- nemo_platform/resources/inference/deployments/versions.py +434 -0
- nemo_platform/resources/inference/gateway/__init__.py +76 -0
- nemo_platform/resources/inference/gateway/gateway.py +181 -0
- nemo_platform/resources/inference/gateway/model.py +708 -0
- nemo_platform/resources/inference/gateway/openai/__init__.py +48 -0
- nemo_platform/resources/inference/gateway/openai/openai.py +700 -0
- nemo_platform/resources/inference/gateway/openai/v1/__init__.py +48 -0
- nemo_platform/resources/inference/gateway/openai/v1/models.py +290 -0
- nemo_platform/resources/inference/gateway/openai/v1/v1.py +117 -0
- nemo_platform/resources/inference/gateway/provider.py +749 -0
- nemo_platform/resources/inference/inference.py +277 -0
- nemo_platform/resources/inference/models.py +290 -0
- nemo_platform/resources/inference/providers.py +1049 -0
- nemo_platform/resources/inference/virtual_models.py +846 -0
- nemo_platform/resources/intake/__init__.py +132 -0
- nemo_platform/resources/intake/api.md +268 -0
- nemo_platform/resources/intake/apps/__init__.py +48 -0
- nemo_platform/resources/intake/apps/apps.py +718 -0
- nemo_platform/resources/intake/apps/tasks.py +731 -0
- nemo_platform/resources/intake/entries/__init__.py +48 -0
- nemo_platform/resources/intake/entries/entries.py +855 -0
- nemo_platform/resources/intake/entries/events.py +320 -0
- nemo_platform/resources/intake/evaluator_results.py +512 -0
- nemo_platform/resources/intake/exports/__init__.py +48 -0
- nemo_platform/resources/intake/exports/exports.py +229 -0
- nemo_platform/resources/intake/exports/jobs.py +464 -0
- nemo_platform/resources/intake/ingest/__init__.py +76 -0
- nemo_platform/resources/intake/ingest/atif.py +242 -0
- nemo_platform/resources/intake/ingest/chat_completions.py +270 -0
- nemo_platform/resources/intake/ingest/ingest.py +181 -0
- nemo_platform/resources/intake/ingest/otlp/__init__.py +48 -0
- nemo_platform/resources/intake/ingest/otlp/otlp.py +117 -0
- nemo_platform/resources/intake/ingest/otlp/v1/__init__.py +48 -0
- nemo_platform/resources/intake/ingest/otlp/v1/traces.py +183 -0
- nemo_platform/resources/intake/ingest/otlp/v1/v1.py +117 -0
- nemo_platform/resources/intake/intake.py +309 -0
- nemo_platform/resources/intake/spans/__init__.py +48 -0
- nemo_platform/resources/intake/spans/evaluator_results.py +197 -0
- nemo_platform/resources/intake/spans/spans.py +367 -0
- nemo_platform/resources/intake/traces.py +351 -0
- nemo_platform/resources/jobs/__init__.py +76 -0
- nemo_platform/resources/jobs/api.md +118 -0
- nemo_platform/resources/jobs/jobs.py +1300 -0
- nemo_platform/resources/jobs/results.py +555 -0
- nemo_platform/resources/jobs/steps.py +491 -0
- nemo_platform/resources/jobs/tasks.py +470 -0
- nemo_platform/resources/members/__init__.py +34 -0
- nemo_platform/resources/members/api.md +19 -0
- nemo_platform/resources/members/members.py +634 -0
- nemo_platform/resources/models/__init__.py +48 -0
- nemo_platform/resources/models/adapters.py +514 -0
- nemo_platform/resources/models/api.md +44 -0
- nemo_platform/resources/models/models.py +981 -0
- nemo_platform/resources/projects/__init__.py +34 -0
- nemo_platform/resources/projects/api.md +21 -0
- nemo_platform/resources/projects/projects.py +736 -0
- nemo_platform/resources/safe_synthesizer/__init__.py +48 -0
- nemo_platform/resources/safe_synthesizer/api.md +62 -0
- nemo_platform/resources/safe_synthesizer/jobs/__init__.py +48 -0
- nemo_platform/resources/safe_synthesizer/jobs/jobs.py +895 -0
- nemo_platform/resources/safe_synthesizer/jobs/results.py +819 -0
- nemo_platform/resources/safe_synthesizer/safe_synthesizer.py +117 -0
- nemo_platform/resources/secrets/__init__.py +48 -0
- nemo_platform/resources/secrets/admin.py +150 -0
- nemo_platform/resources/secrets/api.md +34 -0
- nemo_platform/resources/secrets/secrets.py +756 -0
- nemo_platform/resources/workspaces/__init__.py +34 -0
- nemo_platform/resources/workspaces/api.md +20 -0
- nemo_platform/resources/workspaces/workspaces.py +734 -0
- nemo_platform/skills/__init__.py +28 -0
- nemo_platform/skills/inference/SKILL.md +564 -0
- nemo_platform/skills/nemo-build-agent/SKILL.md +221 -0
- nemo_platform/skills/nemo-build-agent/references/templates/data-designer-config.py +80 -0
- nemo_platform/skills/nemo-evaluator/SKILL.md +140 -0
- nemo_platform/skills/nemo-explore/SKILL.md +70 -0
- nemo_platform/skills/nemo-files/SKILL.md +81 -0
- nemo_platform/skills/nemo-fine-tune/SKILL.md +43 -0
- nemo_platform/skills/nemo-guardrails/SKILL.md +519 -0
- nemo_platform/skills/nemo-secrets/SKILL.md +60 -0
- nemo_platform/skills/nemo-skill-selection/SKILL.md +146 -0
- nemo_platform/skills/nemo-spec/SKILL.md +76 -0
- nemo_platform/skills/nemo-spec/references/templates/agent-spec.md +68 -0
- nemo_platform/skills/nemo-status/SKILL.md +115 -0
- nemo_platform/skills/nemo-teardown/SKILL.md +185 -0
- nemo_platform/skills/nemo-try-agent/SKILL.md +102 -0
- nemo_platform/types/__init__.py +54 -0
- nemo_platform/types/adapters/__init__.py +24 -0
- nemo_platform/types/adapters/adapter_create_params.py +63 -0
- nemo_platform/types/adapters/adapter_entity_filter_param.py +56 -0
- nemo_platform/types/adapters/adapter_list_params.py +46 -0
- nemo_platform/types/adapters/adapter_patch_params.py +35 -0
- nemo_platform/types/adapters/adapters_page.py +37 -0
- nemo_platform/types/audit/__init__.py +18 -0
- nemo_platform/types/audit/jobs/__init__.py +18 -0
- nemo_platform/types/entities/__init__.py +26 -0
- nemo_platform/types/entities/entities_page.py +37 -0
- nemo_platform/types/entities/entity.py +63 -0
- nemo_platform/types/entities/entity_create_params.py +46 -0
- nemo_platform/types/entities/entity_delete_entity_by_name_params.py +31 -0
- nemo_platform/types/entities/entity_get_entity_by_name_params.py +31 -0
- nemo_platform/types/entities/entity_list_params.py +47 -0
- nemo_platform/types/entities/entity_update_entity_by_name_params.py +52 -0
- nemo_platform/types/evaluation/__init__.py +242 -0
- nemo_platform/types/evaluation/agent.py +68 -0
- nemo_platform/types/evaluation/agent_goal_accuracy_metric.py +92 -0
- nemo_platform/types/evaluation/agent_goal_accuracy_metric_param.py +69 -0
- nemo_platform/types/evaluation/agent_goal_accuracy_metric_param_param.py +70 -0
- nemo_platform/types/evaluation/agent_goal_accuracy_metric_response.py +88 -0
- nemo_platform/types/evaluation/agent_param.py +69 -0
- nemo_platform/types/evaluation/aggregate_range_score.py +65 -0
- nemo_platform/types/evaluation/aggregate_rubric_score.py +64 -0
- nemo_platform/types/evaluation/aggregated_metric_result.py +34 -0
- nemo_platform/types/evaluation/answer_accuracy_metric.py +89 -0
- nemo_platform/types/evaluation/answer_accuracy_metric_param.py +66 -0
- nemo_platform/types/evaluation/answer_accuracy_metric_param_param.py +67 -0
- nemo_platform/types/evaluation/answer_accuracy_metric_response.py +85 -0
- nemo_platform/types/evaluation/benchmark.py +81 -0
- nemo_platform/types/evaluation/benchmark_create_params.py +64 -0
- nemo_platform/types/evaluation/benchmark_create_response.py +26 -0
- nemo_platform/types/evaluation/benchmark_evaluation_job.py +75 -0
- nemo_platform/types/evaluation/benchmark_evaluation_jobs_list_filter_param.py +49 -0
- nemo_platform/types/evaluation/benchmark_evaluation_jobs_page.py +37 -0
- nemo_platform/types/evaluation/benchmark_evaluation_jobs_sort_field.py +22 -0
- nemo_platform/types/evaluation/benchmark_job_create_params.py +58 -0
- nemo_platform/types/evaluation/benchmark_job_get_logs_params.py +30 -0
- nemo_platform/types/evaluation/benchmark_job_list_params.py +44 -0
- nemo_platform/types/evaluation/benchmark_job_result.py +93 -0
- nemo_platform/types/evaluation/benchmark_job_result_list_params.py +116 -0
- nemo_platform/types/evaluation/benchmark_job_result_retrieve_params.py +50 -0
- nemo_platform/types/evaluation/benchmark_job_results_list_response.py +37 -0
- nemo_platform/types/evaluation/benchmark_jobs/__init__.py +18 -0
- nemo_platform/types/evaluation/benchmark_jobs/results/__init__.py +22 -0
- nemo_platform/types/evaluation/benchmark_jobs/results/benchmark_evaluation_result.py +30 -0
- nemo_platform/types/evaluation/benchmark_jobs/results/benchmark_metric_result.py +44 -0
- nemo_platform/types/evaluation/benchmark_jobs/results/row_score_download_params.py +28 -0
- nemo_platform/types/evaluation/benchmark_list_params.py +84 -0
- nemo_platform/types/evaluation/benchmark_offline_job.py +43 -0
- nemo_platform/types/evaluation/benchmark_offline_job_param.py +44 -0
- nemo_platform/types/evaluation/benchmark_online_agent_job.py +71 -0
- nemo_platform/types/evaluation/benchmark_online_agent_job_param.py +74 -0
- nemo_platform/types/evaluation/benchmark_online_job.py +66 -0
- nemo_platform/types/evaluation/benchmark_online_job_param.py +68 -0
- nemo_platform/types/evaluation/benchmark_ref.py +22 -0
- nemo_platform/types/evaluation/benchmark_retrieve_params.py +29 -0
- nemo_platform/types/evaluation/benchmark_retrieve_response.py +27 -0
- nemo_platform/types/evaluation/benchmarks_list_response.py +42 -0
- nemo_platform/types/evaluation/bleu_metric.py +76 -0
- nemo_platform/types/evaluation/bleu_metric_param.py +50 -0
- nemo_platform/types/evaluation/bleu_metric_param_param.py +52 -0
- nemo_platform/types/evaluation/bleu_metric_response.py +69 -0
- nemo_platform/types/evaluation/built_in_dataset.py +46 -0
- nemo_platform/types/evaluation/context_entity_recall_metric.py +89 -0
- nemo_platform/types/evaluation/context_entity_recall_metric_param.py +66 -0
- nemo_platform/types/evaluation/context_entity_recall_metric_param_param.py +67 -0
- nemo_platform/types/evaluation/context_entity_recall_metric_response.py +85 -0
- nemo_platform/types/evaluation/context_precision_metric.py +89 -0
- nemo_platform/types/evaluation/context_precision_metric_param.py +66 -0
- nemo_platform/types/evaluation/context_precision_metric_param_param.py +67 -0
- nemo_platform/types/evaluation/context_precision_metric_response.py +85 -0
- nemo_platform/types/evaluation/context_recall_metric.py +89 -0
- nemo_platform/types/evaluation/context_recall_metric_param.py +66 -0
- nemo_platform/types/evaluation/context_recall_metric_param_param.py +67 -0
- nemo_platform/types/evaluation/context_recall_metric_response.py +85 -0
- nemo_platform/types/evaluation/context_relevance_metric.py +89 -0
- nemo_platform/types/evaluation/context_relevance_metric_param.py +66 -0
- nemo_platform/types/evaluation/context_relevance_metric_param_param.py +67 -0
- nemo_platform/types/evaluation/context_relevance_metric_response.py +85 -0
- nemo_platform/types/evaluation/dataset_rows.py +35 -0
- nemo_platform/types/evaluation/dataset_rows_param.py +36 -0
- nemo_platform/types/evaluation/evaluate_dataset_rows_param.py +33 -0
- nemo_platform/types/evaluation/exact_match_metric.py +79 -0
- nemo_platform/types/evaluation/exact_match_metric_param.py +53 -0
- nemo_platform/types/evaluation/exact_match_metric_param_param.py +53 -0
- nemo_platform/types/evaluation/exact_match_metric_response.py +72 -0
- nemo_platform/types/evaluation/extended_benchmark.py +130 -0
- nemo_platform/types/evaluation/f1_metric.py +76 -0
- nemo_platform/types/evaluation/f1_metric_param.py +50 -0
- nemo_platform/types/evaluation/f1_metric_param_param.py +50 -0
- nemo_platform/types/evaluation/f1_metric_response.py +69 -0
- nemo_platform/types/evaluation/faithfulness_metric.py +89 -0
- nemo_platform/types/evaluation/faithfulness_metric_param.py +66 -0
- nemo_platform/types/evaluation/faithfulness_metric_param_param.py +67 -0
- nemo_platform/types/evaluation/faithfulness_metric_response.py +85 -0
- nemo_platform/types/evaluation/field_mapping.py +56 -0
- nemo_platform/types/evaluation/field_mapping_param.py +57 -0
- nemo_platform/types/evaluation/fileset.py +48 -0
- nemo_platform/types/evaluation/fileset_param.py +49 -0
- nemo_platform/types/evaluation/fileset_ref.py +22 -0
- nemo_platform/types/evaluation/histogram.py +30 -0
- nemo_platform/types/evaluation/histogram_bin.py +33 -0
- nemo_platform/types/evaluation/inference_params.py +65 -0
- nemo_platform/types/evaluation/inference_params_param.py +53 -0
- nemo_platform/types/evaluation/json_score_parser.py +35 -0
- nemo_platform/types/evaluation/json_score_parser_param.py +34 -0
- nemo_platform/types/evaluation/llm_judge_metric.py +126 -0
- nemo_platform/types/evaluation/llm_judge_metric_param.py +103 -0
- nemo_platform/types/evaluation/llm_judge_metric_param_param.py +105 -0
- nemo_platform/types/evaluation/llm_judge_metric_response.py +120 -0
- nemo_platform/types/evaluation/metric_create_params.py +959 -0
- nemo_platform/types/evaluation/metric_create_response.py +75 -0
- nemo_platform/types/evaluation/metric_evaluate_params.py +111 -0
- nemo_platform/types/evaluation/metric_evaluation_job.py +65 -0
- nemo_platform/types/evaluation/metric_evaluation_jobs_list_filter_param.py +49 -0
- nemo_platform/types/evaluation/metric_evaluation_jobs_page.py +37 -0
- nemo_platform/types/evaluation/metric_evaluation_jobs_sort_field.py +22 -0
- nemo_platform/types/evaluation/metric_evaluation_response.py +98 -0
- nemo_platform/types/evaluation/metric_evaluation_row_score.py +45 -0
- nemo_platform/types/evaluation/metric_job_create_params.py +48 -0
- nemo_platform/types/evaluation/metric_job_get_logs_params.py +30 -0
- nemo_platform/types/evaluation/metric_job_list_params.py +44 -0
- nemo_platform/types/evaluation/metric_job_result.py +93 -0
- nemo_platform/types/evaluation/metric_job_result_list_params.py +114 -0
- nemo_platform/types/evaluation/metric_job_result_retrieve_params.py +50 -0
- nemo_platform/types/evaluation/metric_job_results_list_response.py +37 -0
- nemo_platform/types/evaluation/metric_jobs/__init__.py +18 -0
- nemo_platform/types/evaluation/metric_jobs/results/__init__.py +20 -0
- nemo_platform/types/evaluation/metric_jobs/results/row_score_download_params.py +28 -0
- nemo_platform/types/evaluation/metric_list_params.py +73 -0
- nemo_platform/types/evaluation/metric_offline_job.py +106 -0
- nemo_platform/types/evaluation/metric_offline_job_param.py +107 -0
- nemo_platform/types/evaluation/metric_online_agent_job.py +133 -0
- nemo_platform/types/evaluation/metric_online_agent_job_param.py +135 -0
- nemo_platform/types/evaluation/metric_online_job.py +127 -0
- nemo_platform/types/evaluation/metric_online_job_param.py +129 -0
- nemo_platform/types/evaluation/metric_output.py +30 -0
- nemo_platform/types/evaluation/metric_ref.py +22 -0
- nemo_platform/types/evaluation/metric_retrieve_response.py +98 -0
- nemo_platform/types/evaluation/metric_retriever_job.py +64 -0
- nemo_platform/types/evaluation/metric_retriever_job_param.py +65 -0
- nemo_platform/types/evaluation/metric_type.py +47 -0
- nemo_platform/types/evaluation/metrics_list_response.py +90 -0
- nemo_platform/types/evaluation/model.py +44 -0
- nemo_platform/types/evaluation/model_param.py +44 -0
- nemo_platform/types/evaluation/model_ref.py +22 -0
- nemo_platform/types/evaluation/nemo_agent_toolkit_remote_metric.py +87 -0
- nemo_platform/types/evaluation/nemo_agent_toolkit_remote_metric_param.py +64 -0
- nemo_platform/types/evaluation/nemo_agent_toolkit_remote_metric_param_param.py +65 -0
- nemo_platform/types/evaluation/nemo_agent_toolkit_remote_metric_response.py +80 -0
- nemo_platform/types/evaluation/noise_sensitivity_metric.py +89 -0
- nemo_platform/types/evaluation/noise_sensitivity_metric_param.py +66 -0
- nemo_platform/types/evaluation/noise_sensitivity_metric_param_param.py +67 -0
- nemo_platform/types/evaluation/noise_sensitivity_metric_response.py +85 -0
- nemo_platform/types/evaluation/number_check_metric.py +104 -0
- nemo_platform/types/evaluation/number_check_metric_param.py +81 -0
- nemo_platform/types/evaluation/number_check_metric_param_param.py +83 -0
- nemo_platform/types/evaluation/number_check_metric_response.py +97 -0
- nemo_platform/types/evaluation/parameter.py +42 -0
- nemo_platform/types/evaluation/parameter_param.py +40 -0
- nemo_platform/types/evaluation/percentiles.py +54 -0
- nemo_platform/types/evaluation/range_score.py +56 -0
- nemo_platform/types/evaluation/range_score_param.py +57 -0
- nemo_platform/types/evaluation/reasoning_params.py +41 -0
- nemo_platform/types/evaluation/reasoning_params_param.py +41 -0
- nemo_platform/types/evaluation/regex_score_parser.py +38 -0
- nemo_platform/types/evaluation/regex_score_parser_param.py +37 -0
- nemo_platform/types/evaluation/remote_metric.py +91 -0
- nemo_platform/types/evaluation/remote_metric_param.py +68 -0
- nemo_platform/types/evaluation/remote_metric_param_param.py +69 -0
- nemo_platform/types/evaluation/remote_metric_response.py +84 -0
- nemo_platform/types/evaluation/remote_score.py +49 -0
- nemo_platform/types/evaluation/remote_score_param.py +50 -0
- nemo_platform/types/evaluation/response_groundedness_metric.py +89 -0
- nemo_platform/types/evaluation/response_groundedness_metric_param.py +66 -0
- nemo_platform/types/evaluation/response_groundedness_metric_param_param.py +67 -0
- nemo_platform/types/evaluation/response_groundedness_metric_response.py +85 -0
- nemo_platform/types/evaluation/response_relevancy_metric.py +95 -0
- nemo_platform/types/evaluation/response_relevancy_metric_param.py +74 -0
- nemo_platform/types/evaluation/response_relevancy_metric_param_param.py +75 -0
- nemo_platform/types/evaluation/response_relevancy_metric_response.py +93 -0
- nemo_platform/types/evaluation/retriever_pipeline.py +34 -0
- nemo_platform/types/evaluation/retriever_pipeline_param.py +35 -0
- nemo_platform/types/evaluation/rouge_metric.py +76 -0
- nemo_platform/types/evaluation/rouge_metric_param.py +53 -0
- nemo_platform/types/evaluation/rouge_metric_param_param.py +53 -0
- nemo_platform/types/evaluation/rouge_metric_response.py +69 -0
- nemo_platform/types/evaluation/row_score.py +59 -0
- nemo_platform/types/evaluation/rubric.py +40 -0
- nemo_platform/types/evaluation/rubric_param.py +40 -0
- nemo_platform/types/evaluation/rubric_score.py +54 -0
- nemo_platform/types/evaluation/rubric_score_param.py +55 -0
- nemo_platform/types/evaluation/rubric_score_stat.py +38 -0
- nemo_platform/types/evaluation/run_config.py +39 -0
- nemo_platform/types/evaluation/run_config_online.py +51 -0
- nemo_platform/types/evaluation/run_config_online_model.py +73 -0
- nemo_platform/types/evaluation/run_config_online_model_param.py +75 -0
- nemo_platform/types/evaluation/run_config_online_param.py +51 -0
- nemo_platform/types/evaluation/run_config_param.py +39 -0
- nemo_platform/types/evaluation/string_check_metric.py +82 -0
- nemo_platform/types/evaluation/string_check_metric_param.py +59 -0
- nemo_platform/types/evaluation/string_check_metric_param_param.py +61 -0
- nemo_platform/types/evaluation/string_check_metric_response.py +75 -0
- nemo_platform/types/evaluation/system_benchmark.py +71 -0
- nemo_platform/types/evaluation/system_benchmark_offline_job.py +58 -0
- nemo_platform/types/evaluation/system_benchmark_offline_job_param.py +60 -0
- nemo_platform/types/evaluation/system_benchmark_online_job.py +54 -0
- nemo_platform/types/evaluation/system_benchmark_online_job_param.py +55 -0
- nemo_platform/types/evaluation/system_metric.py +70 -0
- nemo_platform/types/evaluation/system_metric_param.py +50 -0
- nemo_platform/types/evaluation/system_metric_param_param.py +51 -0
- nemo_platform/types/evaluation/system_metric_response.py +66 -0
- nemo_platform/types/evaluation/tool_call_accuracy_metric.py +70 -0
- nemo_platform/types/evaluation/tool_call_accuracy_metric_param.py +44 -0
- nemo_platform/types/evaluation/tool_call_accuracy_metric_param_param.py +44 -0
- nemo_platform/types/evaluation/tool_call_accuracy_metric_response.py +63 -0
- nemo_platform/types/evaluation/tool_calling_metric.py +70 -0
- nemo_platform/types/evaluation/tool_calling_metric_param.py +47 -0
- nemo_platform/types/evaluation/tool_calling_metric_param_param.py +47 -0
- nemo_platform/types/evaluation/tool_calling_metric_response.py +63 -0
- nemo_platform/types/evaluation/topic_adherence_metric.py +92 -0
- nemo_platform/types/evaluation/topic_adherence_metric_param.py +69 -0
- nemo_platform/types/evaluation/topic_adherence_metric_param_param.py +70 -0
- nemo_platform/types/evaluation/topic_adherence_metric_response.py +88 -0
- nemo_platform/types/files/__init__.py +45 -0
- nemo_platform/types/files/cache_status.py +22 -0
- nemo_platform/types/files/dataset_metadata_content.py +46 -0
- nemo_platform/types/files/dataset_metadata_content_param.py +45 -0
- nemo_platform/types/files/file_list_files_params.py +35 -0
- nemo_platform/types/files/file_upload_file_params.py +28 -0
- nemo_platform/types/files/fileset.py +62 -0
- nemo_platform/types/files/fileset_create_params.py +74 -0
- nemo_platform/types/files/fileset_file.py +36 -0
- nemo_platform/types/files/fileset_filter_param.py +54 -0
- nemo_platform/types/files/fileset_list_params.py +47 -0
- nemo_platform/types/files/fileset_metadata_param.py +46 -0
- nemo_platform/types/files/fileset_metadata_param_param.py +47 -0
- nemo_platform/types/files/fileset_outputs_page.py +37 -0
- nemo_platform/types/files/fileset_purpose.py +22 -0
- nemo_platform/types/files/fileset_update_params.py +49 -0
- nemo_platform/types/files/huggingface_storage_config.py +60 -0
- nemo_platform/types/files/huggingface_storage_config_param.py +60 -0
- nemo_platform/types/files/list_fileset_files_response.py +27 -0
- nemo_platform/types/files/local_storage_config.py +39 -0
- nemo_platform/types/files/local_storage_config_param.py +38 -0
- nemo_platform/types/files/ngc_storage_config.py +66 -0
- nemo_platform/types/files/ngc_storage_config_param.py +66 -0
- nemo_platform/types/files/otlp/__init__.py +22 -0
- nemo_platform/types/files/otlp/log_query_params.py +36 -0
- nemo_platform/types/files/otlp/otel_export_logs_partial_success.py +34 -0
- nemo_platform/types/files/otlp/otel_export_logs_service_response.py +35 -0
- nemo_platform/types/files/s3_storage_config.py +85 -0
- nemo_platform/types/files/s3_storage_config_param.py +85 -0
- nemo_platform/types/files/secret_ref.py +22 -0
- nemo_platform/types/files/storage_config_type.py +22 -0
- nemo_platform/types/guardrail/__init__.py +165 -0
- nemo_platform/types/guardrail/action_rails.py +36 -0
- nemo_platform/types/guardrail/action_rails_param.py +38 -0
- nemo_platform/types/guardrail/activated_rail.py +61 -0
- nemo_platform/types/guardrail/ai_defense_rail_config.py +36 -0
- nemo_platform/types/guardrail/ai_defense_rail_config_param.py +36 -0
- nemo_platform/types/guardrail/auto_align_options.py +29 -0
- nemo_platform/types/guardrail/auto_align_options_param.py +30 -0
- nemo_platform/types/guardrail/auto_align_rail_config.py +35 -0
- nemo_platform/types/guardrail/auto_align_rail_config_param.py +37 -0
- nemo_platform/types/guardrail/cache_stats_config.py +32 -0
- nemo_platform/types/guardrail/cache_stats_config_param.py +32 -0
- nemo_platform/types/guardrail/chat_completion_assistant_message_param.py +45 -0
- nemo_platform/types/guardrail/chat_completion_content_part_image_param.py +34 -0
- nemo_platform/types/guardrail/chat_completion_content_part_text_param.py +32 -0
- nemo_platform/types/guardrail/chat_completion_function_message_param.py +35 -0
- nemo_platform/types/guardrail/chat_completion_message_tool_call_param.py +37 -0
- nemo_platform/types/guardrail/chat_completion_system_message_param.py +35 -0
- nemo_platform/types/guardrail/chat_completion_tool_message_param.py +35 -0
- nemo_platform/types/guardrail/chat_completion_user_message_param.py +41 -0
- nemo_platform/types/guardrail/clavata_rail_config.py +47 -0
- nemo_platform/types/guardrail/clavata_rail_config_param.py +48 -0
- nemo_platform/types/guardrail/clavata_rail_options.py +36 -0
- nemo_platform/types/guardrail/clavata_rail_options_param.py +38 -0
- nemo_platform/types/guardrail/config_create_params.py +36 -0
- nemo_platform/types/guardrail/config_list_params.py +47 -0
- nemo_platform/types/guardrail/config_update_params.py +33 -0
- nemo_platform/types/guardrail/content_safety_config.py +34 -0
- nemo_platform/types/guardrail/content_safety_config_param.py +35 -0
- nemo_platform/types/guardrail/crowd_strike_aidr_rail_config.py +29 -0
- nemo_platform/types/guardrail/crowd_strike_aidr_rail_config_param.py +29 -0
- nemo_platform/types/guardrail/dialog_rails.py +34 -0
- nemo_platform/types/guardrail/dialog_rails_param.py +35 -0
- nemo_platform/types/guardrail/executed_action.py +48 -0
- nemo_platform/types/guardrail/fact_checking_rail_config.py +31 -0
- nemo_platform/types/guardrail/fact_checking_rail_config_param.py +32 -0
- nemo_platform/types/guardrail/fiddler_guardrails.py +35 -0
- nemo_platform/types/guardrail/fiddler_guardrails_param.py +35 -0
- nemo_platform/types/guardrail/function_call_param.py +35 -0
- nemo_platform/types/guardrail/function_param.py +35 -0
- nemo_platform/types/guardrail/g_li_ner_detection.py +51 -0
- nemo_platform/types/guardrail/g_li_ner_detection_options.py +29 -0
- nemo_platform/types/guardrail/g_li_ner_detection_options_param.py +31 -0
- nemo_platform/types/guardrail/g_li_ner_detection_param.py +52 -0
- nemo_platform/types/guardrail/generation_log.py +44 -0
- nemo_platform/types/guardrail/generation_log_options_param.py +50 -0
- nemo_platform/types/guardrail/generation_options_param.py +55 -0
- nemo_platform/types/guardrail/generation_rails_options_param.py +53 -0
- nemo_platform/types/guardrail/generation_stats.py +56 -0
- nemo_platform/types/guardrail/guardrail_check_params.py +164 -0
- nemo_platform/types/guardrail/guardrail_check_response.py +36 -0
- nemo_platform/types/guardrail/guardrail_config.py +59 -0
- nemo_platform/types/guardrail/guardrail_config_filter_param.py +49 -0
- nemo_platform/types/guardrail/guardrail_configs_page.py +37 -0
- nemo_platform/types/guardrail/guardrails_ai_rail_config.py +33 -0
- nemo_platform/types/guardrail/guardrails_ai_rail_config_param.py +35 -0
- nemo_platform/types/guardrail/guardrails_ai_validator_config.py +44 -0
- nemo_platform/types/guardrail/guardrails_ai_validator_config_param.py +45 -0
- nemo_platform/types/guardrail/guardrails_data.py +40 -0
- nemo_platform/types/guardrail/guardrails_data_param.py +67 -0
- nemo_platform/types/guardrail/image_u_rl_param.py +32 -0
- nemo_platform/types/guardrail/injection_detection.py +49 -0
- nemo_platform/types/guardrail/injection_detection_param.py +52 -0
- nemo_platform/types/guardrail/input_rails.py +32 -0
- nemo_platform/types/guardrail/input_rails_param.py +34 -0
- nemo_platform/types/guardrail/instruction.py +30 -0
- nemo_platform/types/guardrail/instruction_param.py +32 -0
- nemo_platform/types/guardrail/jailbreak_detection_config.py +52 -0
- nemo_platform/types/guardrail/jailbreak_detection_config_param.py +58 -0
- nemo_platform/types/guardrail/llm_call_info.py +63 -0
- nemo_platform/types/guardrail/log_adapter_config.py +41 -0
- nemo_platform/types/guardrail/log_adapter_config_param.py +27 -0
- nemo_platform/types/guardrail/message_template.py +30 -0
- nemo_platform/types/guardrail/message_template_param.py +32 -0
- nemo_platform/types/guardrail/model.py +55 -0
- nemo_platform/types/guardrail/model_cache_config.py +36 -0
- nemo_platform/types/guardrail/model_cache_config_param.py +37 -0
- nemo_platform/types/guardrail/model_param.py +55 -0
- nemo_platform/types/guardrail/model_parameters.py +51 -0
- nemo_platform/types/guardrail/model_parameters_param.py +38 -0
- nemo_platform/types/guardrail/multilingual_config.py +40 -0
- nemo_platform/types/guardrail/multilingual_config_param.py +41 -0
- nemo_platform/types/guardrail/output_rails.py +44 -0
- nemo_platform/types/guardrail/output_rails_param.py +46 -0
- nemo_platform/types/guardrail/output_rails_streaming_config.py +44 -0
- nemo_platform/types/guardrail/output_rails_streaming_config_param.py +44 -0
- nemo_platform/types/guardrail/pangea_rail_config.py +33 -0
- nemo_platform/types/guardrail/pangea_rail_config_param.py +34 -0
- nemo_platform/types/guardrail/pangea_rail_options.py +31 -0
- nemo_platform/types/guardrail/pangea_rail_options_param.py +33 -0
- nemo_platform/types/guardrail/patronus_evaluate_api_params.py +38 -0
- nemo_platform/types/guardrail/patronus_evaluate_api_params_param.py +40 -0
- nemo_platform/types/guardrail/patronus_evaluate_config.py +30 -0
- nemo_platform/types/guardrail/patronus_evaluate_config_param.py +31 -0
- nemo_platform/types/guardrail/patronus_evaluation_success_strategy.py +22 -0
- nemo_platform/types/guardrail/patronus_rail_config.py +33 -0
- nemo_platform/types/guardrail/patronus_rail_config_param.py +34 -0
- nemo_platform/types/guardrail/private_ai_detection.py +39 -0
- nemo_platform/types/guardrail/private_ai_detection_options.py +29 -0
- nemo_platform/types/guardrail/private_ai_detection_options_param.py +31 -0
- nemo_platform/types/guardrail/private_ai_detection_param.py +40 -0
- nemo_platform/types/guardrail/rail_status.py +26 -0
- nemo_platform/types/guardrail/rails.py +73 -0
- nemo_platform/types/guardrail/rails_config.py +79 -0
- nemo_platform/types/guardrail/rails_config_data.py +94 -0
- nemo_platform/types/guardrail/rails_config_data_param.py +95 -0
- nemo_platform/types/guardrail/rails_config_param.py +81 -0
- nemo_platform/types/guardrail/rails_param.py +74 -0
- nemo_platform/types/guardrail/reasoning_config.py +32 -0
- nemo_platform/types/guardrail/reasoning_config_param.py +32 -0
- nemo_platform/types/guardrail/regex_detection.py +36 -0
- nemo_platform/types/guardrail/regex_detection_options.py +32 -0
- nemo_platform/types/guardrail/regex_detection_options_param.py +34 -0
- nemo_platform/types/guardrail/regex_detection_param.py +37 -0
- nemo_platform/types/guardrail/retrieval_rails.py +29 -0
- nemo_platform/types/guardrail/retrieval_rails_param.py +31 -0
- nemo_platform/types/guardrail/sensitive_data_detection.py +43 -0
- nemo_platform/types/guardrail/sensitive_data_detection_options.py +37 -0
- nemo_platform/types/guardrail/sensitive_data_detection_options_param.py +39 -0
- nemo_platform/types/guardrail/sensitive_data_detection_param.py +45 -0
- nemo_platform/types/guardrail/single_call_config.py +31 -0
- nemo_platform/types/guardrail/single_call_config_param.py +31 -0
- nemo_platform/types/guardrail/status_enum.py +22 -0
- nemo_platform/types/guardrail/task_prompt.py +63 -0
- nemo_platform/types/guardrail/task_prompt_param.py +65 -0
- nemo_platform/types/guardrail/tool_input_rails.py +36 -0
- nemo_platform/types/guardrail/tool_input_rails_param.py +38 -0
- nemo_platform/types/guardrail/tool_output_rails.py +36 -0
- nemo_platform/types/guardrail/tool_output_rails_param.py +38 -0
- nemo_platform/types/guardrail/tracing_config.py +48 -0
- nemo_platform/types/guardrail/tracing_config_param.py +50 -0
- nemo_platform/types/guardrail/trend_micro_rail_config.py +51 -0
- nemo_platform/types/guardrail/trend_micro_rail_config_param.py +51 -0
- nemo_platform/types/guardrail/user_messages_config.py +42 -0
- nemo_platform/types/guardrail/user_messages_config_param.py +42 -0
- nemo_platform/types/iam/__init__.py +26 -0
- nemo_platform/types/iam/date_range_filter_param.py +36 -0
- nemo_platform/types/iam/role_binding.py +42 -0
- nemo_platform/types/iam/role_binding_create_params.py +39 -0
- nemo_platform/types/iam/role_binding_delete_params.py +30 -0
- nemo_platform/types/iam/role_binding_filter_param.py +49 -0
- nemo_platform/types/iam/role_binding_list_params.py +44 -0
- nemo_platform/types/iam/role_bindings_page.py +37 -0
- nemo_platform/types/inference/__init__.py +60 -0
- nemo_platform/types/inference/deployment_config_create_params.py +47 -0
- nemo_platform/types/inference/deployment_config_list_params.py +46 -0
- nemo_platform/types/inference/deployment_config_update_params.py +37 -0
- nemo_platform/types/inference/deployment_configs/__init__.py +20 -0
- nemo_platform/types/inference/deployment_configs/version_list_response.py +25 -0
- nemo_platform/types/inference/deployment_create_params.py +45 -0
- nemo_platform/types/inference/deployment_list_models_response.py +23 -0
- nemo_platform/types/inference/deployment_list_params.py +52 -0
- nemo_platform/types/inference/deployment_update_params.py +35 -0
- nemo_platform/types/inference/deployment_update_status_params.py +42 -0
- nemo_platform/types/inference/deployments/__init__.py +20 -0
- nemo_platform/types/inference/deployments/version_list_response.py +25 -0
- nemo_platform/types/inference/gateway/__init__.py +38 -0
- nemo_platform/types/inference/gateway/model_patch_params.py +31 -0
- nemo_platform/types/inference/gateway/model_patch_response.py +23 -0
- nemo_platform/types/inference/gateway/model_post_params.py +31 -0
- nemo_platform/types/inference/gateway/model_post_response.py +23 -0
- nemo_platform/types/inference/gateway/model_put_params.py +31 -0
- nemo_platform/types/inference/gateway/model_put_response.py +23 -0
- nemo_platform/types/inference/gateway/openai/__init__.py +18 -0
- nemo_platform/types/inference/gateway/openai/v1/__init__.py +21 -0
- nemo_platform/types/inference/gateway/openai/v1/openai_list_models_resp.py +31 -0
- nemo_platform/types/inference/gateway/openai/v1/openai_model_resp.py +34 -0
- nemo_platform/types/inference/gateway/openai_patch_params.py +29 -0
- nemo_platform/types/inference/gateway/openai_patch_response.py +23 -0
- nemo_platform/types/inference/gateway/openai_post_params.py +29 -0
- nemo_platform/types/inference/gateway/openai_post_response.py +23 -0
- nemo_platform/types/inference/gateway/openai_put_params.py +29 -0
- nemo_platform/types/inference/gateway/openai_put_response.py +23 -0
- nemo_platform/types/inference/gateway/provider_patch_params.py +31 -0
- nemo_platform/types/inference/gateway/provider_patch_response.py +23 -0
- nemo_platform/types/inference/gateway/provider_post_params.py +31 -0
- nemo_platform/types/inference/gateway/provider_post_response.py +23 -0
- nemo_platform/types/inference/gateway/provider_put_params.py +31 -0
- nemo_platform/types/inference/gateway/provider_put_response.py +23 -0
- nemo_platform/types/inference/gateway/provider_ready_response.py +23 -0
- nemo_platform/types/inference/k8s_nim_operator_config.py +57 -0
- nemo_platform/types/inference/k8s_nim_operator_config_param.py +58 -0
- nemo_platform/types/inference/middleware_call.py +55 -0
- nemo_platform/types/inference/middleware_call_param.py +56 -0
- nemo_platform/types/inference/model_deployment.py +97 -0
- nemo_platform/types/inference/model_deployment_config.py +76 -0
- nemo_platform/types/inference/model_deployment_config_filter_param.py +49 -0
- nemo_platform/types/inference/model_deployment_configs_page.py +37 -0
- nemo_platform/types/inference/model_deployment_filter_param.py +56 -0
- nemo_platform/types/inference/model_deployment_status.py +24 -0
- nemo_platform/types/inference/model_deployment_status_history_item.py +37 -0
- nemo_platform/types/inference/model_deployments_page.py +37 -0
- nemo_platform/types/inference/model_provider.py +134 -0
- nemo_platform/types/inference/model_provider_filter_param.py +56 -0
- nemo_platform/types/inference/model_provider_sort.py +24 -0
- nemo_platform/types/inference/model_provider_status.py +24 -0
- nemo_platform/types/inference/model_providers_page.py +37 -0
- nemo_platform/types/inference/model_type.py +22 -0
- nemo_platform/types/inference/nim_deployment.py +96 -0
- nemo_platform/types/inference/nim_deployment_param.py +93 -0
- nemo_platform/types/inference/provider_create_params.py +94 -0
- nemo_platform/types/inference/provider_list_params.py +47 -0
- nemo_platform/types/inference/provider_update_params.py +87 -0
- nemo_platform/types/inference/provider_update_status_params.py +48 -0
- nemo_platform/types/inference/served_model_mapping.py +35 -0
- nemo_platform/types/inference/served_model_mapping_param.py +32 -0
- nemo_platform/types/inference/virtual_model.py +91 -0
- nemo_platform/types/inference/virtual_model_create_params.py +83 -0
- nemo_platform/types/inference/virtual_model_inference_config.py +32 -0
- nemo_platform/types/inference/virtual_model_inference_config_param.py +34 -0
- nemo_platform/types/inference/virtual_model_list_params.py +35 -0
- nemo_platform/types/inference/virtual_model_patch_params.py +80 -0
- nemo_platform/types/inference/virtual_models_page.py +37 -0
- nemo_platform/types/intake/__init__.py +86 -0
- nemo_platform/types/intake/app.py +51 -0
- nemo_platform/types/intake/app_create_params.py +38 -0
- nemo_platform/types/intake/app_filter_param.py +46 -0
- nemo_platform/types/intake/app_list_params.py +44 -0
- nemo_platform/types/intake/app_patch_params.py +35 -0
- nemo_platform/types/intake/app_sort_field.py +22 -0
- nemo_platform/types/intake/apps/__init__.py +26 -0
- nemo_platform/types/intake/apps/task.py +54 -0
- nemo_platform/types/intake/apps/task_create_params.py +40 -0
- nemo_platform/types/intake/apps/task_filter_param.py +49 -0
- nemo_platform/types/intake/apps/task_list_params.py +44 -0
- nemo_platform/types/intake/apps/task_patch_params.py +37 -0
- nemo_platform/types/intake/apps/task_sort_field.py +22 -0
- nemo_platform/types/intake/apps/tasks_page.py +37 -0
- nemo_platform/types/intake/apps_page.py +37 -0
- nemo_platform/types/intake/entries/__init__.py +20 -0
- nemo_platform/types/intake/entries/event_create_params.py +40 -0
- nemo_platform/types/intake/entry.py +98 -0
- nemo_platform/types/intake/entry_context.py +79 -0
- nemo_platform/types/intake/entry_context_filter_param.py +41 -0
- nemo_platform/types/intake/entry_context_param.py +82 -0
- nemo_platform/types/intake/entry_create_params.py +85 -0
- nemo_platform/types/intake/entry_data.py +48 -0
- nemo_platform/types/intake/entry_data_param.py +51 -0
- nemo_platform/types/intake/entry_filter_param.py +85 -0
- nemo_platform/types/intake/entry_list_params.py +47 -0
- nemo_platform/types/intake/entry_patch_params.py +79 -0
- nemo_platform/types/intake/entry_sort_field.py +22 -0
- nemo_platform/types/intake/entry_user_rating_filter_param.py +31 -0
- nemo_platform/types/intake/entrys_page.py +37 -0
- nemo_platform/types/intake/evaluation_context_param.py +41 -0
- nemo_platform/types/intake/evaluator_result.py +52 -0
- nemo_platform/types/intake/evaluator_result_create_params.py +52 -0
- nemo_platform/types/intake/evaluator_result_data_type.py +22 -0
- nemo_platform/types/intake/evaluator_result_event.py +67 -0
- nemo_platform/types/intake/evaluator_result_event_param.py +69 -0
- nemo_platform/types/intake/evaluator_result_filter_param.py +49 -0
- nemo_platform/types/intake/evaluator_result_list_params.py +43 -0
- nemo_platform/types/intake/evaluator_result_sort_field.py +22 -0
- nemo_platform/types/intake/evaluator_results_page.py +37 -0
- nemo_platform/types/intake/export_config_param.py +44 -0
- nemo_platform/types/intake/export_config_param_param.py +45 -0
- nemo_platform/types/intake/export_preview_params.py +34 -0
- nemo_platform/types/intake/export_preview_response.py +39 -0
- nemo_platform/types/intake/exports/__init__.py +28 -0
- nemo_platform/types/intake/exports/export_config.py +44 -0
- nemo_platform/types/intake/exports/export_job.py +76 -0
- nemo_platform/types/intake/exports/export_job_filter_param.py +50 -0
- nemo_platform/types/intake/exports/export_job_sort_field.py +22 -0
- nemo_platform/types/intake/exports/export_jobs_page.py +37 -0
- nemo_platform/types/intake/exports/export_status_details.py +35 -0
- nemo_platform/types/intake/exports/job_create_params.py +40 -0
- nemo_platform/types/intake/exports/job_list_params.py +46 -0
- nemo_platform/types/intake/exports/job_status.py +22 -0
- nemo_platform/types/intake/flexible_entry_request.py +63 -0
- nemo_platform/types/intake/flexible_entry_request_param.py +51 -0
- nemo_platform/types/intake/flexible_entry_response.py +62 -0
- nemo_platform/types/intake/flexible_entry_response_param.py +49 -0
- nemo_platform/types/intake/flexible_message.py +56 -0
- nemo_platform/types/intake/flexible_message_param.py +43 -0
- nemo_platform/types/intake/float_filter_param.py +32 -0
- nemo_platform/types/intake/ingest/__init__.py +37 -0
- nemo_platform/types/intake/ingest/atif_agent_param.py +35 -0
- nemo_platform/types/intake/ingest/atif_content_part_image_param.py +30 -0
- nemo_platform/types/intake/ingest/atif_content_part_param.py +28 -0
- nemo_platform/types/intake/ingest/atif_content_part_text_param.py +28 -0
- nemo_platform/types/intake/ingest/atif_create_params.py +52 -0
- nemo_platform/types/intake/ingest/atif_final_metrics_param.py +37 -0
- nemo_platform/types/intake/ingest/atif_image_source_param.py +28 -0
- nemo_platform/types/intake/ingest/atif_metrics_param.py +41 -0
- nemo_platform/types/intake/ingest/atif_observation_param.py +29 -0
- nemo_platform/types/intake/ingest/atif_observation_result_param.py +36 -0
- nemo_platform/types/intake/ingest/atif_step_agent_param.py +58 -0
- nemo_platform/types/intake/ingest/atif_step_param.py +29 -0
- nemo_platform/types/intake/ingest/atif_step_system_param.py +43 -0
- nemo_platform/types/intake/ingest/atif_step_user_param.py +43 -0
- nemo_platform/types/intake/ingest/atif_subagent_trajectory_ref_param.py +33 -0
- nemo_platform/types/intake/ingest/atif_tool_call_param.py +31 -0
- nemo_platform/types/intake/ingest/chat_completion_create_params.py +66 -0
- nemo_platform/types/intake/ingest/chat_completions_ingest_response.py +26 -0
- nemo_platform/types/intake/ingest/otlp/__init__.py +18 -0
- nemo_platform/types/intake/ingest/otlp/v1/__init__.py +20 -0
- nemo_platform/types/intake/ingest/otlp/v1/ingest_response.py +26 -0
- nemo_platform/types/intake/message_role.py +22 -0
- nemo_platform/types/intake/reviewer_annotation_event.py +95 -0
- nemo_platform/types/intake/reviewer_annotation_event_param.py +97 -0
- nemo_platform/types/intake/span.py +100 -0
- nemo_platform/types/intake/span_evaluation_context.py +40 -0
- nemo_platform/types/intake/span_filter_param.py +95 -0
- nemo_platform/types/intake/span_kind.py +24 -0
- nemo_platform/types/intake/span_list_params.py +46 -0
- nemo_platform/types/intake/span_sort_field.py +22 -0
- nemo_platform/types/intake/span_status.py +22 -0
- nemo_platform/types/intake/spans/__init__.py +20 -0
- nemo_platform/types/intake/spans/evaluator_result_list_response.py +25 -0
- nemo_platform/types/intake/spans_page.py +37 -0
- nemo_platform/types/intake/thumb_direction.py +22 -0
- nemo_platform/types/intake/trace.py +65 -0
- nemo_platform/types/intake/trace_filter_param.py +60 -0
- nemo_platform/types/intake/trace_list_params.py +49 -0
- nemo_platform/types/intake/trace_retrieve_params.py +32 -0
- nemo_platform/types/intake/trace_sort_field.py +22 -0
- nemo_platform/types/intake/traces_page.py +37 -0
- nemo_platform/types/intake/usage.py +65 -0
- nemo_platform/types/intake/usage_param.py +68 -0
- nemo_platform/types/intake/user_action_event.py +65 -0
- nemo_platform/types/intake/user_action_event_param.py +68 -0
- nemo_platform/types/intake/user_feedback_event.py +84 -0
- nemo_platform/types/intake/user_feedback_event_param.py +86 -0
- nemo_platform/types/intake/user_rating.py +68 -0
- nemo_platform/types/intake/user_rating_param.py +70 -0
- nemo_platform/types/jobs/__init__.py +95 -0
- nemo_platform/types/jobs/compute_resource_spec.py +32 -0
- nemo_platform/types/jobs/compute_resource_spec_param.py +32 -0
- nemo_platform/types/jobs/compute_resources.py +46 -0
- nemo_platform/types/jobs/compute_resources_param.py +47 -0
- nemo_platform/types/jobs/container_spec.py +35 -0
- nemo_platform/types/jobs/container_spec_param.py +37 -0
- nemo_platform/types/jobs/cpu_execution_provider.py +46 -0
- nemo_platform/types/jobs/cpu_execution_provider_param.py +46 -0
- nemo_platform/types/jobs/distributed_gpu_execution_provider.py +46 -0
- nemo_platform/types/jobs/distributed_gpu_execution_provider_param.py +46 -0
- nemo_platform/types/jobs/docker_job_execution_profile.py +43 -0
- nemo_platform/types/jobs/docker_job_execution_profile_config.py +52 -0
- nemo_platform/types/jobs/docker_job_network_config.py +27 -0
- nemo_platform/types/jobs/docker_job_storage_config.py +36 -0
- nemo_platform/types/jobs/docker_volume_mount.py +47 -0
- nemo_platform/types/jobs/e2e_job_execution_profile.py +43 -0
- nemo_platform/types/jobs/gpu_execution_provider.py +46 -0
- nemo_platform/types/jobs/gpu_execution_provider_param.py +46 -0
- nemo_platform/types/jobs/image_pull_secret.py +27 -0
- nemo_platform/types/jobs/job_create_params.py +46 -0
- nemo_platform/types/jobs/job_execution_profile_config.py +42 -0
- nemo_platform/types/jobs/job_get_logs_params.py +41 -0
- nemo_platform/types/jobs/job_list_execution_profiles_response.py +37 -0
- nemo_platform/types/jobs/job_list_params.py +47 -0
- nemo_platform/types/jobs/job_update_status_details_params.py +29 -0
- nemo_platform/types/jobs/kubernetes_empty_dir_volume.py +32 -0
- nemo_platform/types/jobs/kubernetes_job_execution_profile.py +43 -0
- nemo_platform/types/jobs/kubernetes_job_execution_profile_config.py +101 -0
- nemo_platform/types/jobs/kubernetes_job_storage_config.py +40 -0
- nemo_platform/types/jobs/kubernetes_object_metadata.py +28 -0
- nemo_platform/types/jobs/kubernetes_persistent_volume_claim.py +32 -0
- nemo_platform/types/jobs/kubernetes_volume.py +37 -0
- nemo_platform/types/jobs/kubernetes_volume_mount.py +38 -0
- nemo_platform/types/jobs/platform_job_environment_variable.py +36 -0
- nemo_platform/types/jobs/platform_job_environment_variable_param.py +37 -0
- nemo_platform/types/jobs/platform_job_list_task_response.py +29 -0
- nemo_platform/types/jobs/platform_job_response.py +75 -0
- nemo_platform/types/jobs/platform_job_responses_page.py +37 -0
- nemo_platform/types/jobs/platform_job_secret_environment_variable_ref.py +27 -0
- nemo_platform/types/jobs/platform_job_secret_environment_variable_ref_param.py +29 -0
- nemo_platform/types/jobs/platform_job_sort_field.py +22 -0
- nemo_platform/types/jobs/platform_job_spec.py +30 -0
- nemo_platform/types/jobs/platform_job_spec_param.py +32 -0
- nemo_platform/types/jobs/platform_job_step.py +75 -0
- nemo_platform/types/jobs/platform_job_step_spec.py +63 -0
- nemo_platform/types/jobs/platform_job_step_spec_param.py +65 -0
- nemo_platform/types/jobs/platform_job_step_with_context.py +67 -0
- nemo_platform/types/jobs/platform_job_step_with_contexts_page.py +37 -0
- nemo_platform/types/jobs/platform_job_steps_list_filter_param.py +38 -0
- nemo_platform/types/jobs/platform_job_task.py +75 -0
- nemo_platform/types/jobs/platform_jobs_list_filter_param.py +51 -0
- nemo_platform/types/jobs/result_create_params.py +34 -0
- nemo_platform/types/jobs/result_list_params.py +34 -0
- nemo_platform/types/jobs/step_lifecycle.py +37 -0
- nemo_platform/types/jobs/step_lifecycle_param.py +37 -0
- nemo_platform/types/jobs/step_list_params.py +44 -0
- nemo_platform/types/jobs/step_update_status_params.py +44 -0
- nemo_platform/types/jobs/subprocess_execution_provider.py +33 -0
- nemo_platform/types/jobs/subprocess_execution_provider_param.py +34 -0
- nemo_platform/types/jobs/subprocess_job_execution_profile.py +36 -0
- nemo_platform/types/jobs/subprocess_job_execution_profile_config.py +49 -0
- nemo_platform/types/jobs/task_create_or_update_params.py +46 -0
- nemo_platform/types/jobs/volcano_job_execution_profile.py +39 -0
- nemo_platform/types/jobs/volcano_job_execution_profile_config.py +114 -0
- nemo_platform/types/members/__init__.py +24 -0
- nemo_platform/types/members/member_create_params.py +40 -0
- nemo_platform/types/members/member_delete_params.py +32 -0
- nemo_platform/types/members/member_update_params.py +37 -0
- nemo_platform/types/members/workspace_member.py +39 -0
- nemo_platform/types/members/workspace_member_list_response.py +29 -0
- nemo_platform/types/models/__init__.py +34 -0
- nemo_platform/types/models/adapter.py +73 -0
- nemo_platform/types/models/adapter_create_params.py +54 -0
- nemo_platform/types/models/adapter_update_params.py +37 -0
- nemo_platform/types/models/base_model_filter_param.py +29 -0
- nemo_platform/types/models/finetuning_type_filter_param.py +31 -0
- nemo_platform/types/models/lora.py +30 -0
- nemo_platform/types/models/lora_param.py +30 -0
- nemo_platform/types/models/model_create_params.py +93 -0
- nemo_platform/types/models/model_entity.py +112 -0
- nemo_platform/types/models/model_entity_filter_param.py +72 -0
- nemo_platform/types/models/model_entity_sort_field.py +22 -0
- nemo_platform/types/models/model_entitys_page.py +37 -0
- nemo_platform/types/models/model_list_params.py +50 -0
- nemo_platform/types/models/model_retrieve_params.py +29 -0
- nemo_platform/types/models/model_update_params.py +86 -0
- nemo_platform/types/projects/__init__.py +25 -0
- nemo_platform/types/projects/project.py +45 -0
- nemo_platform/types/projects/project_create_params.py +37 -0
- nemo_platform/types/projects/project_list_params.py +49 -0
- nemo_platform/types/projects/project_sort_field.py +22 -0
- nemo_platform/types/projects/project_update_params.py +29 -0
- nemo_platform/types/projects/projects_page.py +37 -0
- nemo_platform/types/safe_synthesizer/__init__.py +68 -0
- nemo_platform/types/safe_synthesizer/classify_config.py +41 -0
- nemo_platform/types/safe_synthesizer/classify_config_param.py +43 -0
- nemo_platform/types/safe_synthesizer/column.py +46 -0
- nemo_platform/types/safe_synthesizer/column_actions.py +36 -0
- nemo_platform/types/safe_synthesizer/column_actions_param.py +38 -0
- nemo_platform/types/safe_synthesizer/column_param.py +49 -0
- nemo_platform/types/safe_synthesizer/data_parameters.py +69 -0
- nemo_platform/types/safe_synthesizer/data_parameters_param.py +69 -0
- nemo_platform/types/safe_synthesizer/differential_privacy_hyperparams.py +48 -0
- nemo_platform/types/safe_synthesizer/differential_privacy_hyperparams_param.py +48 -0
- nemo_platform/types/safe_synthesizer/evaluation_parameters.py +64 -0
- nemo_platform/types/safe_synthesizer/evaluation_parameters_param.py +66 -0
- nemo_platform/types/safe_synthesizer/generate_parameters.py +104 -0
- nemo_platform/types/safe_synthesizer/generate_parameters_param.py +102 -0
- nemo_platform/types/safe_synthesizer/gliner_config.py +41 -0
- nemo_platform/types/safe_synthesizer/gliner_config_param.py +41 -0
- nemo_platform/types/safe_synthesizer/globals.py +45 -0
- nemo_platform/types/safe_synthesizer/globals_param.py +47 -0
- nemo_platform/types/safe_synthesizer/job_create_params.py +46 -0
- nemo_platform/types/safe_synthesizer/job_get_logs_params.py +30 -0
- nemo_platform/types/safe_synthesizer/job_list_params.py +44 -0
- nemo_platform/types/safe_synthesizer/jobs/__init__.py +21 -0
- nemo_platform/types/safe_synthesizer/jobs/safe_synthesizer_summary.py +95 -0
- nemo_platform/types/safe_synthesizer/jobs/safe_synthesizer_timing.py +41 -0
- nemo_platform/types/safe_synthesizer/ner_config.py +42 -0
- nemo_platform/types/safe_synthesizer/ner_config_param.py +44 -0
- nemo_platform/types/safe_synthesizer/pii_replacer_config.py +40 -0
- nemo_platform/types/safe_synthesizer/pii_replacer_config_param.py +42 -0
- nemo_platform/types/safe_synthesizer/row.py +50 -0
- nemo_platform/types/safe_synthesizer/row_actions.py +33 -0
- nemo_platform/types/safe_synthesizer/row_actions_param.py +35 -0
- nemo_platform/types/safe_synthesizer/row_param.py +53 -0
- nemo_platform/types/safe_synthesizer/safe_synthesizer_job.py +63 -0
- nemo_platform/types/safe_synthesizer/safe_synthesizer_job_config.py +55 -0
- nemo_platform/types/safe_synthesizer/safe_synthesizer_job_config_param.py +56 -0
- nemo_platform/types/safe_synthesizer/safe_synthesizer_jobs_list_filter_param.py +49 -0
- nemo_platform/types/safe_synthesizer/safe_synthesizer_jobs_page.py +37 -0
- nemo_platform/types/safe_synthesizer/safe_synthesizer_jobs_sort_field.py +22 -0
- nemo_platform/types/safe_synthesizer/safe_synthesizer_parameters.py +91 -0
- nemo_platform/types/safe_synthesizer/safe_synthesizer_parameters_param.py +92 -0
- nemo_platform/types/safe_synthesizer/step_definition.py +39 -0
- nemo_platform/types/safe_synthesizer/step_definition_param.py +41 -0
- nemo_platform/types/safe_synthesizer/time_series_parameters.py +73 -0
- nemo_platform/types/safe_synthesizer/time_series_parameters_param.py +74 -0
- nemo_platform/types/safe_synthesizer/training_hyperparams.py +165 -0
- nemo_platform/types/safe_synthesizer/training_hyperparams_param.py +167 -0
- nemo_platform/types/safe_synthesizer/validation_parameters.py +54 -0
- nemo_platform/types/safe_synthesizer/validation_parameters_param.py +54 -0
- nemo_platform/types/secrets/__init__.py +28 -0
- nemo_platform/types/secrets/platform_secret_access_response.py +33 -0
- nemo_platform/types/secrets/platform_secret_admin_rotation_response.py +28 -0
- nemo_platform/types/secrets/platform_secret_response.py +40 -0
- nemo_platform/types/secrets/platform_secret_responses_page.py +37 -0
- nemo_platform/types/secrets/secret_create_params.py +39 -0
- nemo_platform/types/secrets/secret_list_params.py +32 -0
- nemo_platform/types/secrets/secret_update_params.py +32 -0
- nemo_platform/types/shared/__init__.py +50 -0
- nemo_platform/types/shared/api_endpoint_data.py +43 -0
- nemo_platform/types/shared/auth_context.py +48 -0
- nemo_platform/types/shared/auth_discovery_response.py +32 -0
- nemo_platform/types/shared/backend_format.py +22 -0
- nemo_platform/types/shared/datetime_filter.py +33 -0
- nemo_platform/types/shared/delete_response.py +33 -0
- nemo_platform/types/shared/error_response.py +46 -0
- nemo_platform/types/shared/field_error.py +28 -0
- nemo_platform/types/shared/file_storage_type.py +22 -0
- nemo_platform/types/shared/fileset_metadata.py +46 -0
- nemo_platform/types/shared/finetuning_type.py +48 -0
- nemo_platform/types/shared/generic_sort_field.py +22 -0
- nemo_platform/types/shared/http_validation_error.py +27 -0
- nemo_platform/types/shared/linear_layer_spec.py +33 -0
- nemo_platform/types/shared/mamba_config.py +44 -0
- nemo_platform/types/shared/mo_e_config.py +41 -0
- nemo_platform/types/shared/model_metadata_content.py +38 -0
- nemo_platform/types/shared/model_spec.py +111 -0
- nemo_platform/types/shared/oidc_discovery_response.py +42 -0
- nemo_platform/types/shared/pagination_data.py +37 -0
- nemo_platform/types/shared/platform_job_list_result_response.py +27 -0
- nemo_platform/types/shared/platform_job_log.py +34 -0
- nemo_platform/types/shared/platform_job_log_page.py +33 -0
- nemo_platform/types/shared/platform_job_result_response.py +44 -0
- nemo_platform/types/shared/platform_job_status.py +24 -0
- nemo_platform/types/shared/platform_job_status_response.py +48 -0
- nemo_platform/types/shared/platform_job_step_status_response.py +48 -0
- nemo_platform/types/shared/platform_job_task_status_response.py +47 -0
- nemo_platform/types/shared/prompt_data.py +47 -0
- nemo_platform/types/shared/sliding_window_config.py +27 -0
- nemo_platform/types/shared/tool_call_config.py +46 -0
- nemo_platform/types/shared/tool_calling_metadata_content.py +48 -0
- nemo_platform/types/shared/validation_error.py +34 -0
- nemo_platform/types/shared_params/__init__.py +33 -0
- nemo_platform/types/shared_params/api_endpoint_data.py +38 -0
- nemo_platform/types/shared_params/backend_format.py +24 -0
- nemo_platform/types/shared_params/datetime_filter.py +34 -0
- nemo_platform/types/shared_params/file_storage_type.py +24 -0
- nemo_platform/types/shared_params/finetuning_type.py +50 -0
- nemo_platform/types/shared_params/generic_sort_field.py +24 -0
- nemo_platform/types/shared_params/linear_layer_spec.py +35 -0
- nemo_platform/types/shared_params/mamba_config.py +44 -0
- nemo_platform/types/shared_params/mo_e_config.py +41 -0
- nemo_platform/types/shared_params/model_metadata_content.py +39 -0
- nemo_platform/types/shared_params/model_spec.py +113 -0
- nemo_platform/types/shared_params/platform_job_status.py +26 -0
- nemo_platform/types/shared_params/prompt_data.py +48 -0
- nemo_platform/types/shared_params/sliding_window_config.py +29 -0
- nemo_platform/types/shared_params/tool_call_config.py +46 -0
- nemo_platform/types/shared_params/tool_calling_metadata_content.py +48 -0
- nemo_platform/types/workspaces/__init__.py +24 -0
- nemo_platform/types/workspaces/workspace.py +48 -0
- nemo_platform/types/workspaces/workspace_create_params.py +41 -0
- nemo_platform/types/workspaces/workspace_list_params.py +47 -0
- nemo_platform/types/workspaces/workspace_update_params.py +27 -0
- nemo_platform/types/workspaces/workspaces_page.py +37 -0
- nemo_platform/ui/__init__.py +15 -0
- nemo_platform/ui/output.py +109 -0
- nemo_platform/ui/prompts.py +678 -0
- nemo_platform_plugin/.agents/skills/creating-a-plugin/SKILL.md +275 -0
- nemo_platform_plugin/.agents/skills/plugin-config/SKILL.md +168 -0
- nemo_platform_plugin/.agents/skills/plugin-controller/SKILL.md +320 -0
- nemo_platform_plugin/.agents/skills/plugin-entities/SKILL.md +290 -0
- nemo_platform_plugin/.agents/skills/plugin-function/SKILL.md +292 -0
- nemo_platform_plugin/.agents/skills/plugin-inference-middleware/SKILL.md +346 -0
- nemo_platform_plugin/.agents/skills/plugin-job/SKILL.md +247 -0
- nemo_platform_plugin/.agents/skills/plugin-platform-services/SKILL.md +239 -0
- nemo_platform_plugin/.agents/skills/plugin-platform-services/services-reference.md +192 -0
- nemo_platform_plugin/.agents/skills/plugin-service/SKILL.md +181 -0
- nemo_platform_plugin/.agents/skills/plugin-service/crud-example.md +353 -0
- nemo_platform_plugin/.agents/skills/plugin-testing/SKILL.md +206 -0
- nemo_platform_plugin/README.md +43 -0
- nemo_platform_plugin/_base.py +53 -0
- nemo_platform_plugin/_spec_flags.py +573 -0
- nemo_platform_plugin/api/filter.py +189 -0
- nemo_platform_plugin/api/parsed_filter.py +288 -0
- nemo_platform_plugin/api/text_filter.py +291 -0
- nemo_platform_plugin/cli.py +152 -0
- nemo_platform_plugin/cli_errors.py +232 -0
- nemo_platform_plugin/cli_renderer.py +92 -0
- nemo_platform_plugin/commands.py +1433 -0
- nemo_platform_plugin/config.py +844 -0
- nemo_platform_plugin/controller.py +148 -0
- nemo_platform_plugin/dependencies.py +64 -0
- nemo_platform_plugin/discovery.py +484 -0
- nemo_platform_plugin/docs/ARCHITECTURE.md +160 -0
- nemo_platform_plugin/docs/CONFIG.md +151 -0
- nemo_platform_plugin/docs/CONTROLLER.md +209 -0
- nemo_platform_plugin/docs/ENTITY.md +186 -0
- nemo_platform_plugin/docs/INFERENCE_MIDDLEWARE.md +408 -0
- nemo_platform_plugin/docs/JOB.md +237 -0
- nemo_platform_plugin/docs/QUICKSTART.md +306 -0
- nemo_platform_plugin/docs/SERVICE.md +302 -0
- nemo_platform_plugin/entities.py +793 -0
- nemo_platform_plugin/entity.py +79 -0
- nemo_platform_plugin/entity_client.py +54 -0
- nemo_platform_plugin/filter_ops.py +169 -0
- nemo_platform_plugin/function.py +299 -0
- nemo_platform_plugin/function_context.py +61 -0
- nemo_platform_plugin/functions/frames.py +69 -0
- nemo_platform_plugin/functions/routes.py +454 -0
- nemo_platform_plugin/inference_middleware.py +1191 -0
- nemo_platform_plugin/interface.py +28 -0
- nemo_platform_plugin/job.py +370 -0
- nemo_platform_plugin/job_context.py +86 -0
- nemo_platform_plugin/job_results.py +209 -0
- nemo_platform_plugin/jobs/_cli_options.py +204 -0
- nemo_platform_plugin/jobs/api_factory.py +1178 -0
- nemo_platform_plugin/jobs/constants.py +27 -0
- nemo_platform_plugin/jobs/docker.py +76 -0
- nemo_platform_plugin/jobs/exceptions.py +8 -0
- nemo_platform_plugin/jobs/file_manager.py +238 -0
- nemo_platform_plugin/jobs/openapi_utils.py +174 -0
- nemo_platform_plugin/jobs/profile.py +110 -0
- nemo_platform_plugin/jobs/result_manager.py +291 -0
- nemo_platform_plugin/jobs/routes.py +297 -0
- nemo_platform_plugin/jobs/schemas.py +174 -0
- nemo_platform_plugin/refs.py +154 -0
- nemo_platform_plugin/run_dependencies.py +137 -0
- nemo_platform_plugin/scheduler.py +537 -0
- nemo_platform_plugin/schema.py +216 -0
- nemo_platform_plugin/sdk.py +34 -0
- nemo_platform_plugin/seed.py +71 -0
- nemo_platform_plugin/service.py +130 -0
- nemo_platform_plugin/tasks/dispatcher.py +226 -0
- nemo_platform_plugin-0.1.0.dist-info/METADATA +88 -0
- nemo_platform_plugin-0.1.0.dist-info/RECORD +1224 -0
- nemo_platform_plugin-0.1.0.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
"""Bundled NeMo Platform skills, exposed via the ``nemo.skills`` entry point.
|
|
5
|
+
|
|
6
|
+
This package serves a dual role:
|
|
7
|
+
|
|
8
|
+
* As a Python package, it exports :func:`skills_dir`, the entry-point callable
|
|
9
|
+
registered under ``nemo.skills`` in the package's ``pyproject.toml``. The
|
|
10
|
+
skills registry uses the same discovery mechanism for both built-in and
|
|
11
|
+
plugin-provided skills, so the platform appears as just one provider among
|
|
12
|
+
many.
|
|
13
|
+
|
|
14
|
+
* As a data directory, it holds the bundled ``<skill-name>/SKILL.md`` files
|
|
15
|
+
shipped with NeMo Platform. The vendor tool copies the entire directory into
|
|
16
|
+
the SDK package, so the SDK ships these alongside the generated client code.
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
from __future__ import annotations
|
|
20
|
+
|
|
21
|
+
from pathlib import Path
|
|
22
|
+
|
|
23
|
+
__all__ = ["skills_dir"]
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def skills_dir() -> Path:
|
|
27
|
+
"""Return the directory containing this package's bundled skills."""
|
|
28
|
+
return Path(__file__).parent
|
|
@@ -0,0 +1,564 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: inference
|
|
3
|
+
description: >
|
|
4
|
+
End-to-end reference for inference on the NeMo platform — registering LLM
|
|
5
|
+
backends as ModelProviders, wiring them to VirtualModels with Switchyard
|
|
6
|
+
middleware (random routing, translate) and `nemo-guardrails`
|
|
7
|
+
content-safety rails, and hitting them via the nemo CLI. Use when the task
|
|
8
|
+
involves registering inference providers, discovering served models,
|
|
9
|
+
creating VirtualModels, configuring switchyard middleware, layering
|
|
10
|
+
guardrails alongside translate (correct middleware ordering for
|
|
11
|
+
OpenAI/Anthropic cross-format setups), making inference calls through IGW,
|
|
12
|
+
or debugging routing and translation failures locally. For platform startup,
|
|
13
|
+
Switchyard install, and DB-reset prerequisites, see the `nemo-setup` skill
|
|
14
|
+
(repo-level `SETUP.md`, mirrored at `.agents/skills/nemo-setup/SKILL.md`).
|
|
15
|
+
user-invocable: true
|
|
16
|
+
allowed-tools: Bash, Read, Grep
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Inference Reference — ModelProvider + VirtualModel + Switchyard
|
|
20
|
+
|
|
21
|
+
## Prerequisites
|
|
22
|
+
|
|
23
|
+
This skill assumes the platform is already running and any required plugins
|
|
24
|
+
(`nemo-switchyard`, `nemo-guardrails`) are loaded. For local-platform startup,
|
|
25
|
+
Switchyard install, and DB-reset choices, follow the **`nemo-setup` skill**
|
|
26
|
+
(`SETUP.md` at the repo root, also at `.agents/skills/nemo-setup/SKILL.md`)
|
|
27
|
+
first and then return here.
|
|
28
|
+
|
|
29
|
+
## API key environment variables
|
|
30
|
+
|
|
31
|
+
Applies to both branches. Before creating secrets or running notebook/test
|
|
32
|
+
harness flows, confirm API key environment variables:
|
|
33
|
+
|
|
34
|
+
1. Check whether `INFERENCE_NVIDIA_API_KEY` and/or `NVIDIA_API_KEY` are already
|
|
35
|
+
set in the user's shell.
|
|
36
|
+
2. Treat `INFERENCE_NVIDIA_API_KEY` as the source of truth for the
|
|
37
|
+
`https://inference-api.nvidia.com/v1` provider secret and notebook/test
|
|
38
|
+
harness flows.
|
|
39
|
+
3. If `INFERENCE_NVIDIA_API_KEY` is not set, ask whether the user has the same
|
|
40
|
+
token in another environment variable. Common alias:
|
|
41
|
+
`NVIDIA_INFERENCE_API_KEY`.
|
|
42
|
+
4. If the user identifies an alias variable, export it into
|
|
43
|
+
`INFERENCE_NVIDIA_API_KEY` for the current shell/session before continuing.
|
|
44
|
+
5. If `NVIDIA_API_KEY` is required for a Build/NIM-style provider or seeding
|
|
45
|
+
path such as `https://integrate.api.nvidia.com`, and is not set, ask
|
|
46
|
+
whether another env var already contains that token and export it into
|
|
47
|
+
`NVIDIA_API_KEY` if the user confirms.
|
|
48
|
+
|
|
49
|
+
Example alias normalization:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
export INFERENCE_NVIDIA_API_KEY="$NVIDIA_INFERENCE_API_KEY"
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Use `INFERENCE_NVIDIA_API_KEY` for inference-api secret creation:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
printf '%s' "$INFERENCE_NVIDIA_API_KEY" | nemo secrets create nvidia-inference-key \
|
|
59
|
+
--from-file - --workspace my-workspace
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Environment
|
|
63
|
+
|
|
64
|
+
- **Port**: `8080` (CLI default — do NOT pass a custom `--base-url`)
|
|
65
|
+
- **`export NMP_BASE_URL=http://localhost:8080` — required when targeting a local platform.** If your `~/.config/nmp/config.yaml` already points at a remote cluster, the CLI uses that base URL and ignores the local platform entirely. Setting this env var overrides the config file for the current shell session.
|
|
66
|
+
- Workspace: `my-workspace` (substitute as needed; `default` also works)
|
|
67
|
+
- Backend: `https://inference-api.nvidia.com/v1`
|
|
68
|
+
|
|
69
|
+
For platform startup (`nemo services run`), Switchyard install, and state reset, see the `nemo-setup` skill (`SETUP.md` at the repo root).
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## CLI gotchas (real failures observed)
|
|
74
|
+
|
|
75
|
+
- **`nemo secrets create`** uses `--from-file` (pipe key in). No `--value` flag.
|
|
76
|
+
- **`nemo inference providers create`** takes `<name>` as a **positional** arg.
|
|
77
|
+
Same for `update-status`, `get`, `delete`.
|
|
78
|
+
- **`nemo virtual-models create`** is a **top-level** command (not under `nemo inference`) and takes `<name>` as positional.
|
|
79
|
+
- **There is no `nemo inference chat completions create` command.** Use
|
|
80
|
+
`nemo inference gateway model post <path> <vm-name> --workspace <ws> --body '<json>'`.
|
|
81
|
+
- **`example` is not a valid `--services` arg.** Valid services: `audit`,
|
|
82
|
+
`auth`, `customization`, `data-designer`, `entities`, `evaluation`, `files`,
|
|
83
|
+
`guardrails`, `hello-world`, `inference-gateway`, `intake`, `jobs`, `models`,
|
|
84
|
+
`safe-synthesizer`, `secrets`, `studio`.
|
|
85
|
+
- **The reconciler re-syncs `served_models` from backend discovery every few
|
|
86
|
+
seconds and drops manually-registered entries.** Always point VM `models` at
|
|
87
|
+
auto-discovered entity IDs (e.g. `my-workspace/aws-anthropic-claude-opus-4-5`)
|
|
88
|
+
— these survive reconciler cycles. If a VM 404s shortly after working, the
|
|
89
|
+
reconciler overwrote your entry. Re-run `update-status` with the **full list**
|
|
90
|
+
(it replaces, not appends) or switch to auto-discovered IDs.
|
|
91
|
+
- **`update-status` replaces the entire `served_models` list** — include all
|
|
92
|
+
entries, not just the new one.
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Step 1 — Workspace + Secret + Provider
|
|
97
|
+
|
|
98
|
+
`my-workspace` is not created automatically. Create it first, then the secret
|
|
99
|
+
and provider.
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
nemo workspaces create my-workspace
|
|
103
|
+
|
|
104
|
+
printf '%s' "$INFERENCE_NVIDIA_API_KEY" | nemo secrets create nvidia-inference-key \
|
|
105
|
+
--from-file - --workspace my-workspace
|
|
106
|
+
|
|
107
|
+
nemo inference providers create nvidia-inference \
|
|
108
|
+
--workspace my-workspace \
|
|
109
|
+
--host-url "https://inference-api.nvidia.com/v1" \
|
|
110
|
+
--api-key-secret-name "nvidia-inference-key"
|
|
111
|
+
|
|
112
|
+
nemo wait inference provider nvidia-inference --workspace my-workspace
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Auto-discovery runs within ~3s.
|
|
116
|
+
|
|
117
|
+
For NVIDIA Build / NIM via `https://integrate.api.nvidia.com`, use
|
|
118
|
+
`NVIDIA_API_KEY`:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
printf '%s' "$NVIDIA_API_KEY" | nemo secrets create nvidia-build-key \
|
|
122
|
+
--from-file - --workspace my-workspace
|
|
123
|
+
|
|
124
|
+
nemo inference providers create nvidia-build \
|
|
125
|
+
--workspace my-workspace \
|
|
126
|
+
--host-url "https://integrate.api.nvidia.com" \
|
|
127
|
+
--api-key-secret-name "nvidia-build-key"
|
|
128
|
+
|
|
129
|
+
nemo wait inference provider nvidia-build --workspace my-workspace
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
For Anthropic direct (needs auth header rewrite):
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
printf '%s' "$ANTHROPIC_API_KEY" | nemo secrets create anthropic-api-key \
|
|
136
|
+
--from-file - --workspace my-workspace
|
|
137
|
+
|
|
138
|
+
nemo inference providers create anthropic \
|
|
139
|
+
--workspace my-workspace \
|
|
140
|
+
--host-url "https://api.anthropic.com" \
|
|
141
|
+
--api-key-secret-name "anthropic-api-key" \
|
|
142
|
+
--auth-header-format "X-Api-Key: {{ auth_secret }}" \
|
|
143
|
+
--default-extra-headers '{"anthropic-version": "2023-06-01"}'
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
`{{ auth_secret }}` is Jinja2 — substituted at request time. Without it the
|
|
147
|
+
gateway defaults to `Authorization: Bearer` which Anthropic rejects.
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Step 2 — Discover available models
|
|
152
|
+
|
|
153
|
+
After the provider is ready, `served_models` contains auto-discovered entries.
|
|
154
|
+
**Always use these entity IDs** in VM `--models` — they survive the reconciler.
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
# All entity IDs (use these in --models and inference body)
|
|
158
|
+
nemo inference providers get nvidia-inference --workspace my-workspace \
|
|
159
|
+
--output-format json | jq -r '.served_models[].model_entity_id'
|
|
160
|
+
|
|
161
|
+
# Side-by-side: served_model_name → model_entity_id
|
|
162
|
+
nemo inference providers get nvidia-inference --workspace my-workspace \
|
|
163
|
+
--output-format json \
|
|
164
|
+
| jq -r '.served_models[] | "\(.served_model_name) → \(.model_entity_id)"'
|
|
165
|
+
|
|
166
|
+
# Filter by vendor prefix
|
|
167
|
+
nemo inference providers get nvidia-inference --workspace my-workspace \
|
|
168
|
+
--output-format json \
|
|
169
|
+
| jq -r '.served_models[] | select(.served_model_name | startswith("aws/anthropic")) | .model_entity_id'
|
|
170
|
+
|
|
171
|
+
# Count
|
|
172
|
+
nemo inference providers get nvidia-inference --workspace my-workspace \
|
|
173
|
+
--output-format json | jq '.served_models | length'
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
Entity ID normalization: slashes/dots → dashes, workspace prefix added.
|
|
177
|
+
`aws/anthropic/claude-opus-4-5` → `my-workspace/aws-anthropic-claude-opus-4-5`
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Step 3 — Body + model entity convention
|
|
182
|
+
|
|
183
|
+
`body["model"]` must be a **real backend entity ID** that IGW can resolve — not
|
|
184
|
+
the VM name. The VM name is resolved via the URL path
|
|
185
|
+
(`gateway model post v1/chat/completions <vm-name>`), not the body.
|
|
186
|
+
|
|
187
|
+
Exception: VMs that **rewrite** `body["model"]` (random_routing,
|
|
188
|
+
`ModelFormatLookupProcessor` in translate) — here the initial body model can be
|
|
189
|
+
the VM name since the rewrite resolves it to the real entity.
|
|
190
|
+
|
|
191
|
+
For VMs without a rewriting middleware: always send the real auto-discovered
|
|
192
|
+
entity in the body.
|
|
193
|
+
|
|
194
|
+
### Common failure: HTTP 422 from chat completion
|
|
195
|
+
|
|
196
|
+
If `nemo agents invoke …`, an `openai`-SDK client, or a `langchain-openai`
|
|
197
|
+
client returns HTTP 422 in well under a second with no provider call made,
|
|
198
|
+
the gateway rejected the request's `model` field as malformed. The most
|
|
199
|
+
common cause is sending the **upstream catalog name** (e.g.
|
|
200
|
+
`meta/llama-3.3-70b-instruct` — vendor slash, dotted version) instead of
|
|
201
|
+
the **hyphenated entity ID** (`meta-llama-3-3-70b-instruct`).
|
|
202
|
+
|
|
203
|
+
The entity ID is what `nemo models list` returns and what every gateway
|
|
204
|
+
input expects. The slash-with-dots form is `served_model_name` — a
|
|
205
|
+
human-display alias from the upstream provider's catalog. It appears in
|
|
206
|
+
provider metadata and error messages, but is **never** a valid request
|
|
207
|
+
field. (A `workspace/entity-id` prefix is fine — that's a workspace
|
|
208
|
+
qualifier, not the upstream alias. The rejected form is specifically
|
|
209
|
+
`vendor/upstream.dotted.name`.)
|
|
210
|
+
|
|
211
|
+
Diagnose and recover:
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
# 1. What entity IDs actually exist?
|
|
215
|
+
nemo inference providers get nvidia-build --workspace default \
|
|
216
|
+
--output-format json \
|
|
217
|
+
| jq -r '.served_models[] | "\(.served_model_name) → \(.model_entity_id)"'
|
|
218
|
+
|
|
219
|
+
# 2. If you set NEMO_DEFAULT_MODEL, confirm it's the hyphenated entity ID.
|
|
220
|
+
echo "$NEMO_DEFAULT_MODEL"
|
|
221
|
+
|
|
222
|
+
# 3. If a NAT-style deployed agent's resolved config carries the upstream
|
|
223
|
+
# slash form in model_name, re-deploy with NEMO_DEFAULT_MODEL set to the
|
|
224
|
+
# entity ID. The .config.llms.agent.model_name path is specific to NAT
|
|
225
|
+
# workflows (e.g. the calculator-agent example); other workflow types store
|
|
226
|
+
# the model elsewhere.
|
|
227
|
+
nemo agents deployments list --workspace default \
|
|
228
|
+
| jq -r '.data[] | "\(.name) model=\(.config.llms.agent.model_name // "n/a")"'
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
For an OpenAI-SDK or LangChain client, pass the entity ID (with or without
|
|
232
|
+
the `workspace/` prefix) as `model=`:
|
|
233
|
+
|
|
234
|
+
```python
|
|
235
|
+
client.chat.completions.create(
|
|
236
|
+
model="default/meta-llama-3-3-70b-instruct", # OR "meta-llama-3-3-70b-instruct"
|
|
237
|
+
messages=[...],
|
|
238
|
+
)
|
|
239
|
+
# NOT: model="meta/llama-3.3-70b-instruct" → 422
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
This is intentional gateway behavior: accepting arbitrary slash-prefixed
|
|
243
|
+
names would force IGW to guess provider attribution for every request
|
|
244
|
+
instead of resolving it from a registered entity.
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## Step 4 — VirtualModel patterns
|
|
249
|
+
|
|
250
|
+
### Random routing — same format (deterministic test: `strong_probability=1.0`)
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
nemo virtual-models create vm-random-strong --workspace my-workspace \
|
|
254
|
+
--models '[
|
|
255
|
+
{"model":"my-workspace/nvidia-mistralai-mixtral-8x22b-instruct-v01","backend_format":"OPENAI_CHAT"},
|
|
256
|
+
{"model":"my-workspace/nvidia-qwen-qwen3-32b","backend_format":"OPENAI_CHAT"}
|
|
257
|
+
]' \
|
|
258
|
+
--request-middleware '[{"name":"nemo-switchyard","config_type":"random_routing","config":{
|
|
259
|
+
"strong":{"model":"my-workspace/nvidia-mistralai-mixtral-8x22b-instruct-v01"},
|
|
260
|
+
"weak":{"model":"my-workspace/nvidia-qwen-qwen3-32b"},
|
|
261
|
+
"strong_probability":1.0,
|
|
262
|
+
"rng_seed":42,
|
|
263
|
+
"enable_stats":false
|
|
264
|
+
}}]'
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
### Random routing — cross format (chain routing + translate)
|
|
268
|
+
|
|
269
|
+
`random_routing` picks the backend; `translate` rewrites the request format.
|
|
270
|
+
Order matters: routing first, translate second. Use `response_middleware` too
|
|
271
|
+
for full round-trip translation back to the client's format.
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
nemo virtual-models create vm-random-cross --workspace my-workspace \
|
|
275
|
+
--models '[
|
|
276
|
+
{"model":"my-workspace/aws-anthropic-claude-opus-4-5","backend_format":"ANTHROPIC_MESSAGES"},
|
|
277
|
+
{"model":"my-workspace/nvidia-nvidia-nemotron-nano-31b-v3","backend_format":"OPENAI_CHAT"}
|
|
278
|
+
]' \
|
|
279
|
+
--request-middleware '[
|
|
280
|
+
{"name":"nemo-switchyard","config_type":"random_routing","config":{
|
|
281
|
+
"strong":{"model":"my-workspace/aws-anthropic-claude-opus-4-5"},
|
|
282
|
+
"weak":{"model":"my-workspace/nvidia-nvidia-nemotron-nano-31b-v3"},
|
|
283
|
+
"strong_probability":0.5,
|
|
284
|
+
"enable_stats":false
|
|
285
|
+
}},
|
|
286
|
+
{"name":"nemo-switchyard","config_type":"translate","config":{"target_format":"auto","enable_stats":false}}
|
|
287
|
+
]' \
|
|
288
|
+
--response-middleware '[{"name":"nemo-switchyard","config_type":"translate","config":{"target_format":"auto","enable_stats":false}}]'
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
### Translate — cross format, full round-trip ✓
|
|
292
|
+
|
|
293
|
+
Client sends OpenAI shape, backend is Anthropic, response comes back as OpenAI.
|
|
294
|
+
**Must list translate in BOTH `request_middleware` and `response_middleware`.**
|
|
295
|
+
|
|
296
|
+
```bash
|
|
297
|
+
nemo virtual-models create vm-translate-cross --workspace my-workspace \
|
|
298
|
+
--models '[{"model":"my-workspace/aws-anthropic-claude-opus-4-5","backend_format":"ANTHROPIC_MESSAGES"}]' \
|
|
299
|
+
--request-middleware '[{"name":"nemo-switchyard","config_type":"translate","config":{"target_format":"anthropic","enable_stats":false}}]' \
|
|
300
|
+
--response-middleware '[{"name":"nemo-switchyard","config_type":"translate","config":{"target_format":"anthropic","enable_stats":false}}]'
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### Guardrails — adding content safety to a VirtualModel
|
|
304
|
+
|
|
305
|
+
Guardrail rails are attached as a `nemo-guardrails` MiddlewareCall. Configs are
|
|
306
|
+
created separately with `nemo guardrail configs create` — see the
|
|
307
|
+
**nemo-guardrails** skill for rails config JSON, prompt templates, task LLMs,
|
|
308
|
+
and streaming output rails. This section only covers the VirtualModel wiring.
|
|
309
|
+
|
|
310
|
+
The same call must appear in `--request-middleware` (input rails),
|
|
311
|
+
`--response-middleware` (output rails), or both (full coverage). A call only on
|
|
312
|
+
the request side fires input rails only; only on the response side fires output
|
|
313
|
+
rails only.
|
|
314
|
+
|
|
315
|
+
**Output rails only** — block bad bot responses (most common):
|
|
316
|
+
|
|
317
|
+
```bash
|
|
318
|
+
nemo virtual-models create vm-guarded --workspace my-workspace \
|
|
319
|
+
--models '[{"model":"my-workspace/<backend-entity-id>","backend_format":"OPENAI_CHAT"}]' \
|
|
320
|
+
--response-middleware '[{
|
|
321
|
+
"name":"nemo-guardrails",
|
|
322
|
+
"config_type":"guardrail_config",
|
|
323
|
+
"config_id":"my-workspace/content-safety"
|
|
324
|
+
}]'
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
**Input + output rails** — full coverage. Include the call in **both** lists:
|
|
328
|
+
|
|
329
|
+
```bash
|
|
330
|
+
nemo virtual-models create vm-guarded-full --workspace my-workspace \
|
|
331
|
+
--models '[{"model":"my-workspace/<backend-entity-id>","backend_format":"OPENAI_CHAT"}]' \
|
|
332
|
+
--request-middleware '[{"name":"nemo-guardrails","config_type":"guardrail_config","config_id":"my-workspace/content-safety"}]' \
|
|
333
|
+
--response-middleware '[{"name":"nemo-guardrails","config_type":"guardrail_config","config_id":"my-workspace/content-safety"}]'
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
The guardrails plugin doesn't route — the VirtualModel's `--models` array
|
|
337
|
+
decides the upstream backend. Inline configs (no stored entity) are also
|
|
338
|
+
supported via `"config":{...}` instead of `"config_id"`.
|
|
339
|
+
|
|
340
|
+
#### Guardrails + Switchyard `translate` — ordering matters
|
|
341
|
+
|
|
342
|
+
The `nemo-guardrails` plugin only understands **OpenAI chat completions**
|
|
343
|
+
shape. When the backend is in a different format (e.g. `ANTHROPIC_MESSAGES`)
|
|
344
|
+
and a `translate` middleware is also in the chain, guardrails must see the
|
|
345
|
+
OpenAI form on both sides:
|
|
346
|
+
|
|
347
|
+
- **Request stack:** `guardrails` BEFORE `translate`. Guardrails inspects the
|
|
348
|
+
OpenAI request from the client, then translate rewrites it to the backend
|
|
349
|
+
format.
|
|
350
|
+
- **Response stack:** `guardrails` AFTER `translate`. Translate converts the
|
|
351
|
+
backend response back to OpenAI first, then guardrails runs output rails on
|
|
352
|
+
the OpenAI shape.
|
|
353
|
+
- **Inference calls:** keep the request body in OpenAI shape regardless of
|
|
354
|
+
the backend's `backend_format`. The translate middleware handles the
|
|
355
|
+
conversion to/from backend format; sending Anthropic-shaped bodies bypasses
|
|
356
|
+
guardrails' input rails because the plugin can't parse them.
|
|
357
|
+
|
|
358
|
+
```bash
|
|
359
|
+
nemo virtual-models create vm-guarded-translate --workspace my-workspace \
|
|
360
|
+
--models '[{"model":"my-workspace/aws-anthropic-claude-opus-4-5","backend_format":"ANTHROPIC_MESSAGES"}]' \
|
|
361
|
+
--request-middleware '[
|
|
362
|
+
{"name":"nemo-guardrails","config_type":"guardrail_config","config_id":"my-workspace/content-safety"},
|
|
363
|
+
{"name":"nemo-switchyard","config_type":"translate","config":{"target_format":"anthropic","enable_stats":false}}
|
|
364
|
+
]' \
|
|
365
|
+
--response-middleware '[
|
|
366
|
+
{"name":"nemo-switchyard","config_type":"translate","config":{"target_format":"anthropic","enable_stats":false}},
|
|
367
|
+
{"name":"nemo-guardrails","config_type":"guardrail_config","config_id":"my-workspace/content-safety"}
|
|
368
|
+
]'
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
Same principle applies when `random_routing` mixes OpenAI and Anthropic
|
|
372
|
+
backends behind one VirtualModel: put `guardrails` first in the request chain
|
|
373
|
+
(before any routing/translate decisions), and put `guardrails` last in the
|
|
374
|
+
response chain (after translate has normalized everything back to OpenAI).
|
|
375
|
+
|
|
376
|
+
If a rails config declares a task LLM via `models[]` (e.g. `content_safety`,
|
|
377
|
+
`topic_control`), the task LLM must itself be addressable as OpenAI chat
|
|
378
|
+
completions — point `models[].model` at an OpenAI-format entity ID, not at an
|
|
379
|
+
Anthropic-format backend. The guardrails plugin doesn't translate task-LLM
|
|
380
|
+
calls.
|
|
381
|
+
|
|
382
|
+
---
|
|
383
|
+
|
|
384
|
+
## Step 5 — Making inference calls
|
|
385
|
+
|
|
386
|
+
**Preferred (nemo CLI):**
|
|
387
|
+
|
|
388
|
+
```bash
|
|
389
|
+
nemo inference gateway model post v1/chat/completions <vm-name> \
|
|
390
|
+
--workspace my-workspace \
|
|
391
|
+
--body '{"model":"my-workspace/<entity-id>","messages":[{"role":"user","content":"hi"}],"max_tokens":15}'
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
**Verify routing by running multiple times** (model field in response flips
|
|
395
|
+
between backends at the configured probability). Parse with Python — see the
|
|
396
|
+
parsing-pitfalls subsection below for why `jq` is the wrong tool here:
|
|
397
|
+
|
|
398
|
+
```bash
|
|
399
|
+
for i in $(seq 1 10); do
|
|
400
|
+
nemo inference gateway model post v1/chat/completions vm-random-cross \
|
|
401
|
+
--workspace my-workspace \
|
|
402
|
+
--body '{"model":"my-workspace/vm-random-cross","messages":[{"role":"user","content":"hi"}],"max_tokens":400}' \
|
|
403
|
+
| python3 -c 'import json,sys; d=json.loads(sys.stdin.read(), strict=False); print(d.get("model"))'
|
|
404
|
+
done
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
For reasoning models (e.g. `nemotron-nano-*`), use `max_tokens` ≥ ~200; the
|
|
408
|
+
model spends most of its budget on a hidden reasoning trace and produces an
|
|
409
|
+
empty `content` if cut off mid-trace (`finish_reason: length`). That is not
|
|
410
|
+
an inference error, just a budget shortfall.
|
|
411
|
+
|
|
412
|
+
**curl (streaming or when you need raw output):**
|
|
413
|
+
|
|
414
|
+
```bash
|
|
415
|
+
curl -s -X POST \
|
|
416
|
+
"http://localhost:8080/apis/inference-gateway/v2/workspaces/my-workspace/openai/-/v1/chat/completions" \
|
|
417
|
+
-H "Content-Type: application/json" \
|
|
418
|
+
-d '{"model":"my-workspace/<entity-id>","messages":[{"role":"user","content":"Hello"}],"max_tokens":64,"stream":true}'
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
### Parsing pitfalls — `jq` and reasoning-model responses
|
|
422
|
+
|
|
423
|
+
Reasoning models (`nemotron-nano-*` and similar) sometimes emit responses
|
|
424
|
+
that contain raw control characters (literal U+0000–U+001F bytes — typically
|
|
425
|
+
unescaped newlines or tabs) inside the `reasoning_content` field. This is
|
|
426
|
+
technically invalid JSON. Python's `json.loads` rejects it by default but can
|
|
427
|
+
be configured with `strict=False` to accept it. **`jq` does not** — it bails
|
|
428
|
+
out with:
|
|
429
|
+
|
|
430
|
+
```
|
|
431
|
+
jq: parse error: Invalid string: control characters from U+0000 through
|
|
432
|
+
U+001F must be escaped at line N, column M
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
In a routing-verification loop driven by `jq -r '.model'`, every nemotron
|
|
436
|
+
response will look like a failure (empty `model` field) while every opus
|
|
437
|
+
response parses fine — making the split look catastrophically broken when
|
|
438
|
+
inference is actually working. **Always parse these responses with Python
|
|
439
|
+
using `strict=False`** (or a similarly lenient parser) instead of `jq`:
|
|
440
|
+
|
|
441
|
+
```bash
|
|
442
|
+
echo "$resp" | python3 -c '
|
|
443
|
+
import json, sys
|
|
444
|
+
d = json.loads(sys.stdin.read(), strict=False)
|
|
445
|
+
print(d.get("model"), d["choices"][0].get("finish_reason"))
|
|
446
|
+
'
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
If you must stay in shell, `jq --slurp -R 'fromjson?'` will tolerate most of
|
|
450
|
+
these payloads but is brittle and not worth the effort. Python is the right
|
|
451
|
+
tool.
|
|
452
|
+
|
|
453
|
+
---
|
|
454
|
+
|
|
455
|
+
## Verifying routing decisions (DEBUG logs)
|
|
456
|
+
|
|
457
|
+
Start with `LOG_LEVEL=DEBUG`. Filter service output:
|
|
458
|
+
|
|
459
|
+
```bash
|
|
460
|
+
grep -E "RandomRoutingRequestProcessor|picked tier|FormatTranslate|StampOriginalFormat" \
|
|
461
|
+
<service-output-file>
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
Expected output:
|
|
465
|
+
```
|
|
466
|
+
debug RandomRoutingRequestProcessor: picked tier=strong model=my-workspace/aws-anthropic-claude-opus-4-5
|
|
467
|
+
debug RandomRoutingRequestProcessor: picked tier=weak model=my-workspace/nvidia-nvidia-nemotron-nano-31b-v3
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
`tier=` and `model=` in DEBUG logs match `response.model` returned to the client.
|
|
471
|
+
|
|
472
|
+
---
|
|
473
|
+
|
|
474
|
+
## Failure cases
|
|
475
|
+
|
|
476
|
+
### ❌ Translate in `request_middleware` only — response shape mismatch
|
|
477
|
+
|
|
478
|
+
The most common mistake. Request translates fine, backend call succeeds, but the
|
|
479
|
+
client receives the backend's **native** response shape instead of OpenAI:
|
|
480
|
+
|
|
481
|
+
| Field | ✓ translate in both | ✗ request only |
|
|
482
|
+
|---|---|---|
|
|
483
|
+
| `id` prefix | `chatcmpl-` (OpenAI) | `msg_` (Anthropic) |
|
|
484
|
+
| Shape | `choices[0].message.content` | `content[0].text` |
|
|
485
|
+
| Extra keys | — | `type`, `stop_reason`, `stop_sequence` |
|
|
486
|
+
|
|
487
|
+
Fix: always add `response_middleware` with the same translate config.
|
|
488
|
+
|
|
489
|
+
### ❌ Path mismatch without translate → 502
|
|
490
|
+
|
|
491
|
+
Sending `/v1/messages` traffic to a VM backed by an OpenAI-format model with no
|
|
492
|
+
translate fails because IGW forwards the inbound path unchanged. Switchyard's
|
|
493
|
+
`PathUpdateProcessor` only rewrites `request.path` when translate is configured.
|
|
494
|
+
|
|
495
|
+
### ❌ Reconciler-induced 404
|
|
496
|
+
|
|
497
|
+
VM works briefly then returns "Model entity not found". The reconciler overwrote
|
|
498
|
+
`served_models` from upstream auto-discovery. Fix: use auto-discovered entity IDs
|
|
499
|
+
in VM `--models` (they survive reconciler cycles) instead of manually-registered
|
|
500
|
+
aliases.
|
|
501
|
+
|
|
502
|
+
### ❌ NVIDIA hub silently accepts format mismatches
|
|
503
|
+
|
|
504
|
+
OpenAI body at `/v1/chat/completions` routed to an Anthropic backend **without**
|
|
505
|
+
translate does not fail at the upstream — NVIDIA hub accepts OpenAI-shaped bodies
|
|
506
|
+
for Anthropic models and returns the Anthropic-native response. The visible
|
|
507
|
+
failure is the response shape mismatch above (case 1), not a 4xx/5xx.
|
|
508
|
+
|
|
509
|
+
### ❌ Guardrails after translate (request) or before translate (response)
|
|
510
|
+
|
|
511
|
+
`nemo-guardrails` parses **OpenAI** chat shape only. With an Anthropic backend
|
|
512
|
+
and `request_middleware=[translate, guardrails]`, guardrails sees the
|
|
513
|
+
already-translated Anthropic body and either skips its rails or errors on the
|
|
514
|
+
unexpected shape. Symmetrically, `response_middleware=[guardrails, translate]`
|
|
515
|
+
runs guardrails against the raw Anthropic response. Fix: keep guardrails on the
|
|
516
|
+
OpenAI side of translate in both chains — `request=[guardrails, translate]`,
|
|
517
|
+
`response=[translate, guardrails]`. Same applies to clients sending
|
|
518
|
+
Anthropic-shaped request bodies: input rails won't fire. Send OpenAI shape and
|
|
519
|
+
let translate do the conversion.
|
|
520
|
+
|
|
521
|
+
---
|
|
522
|
+
|
|
523
|
+
## Troubleshooting
|
|
524
|
+
|
|
525
|
+
**DB disk I/O error on startup** — orphaned WAL journal files. Delete all three:
|
|
526
|
+
```bash
|
|
527
|
+
rm -rf ~/.local/share/nemo
|
|
528
|
+
```
|
|
529
|
+
|
|
530
|
+
**`nemo-switchyard` fails to load at startup** — `switchyard.lib` not importable.
|
|
531
|
+
Run `uv sync` from the repo root with default groups enabled to install the
|
|
532
|
+
plugin and its vendored `switchyard` library
|
|
533
|
+
(`plugins/nemo-switchyard/vendor/switchyard/`), then restart services.
|
|
534
|
+
|
|
535
|
+
**401 from Anthropic** — missing or wrong `--auth-header-format`. Verify:
|
|
536
|
+
```bash
|
|
537
|
+
nemo inference providers get anthropic --workspace my-workspace --output-format json \
|
|
538
|
+
| jq '.auth_header_format'
|
|
539
|
+
```
|
|
540
|
+
|
|
541
|
+
**No served models after provider creation** — wait ~10s for the first reconciler
|
|
542
|
+
cycle, then check:
|
|
543
|
+
```bash
|
|
544
|
+
nemo inference providers get nvidia-inference --workspace my-workspace \
|
|
545
|
+
--output-format json | jq '.served_models | length'
|
|
546
|
+
```
|
|
547
|
+
|
|
548
|
+
|
|
549
|
+
|
|
550
|
+
---
|
|
551
|
+
|
|
552
|
+
## Cleanup
|
|
553
|
+
|
|
554
|
+
```bash
|
|
555
|
+
# Delete all switchyard test VMs
|
|
556
|
+
for vm in $(nemo virtual-models list --workspace my-workspace --output-format json \
|
|
557
|
+
| jq -r '.data[].name' | grep vm-); do
|
|
558
|
+
nemo virtual-models delete "$vm" --workspace my-workspace
|
|
559
|
+
done
|
|
560
|
+
|
|
561
|
+
nemo inference providers delete nvidia-inference --workspace my-workspace
|
|
562
|
+
nemo secrets delete nvidia-inference-key --workspace my-workspace
|
|
563
|
+
nemo workspaces delete my-workspace
|
|
564
|
+
```
|