Fixed the issue where an empty string system prompt would be set when enabling file id. (#999)

This commit is contained in:
澄潭
2024-05-24 16:27:02 +08:00
committed by GitHub
parent e09edff827
commit ca1ad1dc73
3 changed files with 9 additions and 7 deletions

View File

@@ -19,7 +19,7 @@ build:
DOCKER_BUILDKIT=1 docker build --build-arg PLUGIN_NAME=${PLUGIN_NAME} \ DOCKER_BUILDKIT=1 docker build --build-arg PLUGIN_NAME=${PLUGIN_NAME} \
--build-arg BUILDER=${BUILDER} \ --build-arg BUILDER=${BUILDER} \
--build-arg GOPROXY=$(GOPROXY) \ --build-arg GOPROXY=$(GOPROXY) \
--build-arg EXTRA_TAGS=$(EXTRA_TAGS) \ --build-arg EXTRA_TAGS=$(EXTRA_TAGS) \
-t ${IMG} \ -t ${IMG} \
--output extensions/${PLUGIN_NAME} \ --output extensions/${PLUGIN_NAME} \
. .
@@ -30,7 +30,7 @@ build-image:
DOCKER_BUILDKIT=1 docker build --build-arg PLUGIN_NAME=${PLUGIN_NAME} \ DOCKER_BUILDKIT=1 docker build --build-arg PLUGIN_NAME=${PLUGIN_NAME} \
--build-arg BUILDER=${BUILDER} \ --build-arg BUILDER=${BUILDER} \
--build-arg GOPROXY=$(GOPROXY) \ --build-arg GOPROXY=$(GOPROXY) \
--build-arg EXTRA_TAGS=$(EXTRA_TAGS) \ --build-arg EXTRA_TAGS=$(EXTRA_TAGS) \
-t ${IMG} \ -t ${IMG} \
. .
@echo "" @echo ""

View File

@@ -26,6 +26,8 @@ const (
qwenTopPMax = 0.999999 qwenTopPMax = 0.999999
qwenDummySystemMessageContent = "You are a helpful assistant." qwenDummySystemMessageContent = "You are a helpful assistant."
qwenLongModelName = "qwen-long"
) )
type qwenProviderInitializer struct { type qwenProviderInitializer struct {
@@ -292,7 +294,7 @@ func (m *qwenProvider) buildQwenTextGenerationRequest(origRequest *chatCompletio
Tools: origRequest.Tools, Tools: origRequest.Tools,
}, },
} }
if len(m.config.qwenFileIds) != 0 { if len(m.config.qwenFileIds) != 0 && origRequest.Model == qwenLongModelName {
builder := strings.Builder{} builder := strings.Builder{}
for _, fileId := range m.config.qwenFileIds { for _, fileId := range m.config.qwenFileIds {
if builder.Len() != 0 { if builder.Len() != 0 {
@@ -422,7 +424,7 @@ func (m *qwenProvider) insertContextMessage(request *qwenTextGenRequest, content
Role: roleSystem, Role: roleSystem,
Content: content, Content: content,
} }
firstNonSystemMessageIndex := -1 var firstNonSystemMessageIndex int
messages := request.Input.Messages messages := request.Input.Messages
if messages != nil { if messages != nil {
for i, message := range request.Input.Messages { for i, message := range request.Input.Messages {
@@ -432,7 +434,7 @@ func (m *qwenProvider) insertContextMessage(request *qwenTextGenRequest, content
} }
} }
} }
if firstNonSystemMessageIndex == -1 { if firstNonSystemMessageIndex == 0 {
request.Input.Messages = append([]qwenMessage{fileMessage}, request.Input.Messages...) request.Input.Messages = append([]qwenMessage{fileMessage}, request.Input.Messages...)
return 0 return 0
} else if !onlyOneSystemBeforeFile { } else if !onlyOneSystemBeforeFile {

View File

@@ -37,14 +37,14 @@ func insertContextMessage(request *chatCompletionRequest, content string) {
Role: roleSystem, Role: roleSystem,
Content: content, Content: content,
} }
firstNonSystemMessageIndex := -1 var firstNonSystemMessageIndex int
for i, message := range request.Messages { for i, message := range request.Messages {
if message.Role != roleSystem { if message.Role != roleSystem {
firstNonSystemMessageIndex = i firstNonSystemMessageIndex = i
break break
} }
} }
if firstNonSystemMessageIndex == -1 { if firstNonSystemMessageIndex == 0 {
request.Messages = append([]chatMessage{fileMessage}, request.Messages...) request.Messages = append([]chatMessage{fileMessage}, request.Messages...)
} else { } else {
request.Messages = append(request.Messages[:firstNonSystemMessageIndex], append([]chatMessage{fileMessage}, request.Messages[firstNonSystemMessageIndex:]...)...) request.Messages = append(request.Messages[:firstNonSystemMessageIndex], append([]chatMessage{fileMessage}, request.Messages[firstNonSystemMessageIndex:]...)...)