From 26fccfe18ecd64265738a5e2474feee48dd0fde4 Mon Sep 17 00:00:00 2001 From: Eugen Eisler Date: Thu, 19 Sep 2024 22:41:05 +0200 Subject: [PATCH] feat: integrate the output language to the system/user prompt --- core/fabric.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/core/fabric.go b/core/fabric.go index 234f4d6..a70ff37 100644 --- a/core/fabric.go +++ b/core/fabric.go @@ -257,6 +257,9 @@ func (o *Chat) BuildChatSession(raw bool) (ret *db.Session, err error) { } systemMessage := strings.TrimSpace(o.Context) + strings.TrimSpace(o.Pattern) + if o.Language != "" { + systemMessage = fmt.Sprintf("%s. Please use the language '%s' for the output.", systemMessage, o.Language) + } userMessage := strings.TrimSpace(o.Message) if raw { @@ -274,10 +277,6 @@ func (o *Chat) BuildChatSession(raw bool) (ret *db.Session, err error) { } } - if o.Language != "" { - ret.Append(&common.Message{Role: "system", Content: "please use " + o.Language + " language"}) - } - if ret.IsEmpty() { ret = nil err = fmt.Errorf("no session, pattern or user messages provided")