145 lines
4.6 KiB
Go
145 lines
4.6 KiB
Go
package models
|
|
|
|
type DSChatReq struct {
|
|
Messages []RoleMsg `json:"messages"`
|
|
Model string `json:"model"`
|
|
Stream bool `json:"stream"`
|
|
FrequencyPenalty int `json:"frequency_penalty"`
|
|
MaxTokens int `json:"max_tokens"`
|
|
PresencePenalty int `json:"presence_penalty"`
|
|
Temperature float32 `json:"temperature"`
|
|
TopP float32 `json:"top_p"`
|
|
// ResponseFormat struct {
|
|
// Type string `json:"type"`
|
|
// } `json:"response_format"`
|
|
// Stop any `json:"stop"`
|
|
// StreamOptions any `json:"stream_options"`
|
|
// Tools any `json:"tools"`
|
|
// ToolChoice string `json:"tool_choice"`
|
|
// Logprobs bool `json:"logprobs"`
|
|
// TopLogprobs any `json:"top_logprobs"`
|
|
}
|
|
|
|
func NewDSChatReq(cb ChatBody) DSChatReq {
|
|
return DSChatReq{
|
|
Messages: cb.Messages,
|
|
Model: cb.Model,
|
|
Stream: cb.Stream,
|
|
MaxTokens: 2048,
|
|
PresencePenalty: 0,
|
|
FrequencyPenalty: 0,
|
|
Temperature: 1.0,
|
|
TopP: 1.0,
|
|
}
|
|
}
|
|
|
|
type DSCompletionReq struct {
|
|
Model string `json:"model"`
|
|
Prompt string `json:"prompt"`
|
|
Echo bool `json:"echo"`
|
|
FrequencyPenalty int `json:"frequency_penalty"`
|
|
// Logprobs int `json:"logprobs"`
|
|
MaxTokens int `json:"max_tokens"`
|
|
PresencePenalty int `json:"presence_penalty"`
|
|
Stop any `json:"stop"`
|
|
Stream bool `json:"stream"`
|
|
StreamOptions any `json:"stream_options"`
|
|
Suffix any `json:"suffix"`
|
|
Temperature float32 `json:"temperature"`
|
|
TopP float32 `json:"top_p"`
|
|
}
|
|
|
|
func NewDSCompletionReq(prompt, model string, temp float32, stopSlice []string) DSCompletionReq {
|
|
return DSCompletionReq{
|
|
Model: model,
|
|
Prompt: prompt,
|
|
Temperature: temp,
|
|
Stream: true,
|
|
Echo: false,
|
|
MaxTokens: 2048,
|
|
PresencePenalty: 0,
|
|
FrequencyPenalty: 0,
|
|
TopP: 1.0,
|
|
Stop: stopSlice,
|
|
}
|
|
}
|
|
|
|
type DSCompletionResp struct {
|
|
ID string `json:"id"`
|
|
Choices []struct {
|
|
FinishReason string `json:"finish_reason"`
|
|
Index int `json:"index"`
|
|
Logprobs struct {
|
|
TextOffset []int `json:"text_offset"`
|
|
TokenLogprobs []int `json:"token_logprobs"`
|
|
Tokens []string `json:"tokens"`
|
|
TopLogprobs []struct {
|
|
} `json:"top_logprobs"`
|
|
} `json:"logprobs"`
|
|
Text string `json:"text"`
|
|
} `json:"choices"`
|
|
Created int `json:"created"`
|
|
Model string `json:"model"`
|
|
SystemFingerprint string `json:"system_fingerprint"`
|
|
Object string `json:"object"`
|
|
Usage struct {
|
|
CompletionTokens int `json:"completion_tokens"`
|
|
PromptTokens int `json:"prompt_tokens"`
|
|
PromptCacheHitTokens int `json:"prompt_cache_hit_tokens"`
|
|
PromptCacheMissTokens int `json:"prompt_cache_miss_tokens"`
|
|
TotalTokens int `json:"total_tokens"`
|
|
CompletionTokensDetails struct {
|
|
ReasoningTokens int `json:"reasoning_tokens"`
|
|
} `json:"completion_tokens_details"`
|
|
} `json:"usage"`
|
|
}
|
|
|
|
type DSChatResp struct {
|
|
Choices []struct {
|
|
Delta struct {
|
|
Content string `json:"content"`
|
|
Role any `json:"role"`
|
|
} `json:"delta"`
|
|
FinishReason string `json:"finish_reason"`
|
|
Index int `json:"index"`
|
|
Logprobs any `json:"logprobs"`
|
|
} `json:"choices"`
|
|
Created int `json:"created"`
|
|
ID string `json:"id"`
|
|
Model string `json:"model"`
|
|
Object string `json:"object"`
|
|
SystemFingerprint string `json:"system_fingerprint"`
|
|
Usage struct {
|
|
CompletionTokens int `json:"completion_tokens"`
|
|
PromptTokens int `json:"prompt_tokens"`
|
|
TotalTokens int `json:"total_tokens"`
|
|
} `json:"usage"`
|
|
}
|
|
|
|
type DSChatStreamResp struct {
|
|
ID string `json:"id"`
|
|
Object string `json:"object"`
|
|
Created int `json:"created"`
|
|
Model string `json:"model"`
|
|
SystemFingerprint string `json:"system_fingerprint"`
|
|
Choices []struct {
|
|
Index int `json:"index"`
|
|
Delta struct {
|
|
Content string `json:"content"`
|
|
ReasoningContent string `json:"reasoning_content"`
|
|
} `json:"delta"`
|
|
Logprobs any `json:"logprobs"`
|
|
FinishReason string `json:"finish_reason"`
|
|
} `json:"choices"`
|
|
}
|
|
|
|
type DSBalance struct {
|
|
IsAvailable bool `json:"is_available"`
|
|
BalanceInfos []struct {
|
|
Currency string `json:"currency"`
|
|
TotalBalance string `json:"total_balance"`
|
|
GrantedBalance string `json:"granted_balance"`
|
|
ToppedUpBalance string `json:"topped_up_balance"`
|
|
} `json:"balance_infos"`
|
|
}
|