Skip to content

Commit 6993d45

Browse files
committed
feat(llm): add llm_types filters and cleanup dify cli
1 parent 04d2950 commit 6993d45

6 files changed

Lines changed: 17 additions & 26 deletions

File tree

cmd/climc/shell/llm/dify_sku.go

Lines changed: 0 additions & 20 deletions
This file was deleted.

pkg/apis/llm/llm.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,10 @@ type LLMBaseListInput struct {
110110
type LLMListInput struct {
111111
LLMBaseListInput
112112

113-
LLMSku string `json:"llm_sku"`
114-
LLMImage string `json:"llm_image"`
115-
LLMType string `json:"llm_type"` // filter by linked SKU's llm_type (e.g. dify)
113+
LLMSku string `json:"llm_sku"`
114+
LLMImage string `json:"llm_image"`
115+
LLMTypes []string `json:"llm_types"` // filter by linked SKU's llm_types (e.g. [dify, openclaw])
116+
LLMType string `json:"llm_type"` // filter by linked SKU's llm_type (e.g. dify)
116117
}
117118

118119
type ModelInfo struct {

pkg/apis/llm/sku.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,8 @@ type LLMSkuListInput struct {
168168
apis.SharableVirtualResourceListInput
169169
MountedModelResourceListInput
170170

171-
LLMType string `json:"llm_type"`
171+
LLMType string `json:"llm_type"`
172+
LLMTypes []string `json:"llm_types"`
172173
}
173174

174175
type LLMSkuCreateInput struct {

pkg/llm/models/llm.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,11 @@ func (man *SLLMManager) ListItemFilter(ctx context.Context, q *sqlchemy.SQuery,
145145
q = q.Join(skuQ, sqlchemy.Equals(q.Field("llm_sku_id"), skuQ.Field("id")))
146146
q = q.Filter(sqlchemy.Equals(skuQ.Field("llm_type"), input.LLMType))
147147
}
148+
if len(input.LLMTypes) > 0 {
149+
skuQ := GetLLMSkuManager().Query().SubQuery()
150+
q = q.Join(skuQ, sqlchemy.Equals(q.Field("llm_sku_id"), skuQ.Field("id")))
151+
q = q.Filter(sqlchemy.In(skuQ.Field("llm_type"), input.LLMTypes))
152+
}
148153

149154
return q, nil
150155
}

pkg/llm/models/llm_sku.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,9 @@ func (man *SLLMSkuManager) ListItemFilter(
7171
if len(input.LLMType) > 0 {
7272
q = q.Equals("llm_type", input.LLMType)
7373
}
74+
if len(input.LLMTypes) > 0 {
75+
q = q.Filter(sqlchemy.In(q.Field("llm_type"), input.LLMTypes))
76+
}
7477
q, err = man.SMountedModelsResourceManager.ListItemFilter(ctx, q, userCred, input.MountedModelResourceListInput)
7578
if err != nil {
7679
return nil, errors.Wrap(err, "SMountedAppsResourceManager")

pkg/mcclient/options/llm/llm.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,9 @@ type LLMBaseListOptions struct {
2828
type LLMListOptions struct {
2929
LLMBaseListOptions
3030

31-
LlmSku string `help:"filter by llm sku"`
32-
LlmImage string `help:"filter by llm image"`
31+
LlmSku string `help:"filter by llm sku"`
32+
LlmImage string `help:"filter by llm image"`
33+
LLMTypes []string `help:"filter by llm types"`
3334
}
3435

3536
func (o *LLMListOptions) Params() (jsonutils.JSONObject, error) {

0 commit comments

Comments
 (0)