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

View File

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

View File

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