From 7fd4fa474231d0c08f3e05d3cec3fb958b925a4a Mon Sep 17 00:00:00 2001 From: Eugen Eisler Date: Sat, 30 Nov 2024 20:44:31 +0100 Subject: [PATCH] fix: close #1173 --- core/chatter.go | 9 +++++++++ plugins/db/fsdb/sessions.go | 3 +-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/core/chatter.go b/core/chatter.go index a11684ce..31817744 100644 --- a/core/chatter.go +++ b/core/chatter.go @@ -31,6 +31,15 @@ func (o *Chatter) Send(request *common.ChatRequest, opts *common.ChatOptions) (s return } + vendorMessages := session.GetVendorMessages() + if len(vendorMessages) == 0 { + if session.Name != "" { + err = o.db.Sessions.SaveSession(session) + } + err = fmt.Errorf("no messages provided") + return + } + if opts.Model == "" { opts.Model = o.model } diff --git a/plugins/db/fsdb/sessions.go b/plugins/db/fsdb/sessions.go index 61156bae..2f278744 100644 --- a/plugins/db/fsdb/sessions.go +++ b/plugins/db/fsdb/sessions.go @@ -58,8 +58,7 @@ func (o *Session) Append(messages ...*goopenai.ChatCompletionMessage) { } func (o *Session) GetVendorMessages() (ret []*goopenai.ChatCompletionMessage) { - if o.vendorMessages == nil { - o.vendorMessages = []*goopenai.ChatCompletionMessage{} + if len(o.vendorMessages) == 0 { for _, message := range o.Messages { o.appendVendorMessage(message) }