mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-06-27 18:50:41 +00:00
# What does this PR do? * Given that our API packages use "import *" in `__init.py__` we don't need to do `from llama_stack.apis.models.models` but simply from llama_stack.apis.models. The decision to use `import *` is debatable and should probably be revisited at one point. * Remove unneeded Ruff F401 rule * Consolidate Ruff F403 rule in the pyprojectfrom llama_stack.apis.models.models Signed-off-by: Sébastien Han <seb@redhat.com>
63 lines
1.8 KiB
Python
63 lines
1.8 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 dataclasses import dataclass
|
|
|
|
from llama_stack.apis.models import ModelType
|
|
from llama_stack.providers.utils.inference.model_registry import (
|
|
ProviderModelEntry,
|
|
)
|
|
|
|
LLM_MODEL_IDS = [
|
|
# the models w/ "openai/" prefix are the litellm specific model names.
|
|
# they should be deprecated in favor of the canonical openai model names.
|
|
"openai/gpt-4o",
|
|
"openai/gpt-4o-mini",
|
|
"openai/chatgpt-4o-latest",
|
|
"gpt-3.5-turbo-0125",
|
|
"gpt-3.5-turbo",
|
|
"gpt-3.5-turbo-instruct",
|
|
"gpt-4",
|
|
"gpt-4-turbo",
|
|
"gpt-4o",
|
|
"gpt-4o-2024-08-06",
|
|
"gpt-4o-mini",
|
|
"gpt-4o-audio-preview",
|
|
"chatgpt-4o-latest",
|
|
"o1",
|
|
"o1-mini",
|
|
"o3-mini",
|
|
"o4-mini",
|
|
]
|
|
|
|
|
|
@dataclass
|
|
class EmbeddingModelInfo:
|
|
"""Structured representation of embedding model information."""
|
|
|
|
embedding_dimension: int
|
|
context_length: int
|
|
|
|
|
|
EMBEDDING_MODEL_IDS: dict[str, EmbeddingModelInfo] = {
|
|
"openai/text-embedding-3-small": EmbeddingModelInfo(1536, 8192),
|
|
"openai/text-embedding-3-large": EmbeddingModelInfo(3072, 8192),
|
|
"text-embedding-3-small": EmbeddingModelInfo(1536, 8192),
|
|
"text-embedding-3-large": EmbeddingModelInfo(3072, 8192),
|
|
}
|
|
|
|
|
|
MODEL_ENTRIES = [ProviderModelEntry(provider_model_id=m) for m in LLM_MODEL_IDS] + [
|
|
ProviderModelEntry(
|
|
provider_model_id=model_id,
|
|
model_type=ModelType.embedding,
|
|
metadata={
|
|
"embedding_dimension": model_info.embedding_dimension,
|
|
"context_length": model_info.context_length,
|
|
},
|
|
)
|
|
for model_id, model_info in EMBEDDING_MODEL_IDS.items()
|
|
]
|