forked from phoenix/litellm-mirror
router - include updated at and created at in model info
This commit is contained in:
parent
9198f00339
commit
eccda76edc
2 changed files with 20 additions and 4 deletions
|
@ -2790,6 +2790,11 @@ class ProxyConfig:
|
||||||
model.model_info["id"] = _id
|
model.model_info["id"] = _id
|
||||||
model.model_info["db_model"] = True
|
model.model_info["db_model"] = True
|
||||||
|
|
||||||
|
model.model_info["created_at"] = getattr(model, "created_at", None)
|
||||||
|
model.model_info["updated_at"] = getattr(model, "updated_at", None)
|
||||||
|
model.model_info["created_by"] = getattr(model, "created_by", None)
|
||||||
|
model.model_info["updated_by"] = getattr(model, "updated_by", None)
|
||||||
|
|
||||||
if model.model_info is not None and isinstance(model.model_info, dict):
|
if model.model_info is not None and isinstance(model.model_info, dict):
|
||||||
if "id" not in model.model_info:
|
if "id" not in model.model_info:
|
||||||
model.model_info["id"] = model.model_id
|
model.model_info["id"] = model.model_id
|
||||||
|
@ -3075,10 +3080,9 @@ class ProxyConfig:
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if master_key is None or not isinstance(master_key, str):
|
if master_key is None or not isinstance(master_key, str):
|
||||||
raise Exception(
|
raise ValueError(
|
||||||
f"Master key is not initialized or formatted. master_key={master_key}"
|
f"Master key is not initialized or formatted. master_key={master_key}"
|
||||||
)
|
)
|
||||||
verbose_proxy_logger.debug(f"llm_router: {llm_router}")
|
|
||||||
new_models = await prisma_client.db.litellm_proxymodeltable.find_many()
|
new_models = await prisma_client.db.litellm_proxymodeltable.find_many()
|
||||||
# update llm router
|
# update llm router
|
||||||
await self._update_llm_router(
|
await self._update_llm_router(
|
||||||
|
|
|
@ -1,9 +1,15 @@
|
||||||
|
"""
|
||||||
|
litellm.Router Types - includes RouterConfig, UpdateRouterConfig, ModelInfo etc
|
||||||
|
"""
|
||||||
|
|
||||||
from typing import List, Optional, Union, Dict, Tuple, Literal, TypedDict
|
from typing import List, Optional, Union, Dict, Tuple, Literal, TypedDict
|
||||||
|
import uuid
|
||||||
|
import enum
|
||||||
import httpx
|
import httpx
|
||||||
from pydantic import BaseModel, validator, Field
|
from pydantic import BaseModel, Field
|
||||||
|
import datetime
|
||||||
from .completion import CompletionRequest
|
from .completion import CompletionRequest
|
||||||
from .embedding import EmbeddingRequest
|
from .embedding import EmbeddingRequest
|
||||||
import uuid, enum
|
|
||||||
|
|
||||||
|
|
||||||
class ModelConfig(BaseModel):
|
class ModelConfig(BaseModel):
|
||||||
|
@ -76,6 +82,12 @@ class ModelInfo(BaseModel):
|
||||||
db_model: bool = (
|
db_model: bool = (
|
||||||
False # used for proxy - to separate models which are stored in the db vs. config.
|
False # used for proxy - to separate models which are stored in the db vs. config.
|
||||||
)
|
)
|
||||||
|
updated_at: Optional[datetime.datetime] = None
|
||||||
|
updated_by: Optional[str] = None
|
||||||
|
|
||||||
|
created_at: Optional[datetime.datetime] = None
|
||||||
|
created_by: Optional[str] = None
|
||||||
|
|
||||||
base_model: Optional[str] = (
|
base_model: Optional[str] = (
|
||||||
None # specify if the base model is azure/gpt-3.5-turbo etc for accurate cost tracking
|
None # specify if the base model is azure/gpt-3.5-turbo etc for accurate cost tracking
|
||||||
)
|
)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue