Skip to content

Commit

Permalink
Merge pull request #55 from ZHANGWENTAI/service-version
Browse files Browse the repository at this point in the history
llm service version crd definition, frontend and backend
  • Loading branch information
SimonCqk authored Nov 1, 2024
2 parents 1fb8e3b + 9ee1cd2 commit c1bdd35
Show file tree
Hide file tree
Showing 19 changed files with 6,576 additions and 19 deletions.
11 changes: 7 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,11 @@ vendor
# arch
arch

# model file cache
.kubedl_model_cache/
# model cache dir
.kubedl_model_cache

# vllm wheel file
*.whl
# vllm install package
vllm*.whl

# backend server executable file
backend-server
54 changes: 54 additions & 0 deletions api/v1alpha1/llmserviceversion_types.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package v1alpha1

import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

// LLMServiceVersionSpec defines the desired state of LLMServiceVersion
type LLMServiceVersionSpec struct {
// Version number of the LLM service
Version string `json:"version"`

// ModelName is the name of the LLM model
ModelName string `json:"modelName"`

// CreationTime is the time when this version was created
CreationTime string `json:"creationTime"`

// AssociatedExperimentSpec is the spec of the associated experiment
AssociatedExperimentSpec ProfilingExperimentSpec `json:"associatedExperimentSpec"`
}

// LLMServiceVersionStatus defines the observed state of LLMServiceVersion
type LLMServiceVersionStatus struct {
// TestCompletionTime is the time when testing for this version was completed
TestCompletionTime metav1.Time `json:"testCompletionTime,omitempty"`

// AssociatedExperimentStatus is the status of the associated experiment
AssociatedExperimentStatus ProfilingExperimentStatus `json:"associatedExperimentStatus"`
}

//+kubebuilder:object:root=true
//+kubebuilder:subresource:status

// LLMServiceVersion is the Schema for the llmserviceversions API
type LLMServiceVersion struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`

Spec LLMServiceVersionSpec `json:"spec,omitempty"`
Status LLMServiceVersionStatus `json:"status,omitempty"`
}

//+kubebuilder:object:root=true
// LLMServiceVersionList contains a list of LLMServiceVersion
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
type LLMServiceVersionList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []LLMServiceVersion `json:"items"`
}

func init() {
SchemeBuilder.Register(&LLMServiceVersion{}, &LLMServiceVersionList{})
}
93 changes: 92 additions & 1 deletion api/v1alpha1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit c1bdd35

Please sign in to comment.