From d0bf9776c45b154f8344739ae5b710695dd35838 Mon Sep 17 00:00:00 2001 From: Deng Junhai Date: Wed, 27 Mar 2024 18:12:28 +0800 Subject: [PATCH] fix: fix dashscope first message role issue (#149) fix: fix dashscope first message role issue (#149) Co-Authored-By: Minghan Zhang <112773885+zmh-program@users.noreply.github.com> --- adapter/dashscope/chat.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/adapter/dashscope/chat.go b/adapter/dashscope/chat.go index 218dbff..76380e6 100644 --- a/adapter/dashscope/chat.go +++ b/adapter/dashscope/chat.go @@ -20,11 +20,21 @@ func (c *ChatInstance) GetHeader() map[string]string { func (c *ChatInstance) FormatMessages(message []globals.Message) []Message { var messages []Message + var start bool for _, v := range message { if v.Role == globals.Tool { continue } + if !start { + start = true + + // dashscope first message should be [`user`, `system`] role, convert other roles to `user` + if v.Role != globals.User && v.Role != globals.System { + v.Role = globals.User + } + } + messages = append(messages, Message{ Role: v.Role, Content: v.Content,