|
@@ -5,24 +5,15 @@ import (
|
|
|
)
|
|
|
|
|
|
type BaseRequestInvokeModel struct {
|
|
|
- Provider string `json:"provider" validate:"required"`
|
|
|
- ModelType model_entities.ModelType `json:"model_type" validate:"required,model_type"`
|
|
|
- Model string `json:"model" validate:"required"`
|
|
|
- Credentials map[string]any `json:"credentials" validate:"omitempty,dive,is_basic_type"`
|
|
|
-}
|
|
|
-
|
|
|
-func (r *BaseRequestInvokeModel) ToCallerArguments() map[string]any {
|
|
|
- return map[string]any{
|
|
|
- "provider": r.Provider,
|
|
|
- "model": r.Model,
|
|
|
- "model_type": r.ModelType,
|
|
|
- "credentials": r.Credentials,
|
|
|
- }
|
|
|
+ Provider string `json:"provider" validate:"required"`
|
|
|
+ Model string `json:"model" validate:"required"`
|
|
|
+ Credentials map[string]any `json:"credentials" validate:"omitempty,dive,is_basic_type"`
|
|
|
}
|
|
|
|
|
|
type RequestInvokeLLM struct {
|
|
|
BaseRequestInvokeModel
|
|
|
|
|
|
+ ModelType model_entities.ModelType `json:"model_type" validate:"required,model_type,eq=llm"`
|
|
|
ModelParameters map[string]any `json:"model_parameters" validate:"omitempty,dive,is_basic_type"`
|
|
|
PromptMessages []model_entities.PromptMessage `json:"prompt_messages" validate:"omitempty,dive"`
|
|
|
Tools []model_entities.PromptMessageTool `json:"tools" validate:"omitempty,dive"`
|
|
@@ -33,33 +24,38 @@ type RequestInvokeLLM struct {
|
|
|
type RequestInvokeTextEmbedding struct {
|
|
|
BaseRequestInvokeModel
|
|
|
|
|
|
- Texts []string `json:"texts" validate:"required,dive"`
|
|
|
+ ModelType model_entities.ModelType `json:"model_type" validate:"required,model_type,eq=text-embedding"`
|
|
|
+ Texts []string `json:"texts" validate:"required,dive"`
|
|
|
}
|
|
|
|
|
|
type RequestInvokeRerank struct {
|
|
|
BaseRequestInvokeModel
|
|
|
|
|
|
- Query string `json:"query" validate:"required"`
|
|
|
- Docs []string `json:"docs" validate:"required,dive"`
|
|
|
- ScoreThreshold float64 `json:"score_threshold" `
|
|
|
- TopN int `json:"top_n" `
|
|
|
+ ModelType model_entities.ModelType `json:"model_type" validate:"required,model_type,eq=rerank"`
|
|
|
+ Query string `json:"query" validate:"required"`
|
|
|
+ Docs []string `json:"docs" validate:"required,dive"`
|
|
|
+ ScoreThreshold float64 `json:"score_threshold" `
|
|
|
+ TopN int `json:"top_n" `
|
|
|
}
|
|
|
|
|
|
type RequestInvokeTTS struct {
|
|
|
BaseRequestInvokeModel
|
|
|
|
|
|
- ContentText string `json:"content_text" validate:"required"`
|
|
|
- Voice string `json:"voice" validate:"required"`
|
|
|
+ ModelType model_entities.ModelType `json:"model_type" validate:"required,model_type,eq=tts"`
|
|
|
+ ContentText string `json:"content_text" validate:"required"`
|
|
|
+ Voice string `json:"voice" validate:"required"`
|
|
|
}
|
|
|
|
|
|
type RequestInvokeSpeech2Text struct {
|
|
|
BaseRequestInvokeModel
|
|
|
|
|
|
- File string `json:"file" validate:"required"` // base64 encoded voice file
|
|
|
+ ModelType model_entities.ModelType `json:"model_type" validate:"required,model_type,eq=speech2text"`
|
|
|
+ File string `json:"file" validate:"required"` // hexing encoded voice file
|
|
|
}
|
|
|
|
|
|
type RequestInvokeModeration struct {
|
|
|
BaseRequestInvokeModel
|
|
|
|
|
|
- Text string `json:"text" validate:"required"`
|
|
|
+ ModelType model_entities.ModelType `json:"model_type" validate:"required,model_type,eq=moderation"`
|
|
|
+ Text string `json:"text" validate:"required"`
|
|
|
}
|