mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-10-11 05:38:38 +00:00
# What does this PR do? use SecretStr for OpenAIMixin providers - RemoteInferenceProviderConfig now has auth_credential: SecretStr - the default alias is api_key (most common name) - some providers override to use api_token (RunPod, vLLM, Databricks) - some providers exclude it (Ollama, TGI, Vertex AI) addresses #3517 ## Test Plan ci w/ new tests
38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
# All rights reserved.
|
|
#
|
|
# This source code is licensed under the terms described in the LICENSE file in
|
|
# the root directory of this source tree.
|
|
|
|
from llama_stack.log import get_logger
|
|
from llama_stack.providers.utils.inference.openai_mixin import OpenAIMixin
|
|
|
|
from .config import OpenAIConfig
|
|
|
|
logger = get_logger(name=__name__, category="inference::openai")
|
|
|
|
|
|
#
|
|
# This OpenAI adapter implements Inference methods using OpenAIMixin
|
|
#
|
|
class OpenAIInferenceAdapter(OpenAIMixin):
|
|
"""
|
|
OpenAI Inference Adapter for Llama Stack.
|
|
"""
|
|
|
|
config: OpenAIConfig
|
|
|
|
provider_data_api_key_field: str = "openai_api_key"
|
|
|
|
embedding_model_metadata: dict[str, dict[str, int]] = {
|
|
"text-embedding-3-small": {"embedding_dimension": 1536, "context_length": 8192},
|
|
"text-embedding-3-large": {"embedding_dimension": 3072, "context_length": 8192},
|
|
}
|
|
|
|
def get_base_url(self) -> str:
|
|
"""
|
|
Get the OpenAI API base URL.
|
|
|
|
Returns the OpenAI API base URL from the configuration.
|
|
"""
|
|
return self.config.base_url
|