fix: inject English system prompt for DeepSeek provider
DeepSeek models default to Chinese for some prompts. The ensureEnglish() function prepends 'Always respond in English' as a system message when no system prompt is already set. Applied to both ChatCompletion and ChatCompletionStream paths.
This commit is contained in:
@@ -62,6 +62,9 @@ func (u *deepSeekUsage) ToUnified() *models.Usage {
|
||||
}
|
||||
|
||||
func (p *DeepSeekProvider) ChatCompletion(ctx context.Context, req *models.UnifiedRequest) (*models.ChatCompletionResponse, error) {
|
||||
// Ensure English responses — DeepSeek defaults to Chinese for some prompts
|
||||
ensureEnglish(req)
|
||||
|
||||
messagesJSON, err := MessagesToOpenAIJSON(req.Messages)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to convert messages: %w", err)
|
||||
@@ -129,6 +132,8 @@ func (p *DeepSeekProvider) ChatCompletion(ctx context.Context, req *models.Unifi
|
||||
}
|
||||
|
||||
func (p *DeepSeekProvider) ChatCompletionStream(ctx context.Context, req *models.UnifiedRequest) (<-chan *models.ChatCompletionStreamResponse, error) {
|
||||
ensureEnglish(req)
|
||||
|
||||
messagesJSON, err := MessagesToOpenAIJSON(req.Messages)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to convert messages: %w", err)
|
||||
|
||||
Reference in New Issue
Block a user