add version env variable

This commit is contained in:
Rashmi Pawar 2025-04-16 14:33:41 +05:30
parent 436b3269dc
commit 1d960bacdc
8 changed files with 16 additions and 20 deletions

View file

@ -22,9 +22,8 @@ The `llamastack/distribution-nvidia` distribution consists of the following prov
The following environment variables can be configured: The following environment variables can be configured:
- `NVIDIA_API_KEY`: NVIDIA API Key (default: ``) - `NVIDIA_API_KEY`: NVIDIA API Key (default: ``)
- `NVIDIA_USER_ID`: NVIDIA User ID (default: `llama-stack-user`) - `NVIDIA_APPEND_API_VERSION`: Whether to append the API version to the base_url (default: `True`)
- `NVIDIA_DATASET_NAMESPACE`: NVIDIA Dataset Namespace (default: `default`) - `NVIDIA_DATASET_NAMESPACE`: NVIDIA Dataset Namespace (default: `default`)
- `NVIDIA_ACCESS_POLICIES`: NVIDIA Access Policies (default: `{}`)
- `NVIDIA_PROJECT_ID`: NVIDIA Project ID (default: `test-project`) - `NVIDIA_PROJECT_ID`: NVIDIA Project ID (default: `test-project`)
- `NVIDIA_CUSTOMIZER_URL`: NVIDIA Customizer URL (default: `https://customizer.api.nvidia.com`) - `NVIDIA_CUSTOMIZER_URL`: NVIDIA Customizer URL (default: `https://customizer.api.nvidia.com`)
- `NVIDIA_OUTPUT_MODEL_DIR`: NVIDIA Output Model Directory (default: `test-example-model@v1`) - `NVIDIA_OUTPUT_MODEL_DIR`: NVIDIA Output Model Directory (default: `test-example-model@v1`)

View file

@ -22,9 +22,7 @@ The `llamastack/distribution-nvidia` distribution consists of the following prov
The following environment variables can be configured: The following environment variables can be configured:
- `NVIDIA_API_KEY`: NVIDIA API Key (default: ``) - `NVIDIA_API_KEY`: NVIDIA API Key (default: ``)
- `NVIDIA_USER_ID`: NVIDIA User ID (default: `llama-stack-user`)
- `NVIDIA_DATASET_NAMESPACE`: NVIDIA Dataset Namespace (default: `default`) - `NVIDIA_DATASET_NAMESPACE`: NVIDIA Dataset Namespace (default: `default`)
- `NVIDIA_ACCESS_POLICIES`: NVIDIA Access Policies (default: `{}`)
- `NVIDIA_PROJECT_ID`: NVIDIA Project ID (default: `test-project`) - `NVIDIA_PROJECT_ID`: NVIDIA Project ID (default: `test-project`)
- `NVIDIA_CUSTOMIZER_URL`: NVIDIA Customizer URL (default: `https://customizer.api.nvidia.com`) - `NVIDIA_CUSTOMIZER_URL`: NVIDIA Customizer URL (default: `https://customizer.api.nvidia.com`)
- `NVIDIA_OUTPUT_MODEL_DIR`: NVIDIA Output Model Directory (default: `test-example-model@v1`) - `NVIDIA_OUTPUT_MODEL_DIR`: NVIDIA Output Model Directory (default: `test-example-model@v1`)

View file

@ -47,10 +47,15 @@ class NVIDIAConfig(BaseModel):
default=60, default=60,
description="Timeout for the HTTP requests", description="Timeout for the HTTP requests",
) )
append_api_version: bool = Field(
default=lambda: os.getenv("NVIDIA_APPEND_API_VERSION", True),
description="Whether to append the API version to the model ID",
)
@classmethod @classmethod
def sample_run_config(cls, **kwargs) -> Dict[str, Any]: def sample_run_config(cls, **kwargs) -> Dict[str, Any]:
return { return {
"url": "${env.NVIDIA_BASE_URL:https://integrate.api.nvidia.com}", "url": "${env.NVIDIA_BASE_URL:https://integrate.api.nvidia.com}",
"api_key": "${env.NVIDIA_API_KEY:}", "api_key": "${env.NVIDIA_API_KEY:}",
"append_api_version": "${env.NVIDIA_APPEND_API_VERSION:True}",
} }

View file

@ -120,13 +120,10 @@ class NVIDIAInferenceAdapter(Inference, ModelRegistryHelper):
"meta/llama-3.2-90b-vision-instruct": "https://ai.api.nvidia.com/v1/gr/meta/llama-3.2-90b-vision-instruct", "meta/llama-3.2-90b-vision-instruct": "https://ai.api.nvidia.com/v1/gr/meta/llama-3.2-90b-vision-instruct",
} }
# add /v1 in case of hosted models base_url = f"{self._config.url}/v1" if self._config.append_api_version else self._config.url
base_url = self._config.url
if _is_nvidia_hosted(self._config): if _is_nvidia_hosted(self._config) and provider_model_id in special_model_urls:
if provider_model_id in special_model_urls:
base_url = special_model_urls[provider_model_id] base_url = special_model_urls[provider_model_id]
else:
base_url = f"{self._config.url}/v1"
return _get_client_for_base_url(base_url) return _get_client_for_base_url(base_url)
async def completion( async def completion(

View file

@ -36,7 +36,6 @@ import os
os.environ["NVIDIA_API_KEY"] = "your-api-key" os.environ["NVIDIA_API_KEY"] = "your-api-key"
os.environ["NVIDIA_CUSTOMIZER_URL"] = "http://nemo.test" os.environ["NVIDIA_CUSTOMIZER_URL"] = "http://nemo.test"
os.environ["NVIDIA_USER_ID"] = "llama-stack-user"
os.environ["NVIDIA_DATASET_NAMESPACE"] = "default" os.environ["NVIDIA_DATASET_NAMESPACE"] = "default"
os.environ["NVIDIA_PROJECT_ID"] = "test-project" os.environ["NVIDIA_PROJECT_ID"] = "test-project"
os.environ["NVIDIA_OUTPUT_MODEL_DIR"] = "test-example-model@v1" os.environ["NVIDIA_OUTPUT_MODEL_DIR"] = "test-example-model@v1"

View file

@ -90,19 +90,15 @@ def get_distribution_template() -> DistributionTemplate:
"", "",
"NVIDIA API Key", "NVIDIA API Key",
), ),
## Nemo Customizer related variables "NVIDIA_APPEND_API_VERSION": (
"NVIDIA_USER_ID": ( "True",
"llama-stack-user", "Whether to append the API version to the base_url",
"NVIDIA User ID",
), ),
## Nemo Customizer related variables
"NVIDIA_DATASET_NAMESPACE": ( "NVIDIA_DATASET_NAMESPACE": (
"default", "default",
"NVIDIA Dataset Namespace", "NVIDIA Dataset Namespace",
), ),
"NVIDIA_ACCESS_POLICIES": (
"{}",
"NVIDIA Access Policies",
),
"NVIDIA_PROJECT_ID": ( "NVIDIA_PROJECT_ID": (
"test-project", "test-project",
"NVIDIA Project ID", "NVIDIA Project ID",

View file

@ -18,6 +18,7 @@ providers:
config: config:
url: ${env.NVIDIA_BASE_URL:https://integrate.api.nvidia.com} url: ${env.NVIDIA_BASE_URL:https://integrate.api.nvidia.com}
api_key: ${env.NVIDIA_API_KEY:} api_key: ${env.NVIDIA_API_KEY:}
append_api_version: ${env.NVIDIA_APPEND_API_VERSION:True}
- provider_id: nvidia - provider_id: nvidia
provider_type: remote::nvidia provider_type: remote::nvidia
config: config:

View file

@ -18,6 +18,7 @@ providers:
config: config:
url: ${env.NVIDIA_BASE_URL:https://integrate.api.nvidia.com} url: ${env.NVIDIA_BASE_URL:https://integrate.api.nvidia.com}
api_key: ${env.NVIDIA_API_KEY:} api_key: ${env.NVIDIA_API_KEY:}
append_api_version: ${env.NVIDIA_APPEND_API_VERSION:True}
vector_io: vector_io:
- provider_id: faiss - provider_id: faiss
provider_type: inline::faiss provider_type: inline::faiss