Skip to content

Commit

Permalink
feat: able to use worker's llm/embedding service as 3rd party provider
Browse files Browse the repository at this point in the history
Signed-off-by: bjwswang <[email protected]>
  • Loading branch information
bjwswang committed Dec 27, 2023
1 parent 415d607 commit 7e23ea1
Show file tree
Hide file tree
Showing 29 changed files with 453 additions and 151 deletions.
6 changes: 6 additions & 0 deletions api/base/v1alpha1/embedder.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,12 @@ func (e Embedder) Get3rdPartyModels() []string {
if e.Spec.Provider.GetType() != ProviderType3rdParty {
return []string{}
}

// if models(customized) are provided,then return it
if e.Spec.Models != nil && len(e.Spec.Models) != 0 {
return e.Spec.Models
}

switch e.Spec.Type {
case embeddings.ZhiPuAI:
return embeddings.ZhiPuAIModels
Expand Down
4 changes: 4 additions & 0 deletions api/base/v1alpha1/embedder_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ type EmbedderSpec struct {

// Provider defines the provider info which provide this embedder service
Provider `json:"provider,omitempty"`

// Models provided by this LLM
// If not set,we will use default model list based on LLMType
Models []string `json:"models,omitempty"`
}

// EmbeddingsStatus defines the observed state of Embedder
Expand Down
6 changes: 6 additions & 0 deletions api/base/v1alpha1/llm.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,12 @@ func (llm LLM) Get3rdPartyModels() []string {
if llm.Spec.Provider.GetType() != ProviderType3rdParty {
return []string{}
}

// if models(customized) are provided,then return it
if llm.Spec.Models != nil && len(llm.Spec.Models) != 0 {
return llm.Spec.Models
}

switch llm.Spec.Type {
case llms.ZhiPuAI:
return llms.ZhiPuAIModels
Expand Down
4 changes: 4 additions & 0 deletions api/base/v1alpha1/llm_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ type LLMSpec struct {

// Provider defines the provider info which provide this llm service
Provider `json:"provider,omitempty"`

// Models provided by this LLM
// If not set,we will use default model list based on LLMType
Models []string `json:"models,omitempty"`
}

// LLMStatus defines the observed state of LLM
Expand Down
10 changes: 10 additions & 0 deletions api/base/v1alpha1/zz_generated.deepcopy.go

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

195 changes: 193 additions & 2 deletions apiserver/graph/generated/generated.go

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

Loading

0 comments on commit 7e23ea1

Please sign in to comment.