Sébastien Han
69554158fa
feat: add health to all providers through providers endpoint ( #1418 )
...
The `/v1/providers` now reports the health status of each
provider when implemented.
```
curl -L http://127.0.0.1:8321/v1/providers |jq
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 4072 100 4072 0 0 246k 0 --:--:-- --:--:-- --:--:-- 248k
{
"data": [
{
"api": "inference",
"provider_id": "ollama",
"provider_type": "remote::ollama",
"config": {
"url": "http://localhost:11434 "
},
"health": {
"status": "OK"
}
},
{
"api": "vector_io",
"provider_id": "faiss",
"provider_type": "inline::faiss",
"config": {
"kvstore": {
"type": "sqlite",
"namespace": null,
"db_path": "/Users/leseb/.llama/distributions/ollama/faiss_store.db"
}
},
"health": {
"status": "Not Implemented",
"message": "Provider does not implement health check"
}
},
{
"api": "safety",
"provider_id": "llama-guard",
"provider_type": "inline::llama-guard",
"config": {
"excluded_categories": []
},
"health": {
"status": "Not Implemented",
"message": "Provider does not implement health check"
}
},
{
"api": "agents",
"provider_id": "meta-reference",
"provider_type": "inline::meta-reference",
"config": {
"persistence_store": {
"type": "sqlite",
"namespace": null,
"db_path": "/Users/leseb/.llama/distributions/ollama/agents_store.db"
}
},
"health": {
"status": "Not Implemented",
"message": "Provider does not implement health check"
}
},
{
"api": "telemetry",
"provider_id": "meta-reference",
"provider_type": "inline::meta-reference",
"config": {
"service_name": "llama-stack",
"sinks": "console,sqlite",
"sqlite_db_path": "/Users/leseb/.llama/distributions/ollama/trace_store.db"
},
"health": {
"status": "Not Implemented",
"message": "Provider does not implement health check"
}
},
{
"api": "eval",
"provider_id": "meta-reference",
"provider_type": "inline::meta-reference",
"config": {
"kvstore": {
"type": "sqlite",
"namespace": null,
"db_path": "/Users/leseb/.llama/distributions/ollama/meta_reference_eval.db"
}
},
"health": {
"status": "Not Implemented",
"message": "Provider does not implement health check"
}
},
{
"api": "datasetio",
"provider_id": "huggingface",
"provider_type": "remote::huggingface",
"config": {
"kvstore": {
"type": "sqlite",
"namespace": null,
"db_path": "/Users/leseb/.llama/distributions/ollama/huggingface_datasetio.db"
}
},
"health": {
"status": "Not Implemented",
"message": "Provider does not implement health check"
}
},
{
"api": "datasetio",
"provider_id": "localfs",
"provider_type": "inline::localfs",
"config": {
"kvstore": {
"type": "sqlite",
"namespace": null,
"db_path": "/Users/leseb/.llama/distributions/ollama/localfs_datasetio.db"
}
},
"health": {
"status": "Not Implemented",
"message": "Provider does not implement health check"
}
},
{
"api": "scoring",
"provider_id": "basic",
"provider_type": "inline::basic",
"config": {},
"health": {
"status": "Not Implemented",
"message": "Provider does not implement health check"
}
},
{
"api": "scoring",
"provider_id": "llm-as-judge",
"provider_type": "inline::llm-as-judge",
"config": {},
"health": {
"status": "Not Implemented",
"message": "Provider does not implement health check"
}
},
{
"api": "scoring",
"provider_id": "braintrust",
"provider_type": "inline::braintrust",
"config": {
"openai_api_key": "********"
},
"health": {
"status": "Not Implemented",
"message": "Provider does not implement health check"
}
},
{
"api": "tool_runtime",
"provider_id": "brave-search",
"provider_type": "remote::brave-search",
"config": {
"api_key": "********",
"max_results": 3
},
"health": {
"status": "Not Implemented",
"message": "Provider does not implement health check"
}
},
{
"api": "tool_runtime",
"provider_id": "tavily-search",
"provider_type": "remote::tavily-search",
"config": {
"api_key": "********",
"max_results": 3
},
"health": {
"status": "Not Implemented",
"message": "Provider does not implement health check"
}
},
{
"api": "tool_runtime",
"provider_id": "code-interpreter",
"provider_type": "inline::code-interpreter",
"config": {},
"health": {
"status": "Not Implemented",
"message": "Provider does not implement health check"
}
},
{
"api": "tool_runtime",
"provider_id": "rag-runtime",
"provider_type": "inline::rag-runtime",
"config": {},
"health": {
"status": "Not Implemented",
"message": "Provider does not implement health check"
}
},
{
"api": "tool_runtime",
"provider_id": "model-context-protocol",
"provider_type": "remote::model-context-protocol",
"config": {},
"health": {
"status": "Not Implemented",
"message": "Provider does not implement health check"
}
},
{
"api": "tool_runtime",
"provider_id": "wolfram-alpha",
"provider_type": "remote::wolfram-alpha",
"config": {
"api_key": "********"
},
"health": {
"status": "Not Implemented",
"message": "Provider does not implement health check"
}
}
]
}
```
Per providers too:
```
curl -L http://127.0.0.1:8321/v1/providers/ollama
{"api":"inference","provider_id":"ollama","provider_type":"remote::ollama","config":{"url":"http://localhost:11434 "},"health":{"status":"OK"}}
```
Signed-off-by: Sébastien Han <seb@redhat.com>
2025-04-14 11:59:36 +02:00