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>
This commit is contained in:
Deng Junhai 2024-03-27 18:12:28 +08:00
parent 60ea2d7d04
commit d0bf9776c4

View File

@ -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,