Skip to content

Commit

Permalink
Merge pull request kubeagi#402 from Lanture1064/dev
Browse files Browse the repository at this point in the history
feat: add model service CUD API
  • Loading branch information
bjwswang authored Dec 21, 2023
2 parents d78944e + b5d6307 commit 83e22da
Show file tree
Hide file tree
Showing 10 changed files with 3,166 additions and 296 deletions.
2,801 changes: 2,514 additions & 287 deletions apiserver/graph/generated/generated.go

Large diffs are not rendered by default.

94 changes: 94 additions & 0 deletions apiserver/graph/generated/models_gen.go

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

57 changes: 57 additions & 0 deletions apiserver/graph/impl/modelservice.resolvers.go

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

2 changes: 1 addition & 1 deletion apiserver/graph/schema/entrypoint.graphqls
Original file line number Diff line number Diff line change
Expand Up @@ -80,4 +80,4 @@ type TypedObjectReference {
namespace: String
}

union PageNode = Datasource | Model | Embedder | KnowledgeBase | Dataset | VersionedDataset | F | Worker | ApplicationMetadata | LLM
union PageNode = Datasource | Model | Embedder | KnowledgeBase | Dataset | VersionedDataset | F | Worker | ApplicationMetadata | LLM | ModelService
43 changes: 43 additions & 0 deletions apiserver/graph/schema/modelservice.gql
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
mutation createModelService($input: CreateModelServiceInput!) {
ModelService {
createModelService(input: $input) {
id
name
namespace
labels
annotations
creator
displayName
description
types
apiType
creationTimestamp
updateTimestamp
}
}
}

mutation updateModelService($input: UpdateModelServiceInput) {
ModelService {
updateModelService(input: $input){
id
name
namespace
labels
annotations
creator
displayName
description
types
apiType
creationTimestamp
updateTimestamp
}
}
}

mutation deleteModelServices($input: DeleteCommonInput) {
ModelService {
deleteModelService(input: $input)
}
}
138 changes: 138 additions & 0 deletions apiserver/graph/schema/modelservice.graphqls
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
type ModelService {
id: String
name: String!
namespace: String!
labels: Map
annotations: Map
creator: String
displayName: String
description: String
"""
模型服务能力类型,支持 llm 和 embedding 两种模型类型
规则: 如果该模型支持多种模型类型,则可多选。多选后组成的字段通过逗号隔开。如 "llm,embedding"
"""
types: String

creationTimestamp: Time
updateTimestamp: Time

"""
模型服务 API 类型
规则:与 pkgs/llms.LLMType 相同,支持 openai, zhipuai 两种类型
"""
apiType: String

"""
模型对应的 LLM 及 embedder CR 资源
"""
llmResource: LLM
embedderResource: Embedder
}
input CreateModelServiceInput {
"""模型服务资源名称(不可同名)"""
name: String!
"""模型服务创建命名空间"""
namespace: String!

"""模型资源标签"""
labels: Map
"""模型资源注释"""
annotations: Map
"""模型资源展示名称作为显示,并提供编辑"""
displayName: String
"""模型资源描述"""
description: String

"""
模型服务能力类型,支持 llm 和 embedding 两种模型类型
规则: 如果该模型支持多种模型类型,则可多选。多选后组成的字段通过逗号隔开。如 "llm,embedding"
"""
types: String

"""
模型服务 API 类型
规则:与 pkgs/llms.LLMType 相同,支持 openai, zhipuai 两种类型
"""
apiType: String

"""
模型服务终端输入
"""
endpoint: EndpointInput!
}

input UpdateModelServiceInput {
"""模型资源名称(不可同名)"""
name: String!
"""模型创建命名空间"""
namespace: String!

"""模型资标签"""
labels: Map
"""模型资源注释"""
annotations: Map
"""模型资源展示名称作为显示,并提供编辑"""
displayName: String
"""模型资源描述"""
description: String

"""
模型服务能力类型,支持 llm 和 embedding 两种模型类型
规则: 如果该模型支持多种模型类型,则可多选。多选后组成的字段通过逗号隔开。如 "llm,embedding"
"""
types: String

"""
模型服务 API 类型
规则:与 pkgs/llms.LLMType 相同,支持 openai, zhipuai 两种类型
"""
apiType: String

"""
模型服务终端输入
"""
endpoint: EndpointInput!
}

input ListModelService {
"""
关键词搜索
"""
keyword: String
namespace: String!
page: Int

"""
all, llm, embedding
"""
modelType: String!

"""
worker, 3rd
"""
providerType: String!

"""
openai, zhipuai
"""
apiType: String!
}

type ModelServiceMutation {
createModelService(input: CreateModelServiceInput!): ModelService!
updateModelService(input: UpdateModelServiceInput): ModelService!
deleteModelService(input: DeleteCommonInput): Void
}

extend type Mutation {
ModelService: ModelServiceMutation
}

type ModelServiceQuery {
getModelService(name: String!, apiType: String!): ModelService
listModelServices(input: ListModelService): [ModelService]
}

extend type Query {
ModelService: ModelServiceQuery
}
Loading

0 comments on commit 83e22da

Please sign in to comment.