Skip to content

Commit

Permalink
Merge pull request #572 from Abirdcfly/maxtoken
Browse files Browse the repository at this point in the history
feat: add maxTokens in apiserver
  • Loading branch information
nkwangleiGIT authored Jan 17, 2024
2 parents c046903 + 59c59c9 commit 8ff68ab
Show file tree
Hide file tree
Showing 13 changed files with 105 additions and 2 deletions.
1 change: 1 addition & 0 deletions api/app-node/chain/v1alpha1/llmchain_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ type CommonChainConfig struct {
// Usually this value is just empty
Model string `json:"model,omitempty"`
// MaxTokens is the maximum number of tokens to generate to use in a llm call.
// +kubebuilder:default=1024
MaxTokens int `json:"maxTokens,omitempty"`
// Temperature is the temperature for sampling to use in a llm call, between 0 and 1.
//+kubebuilder:validation:Minimum=0
Expand Down
76 changes: 75 additions & 1 deletion apiserver/graph/generated/generated.go

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

4 changes: 4 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.

2 changes: 2 additions & 0 deletions apiserver/graph/schema/application.gql
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ mutation updateApplicationConfig($input: UpdateApplicationConfigInput!){
llm
temperature
maxLength
maxTokens
conversionWindowSize
knowledgebase
scoreThreshold
Expand Down Expand Up @@ -91,6 +92,7 @@ query getApplication($name: String!, $namespace: String!){
llm
temperature
maxLength
maxTokens
conversionWindowSize
knowledgebase
scoreThreshold
Expand Down
10 changes: 10 additions & 0 deletions apiserver/graph/schema/application.graphqls
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,11 @@ type Application {
"""
maxLength: Int

"""
maxTokens 最大输出token
"""
maxTokens: Int

"""
conversionWindowSize 对话轮次
"""
Expand Down Expand Up @@ -277,6 +282,11 @@ input UpdateApplicationConfigInput {
"""
maxLength: Int

"""
maxTokens 最大输出token
"""
maxTokens: Int

"""
conversionWindowSize 对话轮次
"""
Expand Down
6 changes: 6 additions & 0 deletions apiserver/pkg/application/application.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ func addDefaultValue(gApp *generated.Application, app *v1alpha1.Application) {
gApp.ScoreThreshold = pointer.Float64(0.3)
gApp.Temperature = pointer.Float64(0.7)
gApp.MaxLength = pointer.Int(1024)
gApp.MaxTokens = pointer.Int(1024)
gApp.ConversionWindowSize = pointer.Int(5)
}

Expand Down Expand Up @@ -85,6 +86,7 @@ func cr2app(prompt *apiprompt.Prompt, chainConfig *apichain.CommonChainConfig, r
gApp.Model = pointer.String(chainConfig.Model)
gApp.Temperature = pointer.Float64(chainConfig.Temperature)
gApp.MaxLength = pointer.Int(chainConfig.MaxLength)
gApp.MaxTokens = pointer.Int(chainConfig.MaxTokens)
gApp.ConversionWindowSize = pointer.Int(chainConfig.Memory.ConversionWindowSize)
}
for _, node := range app.Spec.Nodes {
Expand Down Expand Up @@ -367,13 +369,15 @@ func UpdateApplicationConfig(ctx context.Context, c dynamic.Interface, input gen
},
Model: pointer.StringDeref(input.Model, ""),
MaxLength: pointer.IntDeref(input.MaxLength, 0),
MaxTokens: pointer.IntDeref(input.MaxTokens, 0),
Temperature: pointer.Float64Deref(input.Temperature, 0),
},
},
}
if err = createOrUpdateResource(ctx, c, common.SchemaOf(&common.ArcadiaAPIGroup, strings.ToLower(chainKind)), input.Namespace, input.Name, func() {
qachain.Spec.Model = pointer.StringDeref(input.Model, qachain.Spec.Model)
qachain.Spec.MaxLength = pointer.IntDeref(input.MaxLength, qachain.Spec.MaxLength)
qachain.Spec.MaxTokens = pointer.IntDeref(input.MaxTokens, qachain.Spec.MaxTokens)
qachain.Spec.Temperature = pointer.Float64Deref(input.Temperature, qachain.Spec.Temperature)
qachain.Spec.Memory.ConversionWindowSize = pointer.IntDeref(input.ConversionWindowSize, qachain.Spec.Memory.ConversionWindowSize)
}, qachain); err != nil {
Expand Down Expand Up @@ -401,13 +405,15 @@ func UpdateApplicationConfig(ctx context.Context, c dynamic.Interface, input gen
},
Model: pointer.StringDeref(input.Model, ""),
MaxLength: pointer.IntDeref(input.MaxLength, 0),
MaxTokens: pointer.IntDeref(input.MaxTokens, 0),
Temperature: pointer.Float64Deref(input.Temperature, 0),
},
},
}
if err = createOrUpdateResource(ctx, c, common.SchemaOf(&common.ArcadiaAPIGroup, strings.ToLower(chainKind)), input.Namespace, input.Name, func() {
llmchain.Spec.Model = pointer.StringDeref(input.Model, llmchain.Spec.Model)
llmchain.Spec.MaxLength = pointer.IntDeref(input.MaxLength, llmchain.Spec.MaxLength)
llmchain.Spec.MaxTokens = pointer.IntDeref(input.MaxTokens, llmchain.Spec.MaxTokens)
llmchain.Spec.Temperature = pointer.Float64Deref(input.Temperature, llmchain.Spec.Temperature)
llmchain.Spec.Memory.ConversionWindowSize = pointer.IntDeref(input.ConversionWindowSize, llmchain.Spec.Memory.ConversionWindowSize)
}, llmchain); err != nil {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ spec:
minimum: 10
type: integer
maxTokens:
default: 1024
description: MaxTokens is the maximum number of tokens to generate
to use in a llm call.
type: integer
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ spec:
minimum: 10
type: integer
maxTokens:
default: 1024
description: MaxTokens is the maximum number of tokens to generate
to use in a llm call.
type: integer
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ spec:
minimum: 10
type: integer
maxTokens:
default: 1024
description: MaxTokens is the maximum number of tokens to generate
to use in a llm call.
type: integer
Expand Down
2 changes: 1 addition & 1 deletion deploy/charts/arcadia/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: v2
name: arcadia
description: A Helm chart(KubeBB Component) for KubeAGI Arcadia
type: application
version: 0.2.13
version: 0.2.14
appVersion: "0.1.0"

keywords:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ spec:
minimum: 10
type: integer
maxTokens:
default: 1024
description: MaxTokens is the maximum number of tokens to generate
to use in a llm call.
type: integer
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ spec:
minimum: 10
type: integer
maxTokens:
default: 1024
description: MaxTokens is the maximum number of tokens to generate
to use in a llm call.
type: integer
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ spec:
minimum: 10
type: integer
maxTokens:
default: 1024
description: MaxTokens is the maximum number of tokens to generate
to use in a llm call.
type: integer
Expand Down

0 comments on commit 8ff68ab

Please sign in to comment.