mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-12-23 04:52:25 +00:00
feat: introduce /admin API for stack administration and operations (#4401)
# What does this PR do?
- Add new /admin API (v1alpha) for administrative operations including
provider management, health checks, version info, and route listing
- Implement using FastAPI routers following batches pattern with proper
request/response models
- Endpoints: /admin/providers, /admin/providers/{id},
/admin/inspect/routes, /admin/health, /admin/version
- Create admin module structure: models.py, api.py, fastapi_routes.py,
init.py
- Add AdminImpl in llama_stack/core combining provider and inspect
functionality
- Deprecate standalone /providers and /inspect APIs (remain functional
for backward compatibility)
- Consolidate duplicate types: ProviderInfo, HealthInfo, RouteInfo, etc.
now defined once in admin.models
## Test Plan
new admin integration suite, uses generated stainless SDK, and records
new tests on this PR.
Signed-off-by: Charlie Doern <cdoern@redhat.com>
This commit is contained in:
parent
d684ec91cc
commit
258c52c84c
24 changed files with 3306 additions and 2078 deletions
|
|
@ -210,6 +210,12 @@ ALL_RESOURCES = {
|
|||
"sampling_params": "SamplingParams",
|
||||
"scoring_result": "ScoringResult",
|
||||
"system_message": "SystemMessage",
|
||||
"health_info": "HealthInfo",
|
||||
"provider_info": "ProviderInfo",
|
||||
"list_providers_response": "ListProvidersResponse",
|
||||
"route_info": "RouteInfo",
|
||||
"list_routes_response": "ListRoutesResponse",
|
||||
"version_info": "VersionInfo",
|
||||
}
|
||||
},
|
||||
"toolgroups": {
|
||||
|
|
@ -335,12 +341,6 @@ ALL_RESOURCES = {
|
|||
},
|
||||
},
|
||||
"inspect": {
|
||||
"models": {
|
||||
"healthInfo": "HealthInfo",
|
||||
"providerInfo": "ProviderInfo",
|
||||
"routeInfo": "RouteInfo",
|
||||
"versionInfo": "VersionInfo",
|
||||
},
|
||||
"methods": {"health": "get /v1/health", "version": "get /v1/version"},
|
||||
},
|
||||
"embeddings": {
|
||||
|
|
@ -444,14 +444,12 @@ ALL_RESOURCES = {
|
|||
"subresources": {"openai": {"methods": {"list": {"paginated": False, "endpoint": "get /v1/models"}}}},
|
||||
},
|
||||
"providers": {
|
||||
"models": {"list_providers_response": "ListProvidersResponse"},
|
||||
"methods": {
|
||||
"list": {"paginated": False, "endpoint": "get /v1/providers"},
|
||||
"retrieve": "get /v1/providers/{provider_id}",
|
||||
},
|
||||
},
|
||||
"routes": {
|
||||
"models": {"list_routes_response": "ListRoutesResponse"},
|
||||
"methods": {"list": {"paginated": False, "endpoint": "get /v1/inspect/routes"}},
|
||||
},
|
||||
"moderations": {
|
||||
|
|
@ -576,6 +574,15 @@ ALL_RESOURCES = {
|
|||
}
|
||||
},
|
||||
},
|
||||
"admin": {
|
||||
"methods": {
|
||||
"list_providers": "get /v1alpha/admin/providers",
|
||||
"inspect_provider": "get /v1alpha/admin/providers/{provider_id}",
|
||||
"list_routes": "get /v1alpha/admin/inspect/routes",
|
||||
"health": "get /v1alpha/admin/health",
|
||||
"version": "get /v1alpha/admin/version",
|
||||
},
|
||||
},
|
||||
}
|
||||
},
|
||||
"beta": {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue