MCPcopy
hub / github.com/kserve/kserve

github.com/kserve/kserve @v0.19.0 sqlite

repository ↗ · DeepWiki ↗ · release v0.19.0 ↗
10,441 symbols 36,137 edges 1,085 files 5,120 documented · 49%
README

KServe

go.dev reference Go Report Card OpenSSF Best Practices Releases LICENSE Slack Status Gurubase

KServe is a standardized distributed generative and predictive AI inference platform for scalable, multi-framework deployment on Kubernetes.

KServe is being used by many organizations and is a Cloud Native Computing Foundation (CNCF) incubating project.

For more details, visit the KServe website.

KServe

Why KServe?

Single platform that unifies Generative and Predictive AI inference on Kubernetes. Simple enough for quick deployments, yet powerful enough to handle enterprise-scale AI workloads with advanced features.

Features

Generative AI * 🧮 Optimized Backends: Support for vLLM and llm-d for optimized performance for serving LLMs * 📌 Standardization: OpenAI-compatible inference protocol for seamless integration with LLMs * 🚅 GPU Acceleration: High-performance serving with GPU support and optimized memory management for large models * 💾 Model Caching: Intelligent model caching to reduce loading times and improve response latency for frequently used models * 🗂️ KV Cache Offloading: Advanced memory management with KV cache offloading to CPU/disk for handling longer sequences efficiently * 📈 Autoscaling: Request-based autoscaling capabilities optimized for generative workload patterns * 🔧 Hugging Face Ready: Native support for Hugging Face models with streamlined deployment workflows

Predictive AI * 🧮 Multi-Framework: Support for TensorFlow, PyTorch, scikit-learn, XGBoost, ONNX, and more * 🔀 Intelligent Routing: Seamless request routing between predictor, transformer, and explainer components with automatic traffic management * 🔄 Advanced Deployments: Canary rollouts, inference pipelines, and ensembles with InferenceGraph * ⚡ Autoscaling: Request-based autoscaling with scale-to-zero for predictive workloads * 🔍 Model Explainability: Built-in support for model explanations and feature attribution to understand prediction reasoning * 📊 Advanced Monitoring: Enables payload logging, outlier detection, adversarial detection, and drift detection * 💰 Cost Efficient: Scale-to-zero on expensive resources when not in use, reducing infrastructure costs

Learn More

To learn more about KServe, how to use various supported features, and how to participate in the KServe community, please follow the KServe website documentation. Additionally, we have compiled a list of presentations and demos to dive through various details.

:hammer_and_wrench: Installation

Standalone Installation

  • Standard Kubernetes Installation: Compared to Serverless Installation, this is a more lightweight installation. However, this option does not support canary deployment and request based autoscaling with scale-to-zero.
  • Knative Installation: KServe by default installs Knative for serverless deployment for InferenceService.
  • ModelMesh Installation: You can optionally install ModelMesh to enable high-scale, high-density and frequently-changing model serving use cases.
  • Quick Installation: Install KServe on your local machine.

Kubeflow Installation

KServe is an important addon component of Kubeflow, please learn more from the Kubeflow KServe documentation. Check out the following guides for running on AWS or on OpenShift Container Platform.

:flight_departure: Create your first InferenceService

:bulb: Roadmap

:blue_book: InferenceService API Reference

:toolbox: Developer Guide

:writing_hand: Contributor Guide

:handshake: Adopters

Star History

Star History Chart

Contributors

Thanks to all of our amazing contributors!

Extension points exported contracts — how you extend this code

LLMInferenceServicesGetter (Interface)
LLMInferenceServicesGetter has a method to return a LLMInferenceServiceInterface. A group's client should implement this [8 …
pkg/client/clientset/versioned/typed/serving/v1alpha2/llminferenceservice.go
IngressReconciler (Interface)
IngressReconciler reconciles ingress/routing resources [27 implementers]
pkg/controller/v1beta1/inferenceservice/reconcilers/interfaces.go
BatchStrategy (Interface)
BatchStrategy accumulates individual log requests and emits batches. Run reads from in, batches records according to its [3 …
pkg/logger/store.go
ComponentImplementation (Interface)
ComponentImplementation interface is implemented by predictor, transformer, and explainer implementations +kubebuilder:o [3 …
pkg/apis/serving/v1beta1/component.go
Provider (Interface)
(no doc) [4 implementers]
pkg/agent/storage/provider.go
PredicateFn (FuncType)
(no doc)
pkg/utils/collections.go
SetupFunc (FuncType)
(no doc)
pkg/testing/types.go
LLMInferenceServicesGetter (Interface)
LLMInferenceServicesGetter has a method to return a LLMInferenceServiceInterface. A group's client should implement this [8 …
pkg/client/clientset/versioned/typed/serving/v1alpha1/llminferenceservice.go

Core symbols most depended-on inside this repo

Get
called by 902
pkg/client/listers/serving/v1alpha1/trainedmodel.go
Create
called by 823
pkg/client/clientset/versioned/typed/serving/v1alpha1/trainedmodel.go
get
called by 578
python/kserve/kserve/api/kserve_client.py
Delete
called by 481
pkg/client/clientset/versioned/typed/serving/v1alpha1/trainedmodel.go
String
called by 479
pkg/constants/constants.go
Run
called by 462
pkg/logger/store.go
Error
called by 266
pkg/controller/v1alpha2/llmisvc/config_merge.go
Update
called by 235
pkg/client/clientset/versioned/typed/serving/v1alpha1/trainedmodel.go

Shape

Method 5,799
Function 3,022
Class 686
Struct 596
Route 129
Interface 128
TypeAlias 57
FuncType 24

Languages

Python51%
Go49%

Modules by API surface

python/kserve/kserve/protocol/rest/openai/types/openapi.py196 symbols
pkg/apis/serving/v1alpha1/zz_generated.deepcopy.go176 symbols
tools/tf2openapi/generated/protobuf/meta_graph.pb.go131 symbols
python/kserve/test/test_server.py131 symbols
pkg/openapi/openapi_generated.go113 symbols
pkg/apis/serving/v1beta1/zz_generated.deepcopy.go109 symbols
tools/tf2openapi/generated/framework/summary.pb.go99 symbols
tools/tf2openapi/generated/framework/graph_transfer_info.pb.go90 symbols
tools/tf2openapi/generated/framework/step_stats.pb.go82 symbols
python/kserve/kserve/models/v1beta1_predictor_spec.py76 symbols
python/storage/test/test_s3_storage.py74 symbols
pkg/apis/serving/v1alpha2/zz_generated.deepcopy.go68 symbols

Dependencies from manifests, versioned

cel.dev/exprv0.25.1 · 1×
cloud.google.com/gov0.121.0 · 1×
cloud.google.com/go/authv0.16.5 · 1×
cloud.google.com/go/auth/oauth2adaptv0.2.8 · 1×
cloud.google.com/go/compute/metadatav0.9.0 · 1×
cloud.google.com/go/monitoringv1.24.2 · 1×
cloud.google.com/go/storagev1.52.0 · 1×
dario.cat/mergov1.0.2 · 1×
github.com/Azure/azure-sdk-for-go/sdk/azcorev1.19.1 · 1×
github.com/Azure/azure-sdk-for-go/sdk/azidentityv1.13.0 · 1×
github.com/Azure/azure-sdk-for-go/sdk/internalv1.11.2 · 1×

For agents

$ claude mcp add kserve \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact