🎨 优化模型配置 && 新增apikey功能 && 完善通用接口
This commit is contained in:
36
server/model/app/request/ai_claude.go
Normal file
36
server/model/app/request/ai_claude.go
Normal file
@@ -0,0 +1,36 @@
|
||||
package request
|
||||
|
||||
// ClaudeMessageRequest Claude API 兼容的消息请求
|
||||
type ClaudeMessageRequest struct {
|
||||
Model string `json:"model"`
|
||||
Messages []ClaudeMessage `json:"messages"`
|
||||
MaxTokens int `json:"max_tokens"`
|
||||
Temperature *float64 `json:"temperature,omitempty"`
|
||||
TopP *float64 `json:"top_p,omitempty"`
|
||||
TopK *int `json:"top_k,omitempty"`
|
||||
Stream bool `json:"stream,omitempty"`
|
||||
StopSequences []string `json:"stop_sequences,omitempty"`
|
||||
System string `json:"system,omitempty"`
|
||||
|
||||
// 扩展字段 - 用于指定预设和提供商
|
||||
PresetName string `json:"preset_name,omitempty"` // 预设名称
|
||||
ProviderName string `json:"provider_name,omitempty"` // 提供商名称
|
||||
BindingName string `json:"binding_name,omitempty"` // 绑定名称(优先级最高)
|
||||
}
|
||||
|
||||
type ClaudeMessage struct {
|
||||
Role string `json:"role"` // user, assistant
|
||||
Content interface{} `json:"content"` // string 或 []ClaudeContentBlock
|
||||
}
|
||||
|
||||
type ClaudeContentBlock struct {
|
||||
Type string `json:"type"` // text, image
|
||||
Text string `json:"text,omitempty"`
|
||||
Source *ClaudeImageSource `json:"source,omitempty"`
|
||||
}
|
||||
|
||||
type ClaudeImageSource struct {
|
||||
Type string `json:"type"` // base64
|
||||
MediaType string `json:"media_type"` // image/jpeg, image/png, image/gif, image/webp
|
||||
Data string `json:"data"` // base64 编码的图片数据
|
||||
}
|
||||
Reference in New Issue
Block a user