diff --git a/chat/chat.go b/chat/chat.go index 1280679..4924247 100644 --- a/chat/chat.go +++ b/chat/chat.go @@ -63,7 +63,7 @@ func (l *Log[T]) Add(grp int64, item T, isbot bool) { func (l *Log[T]) Modelize(p model.Protocol, grp int64, sysp string, isusersystem bool) deepinfra.Model { m := p if sysp != "" && !isusersystem { - m.System(model.NewContentText(sysp)) + m.System(sysp) } l.mu.RLock() defer l.mu.RUnlock() diff --git a/model/api.go b/model/api.go index d784e8f..fa35faa 100644 --- a/model/api.go +++ b/model/api.go @@ -22,7 +22,7 @@ type Requester interface { } type MessageBuilder[T any] interface { - System(prompt ...Content) T + System(prompt string) T User(prompt ...Content) T Assistant(prompt ...Content) T } diff --git a/model/genai.go b/model/genai.go index cc26e4a..1c5c718 100644 --- a/model/genai.go +++ b/model/genai.go @@ -166,9 +166,9 @@ func (cs Contents) ToGenAIParts() []GenAIPart { return ps } -func (opai *GenAI) System(prompt ...Content) Protocol { +func (opai *GenAI) System(prompt string) Protocol { opai.SystemInstruction = &GenAIContent{ - Parts: Contents(prompt).ToGenAIParts(), + Parts: []GenAIPart{{Text: prompt}}, } return opai } diff --git a/model/ollama.go b/model/ollama.go index 7eadb4b..afd25fa 100644 --- a/model/ollama.go +++ b/model/ollama.go @@ -77,11 +77,11 @@ func (ollm *OLLaMA) OutputRaw() Contents { return Contents{NewContentText(ollm.Message.Content)} } -func (ollm *OLLaMA) System(prompt ...Content) Protocol { +func (ollm *OLLaMA) System(prompt string) Protocol { ollm.Messages = make([]OLLaMAMessage, 1, 8) ollm.Messages[0] = OLLaMAMessage{ Role: "system", - Content: prompt[0].Text, + Content: prompt, } return ollm } diff --git a/model/openai.go b/model/openai.go index d94d99c..fc09bc1 100644 --- a/model/openai.go +++ b/model/openai.go @@ -115,7 +115,7 @@ func (opai *OpenAI) OutputRaw() Contents { return nil } -func (opai *OpenAI) System(prompt ...Content) Protocol { +func (opai *OpenAI) System(prompt string) Protocol { opai.Messages = make([]OpenAIMessage, 1, 8) raw, err := json.Marshal(&prompt) if err != nil {