From d5117c9a668d409016521bf7b7e81221bf7914c3 Mon Sep 17 00:00:00 2001 From: aPaladiychuk Date: Mon, 13 May 2024 18:42:37 +0300 Subject: [PATCH 1/2] replace mocked data --- backend/core/bll/chat.go | 4 ++-- backend/core/responder/ai.go | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/backend/core/bll/chat.go b/backend/core/bll/chat.go index 95f36ba0..7691ad91 100644 --- a/backend/core/bll/chat.go +++ b/backend/core/bll/chat.go @@ -63,7 +63,7 @@ func (b *chatBL) SendMessage(ctx *gin.Context, user *model.User, param *paramete aiClient := b.aiBuilder.New(chatSession.Persona.LLM) resp := responder.NewManager( responder.NewAIResponder(aiClient, b.chatRepo), - responder.NewEmbeddingResponder()) + ) go resp.Send(ctx, &message) return resp, nil @@ -88,7 +88,7 @@ func (b *chatBL) GetSessionByID(ctx context.Context, user *model.User, id int64) }) } for _, msg := range result.Messages { - if msg.MessageType == model.MessageTypeUser { + if msg.MessageType == model.MessageTypeAssistant { for _, d := range docs { md := d md.MessageID = msg.ID diff --git a/backend/core/responder/ai.go b/backend/core/responder/ai.go index 59e3c9e4..b3199f61 100644 --- a/backend/core/responder/ai.go +++ b/backend/core/responder/ai.go @@ -5,6 +5,8 @@ import ( "cognix.ch/api/v2/core/model" "cognix.ch/api/v2/core/repository" "context" + "fmt" + "github.com/shopspring/decimal" "sync" "time" ) @@ -42,6 +44,22 @@ func (r *aiResponder) Send(ctx context.Context, ch chan *Response, wg *sync.Wait payload.Type = ResponseError } ch <- payload + time.Sleep(10 * time.Millisecond) + for i := 0; i < 4; i++ { + ch <- &Response{ + IsValid: true, + Type: ResponseDocument, + Message: nil, + Document: &model.DocumentResponse{ + ID: decimal.NewFromInt(int64(i)), + DocumentID: "11", + Link: fmt.Sprintf("link for document %d", i), + Content: fmt.Sprintf("content of document %d", i), + MessageID: message.ID, + }, + } + } + wg.Done() } From 0284dd23aabb767d218b14822bc93b82a6dbafc0 Mon Sep 17 00:00:00 2001 From: aPaladiychuk Date: Mon, 13 May 2024 18:45:49 +0300 Subject: [PATCH 2/2] replace mocked data --- backend/core/bll/chat.go | 9 +++++---- backend/core/model/document.go | 11 ++++++----- backend/core/responder/ai.go | 11 ++++++----- backend/core/responder/embedding.go | 12 +++++++----- 4 files changed, 24 insertions(+), 19 deletions(-) diff --git a/backend/core/bll/chat.go b/backend/core/bll/chat.go index 7691ad91..748c839c 100644 --- a/backend/core/bll/chat.go +++ b/backend/core/bll/chat.go @@ -81,10 +81,11 @@ func (b *chatBL) GetSessionByID(ctx context.Context, user *model.User, id int64) docs := make([]model.DocumentResponse, 0) for i := 0; i < 4; i++ { docs = append(docs, model.DocumentResponse{ - ID: decimal.NewFromInt(int64(i)), - DocumentID: "11", - Link: fmt.Sprintf("link for document %d", i), - Content: fmt.Sprintf("content of document %d", i), + ID: decimal.NewFromInt(int64(i)), + DocumentID: "11", + Link: fmt.Sprintf("link for document %d", i), + Content: fmt.Sprintf("content of document %d", i), + UpdatedDate: time.Now().UTC().Add(-48 * time.Hour), }) } for _, msg := range result.Messages { diff --git a/backend/core/model/document.go b/backend/core/model/document.go index 33100b54..53a5c147 100644 --- a/backend/core/model/document.go +++ b/backend/core/model/document.go @@ -32,11 +32,12 @@ type Document struct { } type DocumentResponse struct { - ID decimal.Decimal `json:"id,omitempty"` - MessageID decimal.Decimal `json:"message_id,omitempty"` - Link string `json:"link,omitempty"` - DocumentID string `json:"document_id,omitempty"` - Content string `json:"content,omitempty"` + ID decimal.Decimal `json:"id,omitempty"` + MessageID decimal.Decimal `json:"message_id,omitempty"` + Link string `json:"link,omitempty"` + DocumentID string `json:"document_id,omitempty"` + Content string `json:"content,omitempty"` + UpdatedDate time.Time `json:"updated_date,omitempty"` } type DocumentFeedback struct { tableName struct{} `pg:"document_feedbacks"` diff --git a/backend/core/responder/ai.go b/backend/core/responder/ai.go index b3199f61..ad07d102 100644 --- a/backend/core/responder/ai.go +++ b/backend/core/responder/ai.go @@ -51,11 +51,12 @@ func (r *aiResponder) Send(ctx context.Context, ch chan *Response, wg *sync.Wait Type: ResponseDocument, Message: nil, Document: &model.DocumentResponse{ - ID: decimal.NewFromInt(int64(i)), - DocumentID: "11", - Link: fmt.Sprintf("link for document %d", i), - Content: fmt.Sprintf("content of document %d", i), - MessageID: message.ID, + ID: decimal.NewFromInt(int64(i)), + DocumentID: "11", + Link: fmt.Sprintf("link for document %d", i), + Content: fmt.Sprintf("content of document %d", i), + UpdatedDate: time.Now().UTC().Add(-48 * time.Hour), + MessageID: message.ID, }, } } diff --git a/backend/core/responder/embedding.go b/backend/core/responder/embedding.go index 478c0a6e..f616bda2 100644 --- a/backend/core/responder/embedding.go +++ b/backend/core/responder/embedding.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/shopspring/decimal" "sync" + "time" ) type embedding struct { @@ -19,11 +20,12 @@ func (r *embedding) Send(ctx context.Context, ch chan *Response, wg *sync.WaitGr Type: ResponseDocument, Message: nil, Document: &model.DocumentResponse{ - ID: decimal.NewFromInt(int64(i)), - DocumentID: "11", - Link: fmt.Sprintf("link for document %d", i), - Content: fmt.Sprintf("content of document %d", i), - MessageID: parentMessage.ID, + ID: decimal.NewFromInt(int64(i)), + DocumentID: "11", + Link: fmt.Sprintf("link for document %d", i), + Content: fmt.Sprintf("content of document %d", i), + UpdatedDate: time.Now().UTC().Add(-48 * time.Hour), + MessageID: parentMessage.ID, }, } }