diff --git a/graphql-server/go-server/graph/generated/generated.go b/graphql-server/go-server/graph/generated/generated.go index a7d652534..92ffe9c99 100644 --- a/graphql-server/go-server/graph/generated/generated.go +++ b/graphql-server/go-server/graph/generated/generated.go @@ -3037,6 +3037,7 @@ func (e *executableSchema) Exec(ctx context.Context) graphql.ResponseHandler { ec.unmarshalInputFileFilter, ec.unmarshalInputFileGroup, ec.unmarshalInputFileItem, + ec.unmarshalInputLLMConfigItem, ec.unmarshalInputListCommonInput, ec.unmarshalInputListDatasetInput, ec.unmarshalInputListKnowledgeBaseInput, @@ -3209,6 +3210,16 @@ input FileItem { # 数据处理配置条目 input DataProcessConfigItem { type: String! + llm_config: LLMConfigItem +} + +# LLM for 数据处理配置条目 +input LLMConfigItem { + name: String + namespace: String + model: String + temperature: String + top_k: String } input DeleteDataProcessInput { @@ -23476,7 +23487,7 @@ func (ec *executionContext) unmarshalInputDataProcessConfigItem(ctx context.Cont asMap[k] = v } - fieldsInOrder := [...]string{"type"} + fieldsInOrder := [...]string{"type", "llm_config"} for _, k := range fieldsInOrder { v, ok := asMap[k] if !ok { @@ -23492,6 +23503,15 @@ func (ec *executionContext) unmarshalInputDataProcessConfigItem(ctx context.Cont return it, err } it.Type = data + case "llm_config": + var err error + + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("llm_config")) + data, err := ec.unmarshalOLLMConfigItem2ᚖgithubᚗcomᚋkubeagiᚋarcadiaᚋgraphqlᚑserverᚋgoᚑserverᚋgraphᚋgeneratedᚐLLMConfigItem(ctx, v) + if err != nil { + return it, err + } + it.LlmConfig = data } } @@ -23838,6 +23858,71 @@ func (ec *executionContext) unmarshalInputFileItem(ctx context.Context, obj inte return it, nil } +func (ec *executionContext) unmarshalInputLLMConfigItem(ctx context.Context, obj interface{}) (LLMConfigItem, error) { + var it LLMConfigItem + asMap := map[string]interface{}{} + for k, v := range obj.(map[string]interface{}) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"name", "namespace", "model", "temperature", "top_k"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "name": + var err error + + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.Name = data + case "namespace": + var err error + + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("namespace")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.Namespace = data + case "model": + var err error + + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("model")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.Model = data + case "temperature": + var err error + + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("temperature")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.Temperature = data + case "top_k": + var err error + + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("top_k")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.TopK = data + } + } + + return it, nil +} + func (ec *executionContext) unmarshalInputListCommonInput(ctx context.Context, obj interface{}) (ListCommonInput, error) { var it ListCommonInput asMap := map[string]interface{}{} @@ -31529,6 +31614,14 @@ func (ec *executionContext) marshalOKnowledgeBaseQuery2ᚖgithubᚗcomᚋkubeagi return ec._KnowledgeBaseQuery(ctx, sel, v) } +func (ec *executionContext) unmarshalOLLMConfigItem2ᚖgithubᚗcomᚋkubeagiᚋarcadiaᚋgraphqlᚑserverᚋgoᚑserverᚋgraphᚋgeneratedᚐLLMConfigItem(ctx context.Context, v interface{}) (*LLMConfigItem, error) { + if v == nil { + return nil, nil + } + res, err := ec.unmarshalInputLLMConfigItem(ctx, v) + return &res, graphql.ErrorOnPath(ctx, err) +} + func (ec *executionContext) marshalOLLMQuery2ᚖgithubᚗcomᚋkubeagiᚋarcadiaᚋgraphqlᚑserverᚋgoᚑserverᚋgraphᚋgeneratedᚐLLMQuery(ctx context.Context, sel ast.SelectionSet, v *LLMQuery) graphql.Marshaler { if v == nil { return graphql.Null diff --git a/graphql-server/go-server/graph/generated/models_gen.go b/graphql-server/go-server/graph/generated/models_gen.go index 84706bb9f..b65b257f0 100644 --- a/graphql-server/go-server/graph/generated/models_gen.go +++ b/graphql-server/go-server/graph/generated/models_gen.go @@ -268,7 +268,8 @@ type DataProcessConfigChildren struct { } type DataProcessConfigItem struct { - Type string `json:"type"` + Type string `json:"type"` + LlmConfig *LLMConfigItem `json:"llm_config,omitempty"` } type DataProcessConfigpreView struct { @@ -729,6 +730,14 @@ type Llm struct { func (Llm) IsPageNode() {} +type LLMConfigItem struct { + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` + Model *string `json:"model,omitempty"` + Temperature *string `json:"temperature,omitempty"` + TopK *string `json:"top_k,omitempty"` +} + type LLMQuery struct { GetLlm Llm `json:"getLLM"` ListLLMs PaginatedResult `json:"listLLMs"` diff --git a/graphql-server/go-server/graph/impl/dataprocessing.resolvers.go b/graphql-server/go-server/graph/impl/dataprocessing.resolvers.go index 06bc2b4f3..b104644c1 100644 --- a/graphql-server/go-server/graph/impl/dataprocessing.resolvers.go +++ b/graphql-server/go-server/graph/impl/dataprocessing.resolvers.go @@ -13,32 +13,56 @@ import ( // CreateDataProcessTask is the resolver for the createDataProcessTask field. func (r *dataProcessMutationResolver) CreateDataProcessTask(ctx context.Context, obj *generated.DataProcessMutation, input *generated.AddDataProcessInput) (*generated.DataProcessResponse, error) { - return dataprocessing.CreateDataProcessTask(ctx, obj, input) + c, err := getClientFromCtx(ctx) + if err != nil { + return nil, err + } + return dataprocessing.CreateDataProcessTask(ctx, c, obj, input) } // DeleteDataProcessTask is the resolver for the deleteDataProcessTask field. func (r *dataProcessMutationResolver) DeleteDataProcessTask(ctx context.Context, obj *generated.DataProcessMutation, input *generated.DeleteDataProcessInput) (*generated.DataProcessResponse, error) { - return dataprocessing.DeleteDataProcessTask(ctx, obj, input) + c, err := getClientFromCtx(ctx) + if err != nil { + return nil, err + } + return dataprocessing.DeleteDataProcessTask(ctx, c, obj, input) } // AllDataProcessListByPage is the resolver for the allDataProcessListByPage field. func (r *dataProcessQueryResolver) AllDataProcessListByPage(ctx context.Context, obj *generated.DataProcessQuery, input *generated.AllDataProcessListByPageInput) (*generated.PaginatedDataProcessItem, error) { - return dataprocessing.ListDataprocessing(ctx, obj, input) + c, err := getClientFromCtx(ctx) + if err != nil { + return nil, err + } + return dataprocessing.ListDataprocessing(ctx, c, obj, input) } // AllDataProcessListByCount is the resolver for the allDataProcessListByCount field. func (r *dataProcessQueryResolver) AllDataProcessListByCount(ctx context.Context, obj *generated.DataProcessQuery, input *generated.AllDataProcessListByCountInput) (*generated.CountDataProcessItem, error) { - return dataprocessing.ListDataprocessingByCount(ctx, obj, input) + c, err := getClientFromCtx(ctx) + if err != nil { + return nil, err + } + return dataprocessing.ListDataprocessingByCount(ctx, c, obj, input) } // DataProcessSupportType is the resolver for the dataProcessSupportType field. func (r *dataProcessQueryResolver) DataProcessSupportType(ctx context.Context, obj *generated.DataProcessQuery) (*generated.DataProcessSupportType, error) { - return dataprocessing.DataProcessSupportType(ctx, obj) + c, err := getClientFromCtx(ctx) + if err != nil { + return nil, err + } + return dataprocessing.DataProcessSupportType(ctx, c, obj) } // DataProcessDetails is the resolver for the dataProcessDetails field. func (r *dataProcessQueryResolver) DataProcessDetails(ctx context.Context, obj *generated.DataProcessQuery, input *generated.DataProcessDetailsInput) (*generated.DataProcessDetails, error) { - return dataprocessing.DataProcessDetails(ctx, obj, input) + c, err := getClientFromCtx(ctx) + if err != nil { + return nil, err + } + return dataprocessing.DataProcessDetails(ctx, c, obj, input) } // DataProcess is the resolver for the dataProcess field. diff --git a/graphql-server/go-server/graph/schema/dataprocessing.graphqls b/graphql-server/go-server/graph/schema/dataprocessing.graphqls index 5af75b702..2d4e3cd0b 100644 --- a/graphql-server/go-server/graph/schema/dataprocessing.graphqls +++ b/graphql-server/go-server/graph/schema/dataprocessing.graphqls @@ -55,6 +55,16 @@ input FileItem { # 数据处理配置条目 input DataProcessConfigItem { type: String! + llm_config: LLMConfigItem +} + +# LLM for 数据处理配置条目 +input LLMConfigItem { + name: String + namespace: String + model: String + temperature: String + top_k: String } input DeleteDataProcessInput { diff --git a/graphql-server/go-server/pkg/dataprocessing/dataprocessing.go b/graphql-server/go-server/pkg/dataprocessing/dataprocessing.go index ee059a481..27c16ada9 100644 --- a/graphql-server/go-server/pkg/dataprocessing/dataprocessing.go +++ b/graphql-server/go-server/pkg/dataprocessing/dataprocessing.go @@ -20,6 +20,8 @@ import ( "net/http" "sync" + "k8s.io/client-go/dynamic" + "github.com/kubeagi/arcadia/graphql-server/go-server/graph/generated" ) @@ -36,7 +38,7 @@ func Init(dataprocessingURL string) { }) } -func ListDataprocessing(ctx context.Context, obj *generated.DataProcessQuery, input *generated.AllDataProcessListByPageInput) (*generated.PaginatedDataProcessItem, error) { +func ListDataprocessing(ctx context.Context, c dynamic.Interface, obj *generated.DataProcessQuery, input *generated.AllDataProcessListByPageInput) (*generated.PaginatedDataProcessItem, error) { // prepare http request jsonParams, err := json.Marshal(input) if err != nil { @@ -64,7 +66,7 @@ func ListDataprocessing(ctx context.Context, obj *generated.DataProcessQuery, in return pagedData, nil } -func ListDataprocessingByCount(ctx context.Context, obj *generated.DataProcessQuery, input *generated.AllDataProcessListByCountInput) (*generated.CountDataProcessItem, error) { +func ListDataprocessingByCount(ctx context.Context, c dynamic.Interface, obj *generated.DataProcessQuery, input *generated.AllDataProcessListByCountInput) (*generated.CountDataProcessItem, error) { // prepare http request jsonParams, err := json.Marshal(input) if err != nil { @@ -92,7 +94,7 @@ func ListDataprocessingByCount(ctx context.Context, obj *generated.DataProcessQu return countData, nil } -func DataProcessSupportType(ctx context.Context, obj *generated.DataProcessQuery) (*generated.DataProcessSupportType, error) { +func DataProcessSupportType(ctx context.Context, c dynamic.Interface, obj *generated.DataProcessQuery) (*generated.DataProcessSupportType, error) { // prepare http request req, err := http.NewRequest("POST", url+"/text-process-type", nil) if err != nil { @@ -116,7 +118,9 @@ func DataProcessSupportType(ctx context.Context, obj *generated.DataProcessQuery return data, nil } -func CreateDataProcessTask(ctx context.Context, obj *generated.DataProcessMutation, input *generated.AddDataProcessInput) (*generated.DataProcessResponse, error) { +func CreateDataProcessTask(ctx context.Context, c dynamic.Interface, obj *generated.DataProcessMutation, input *generated.AddDataProcessInput) (*generated.DataProcessResponse, error) { + // create complete http payload to data processing service + // prepare http request jsonParams, err := json.Marshal(input) if err != nil { @@ -144,7 +148,7 @@ func CreateDataProcessTask(ctx context.Context, obj *generated.DataProcessMutati return data, nil } -func DeleteDataProcessTask(ctx context.Context, obj *generated.DataProcessMutation, input *generated.DeleteDataProcessInput) (*generated.DataProcessResponse, error) { +func DeleteDataProcessTask(ctx context.Context, c dynamic.Interface, obj *generated.DataProcessMutation, input *generated.DeleteDataProcessInput) (*generated.DataProcessResponse, error) { // prepare http request jsonParams, err := json.Marshal(input) if err != nil { @@ -172,7 +176,7 @@ func DeleteDataProcessTask(ctx context.Context, obj *generated.DataProcessMutati return data, nil } -func DataProcessDetails(ctx context.Context, obj *generated.DataProcessQuery, input *generated.DataProcessDetailsInput) (*generated.DataProcessDetails, error) { +func DataProcessDetails(ctx context.Context, c dynamic.Interface, obj *generated.DataProcessQuery, input *generated.DataProcessDetailsInput) (*generated.DataProcessDetails, error) { // prepare http request jsonParams, err := json.Marshal(input) if err != nil {