Fix/content reasoning

* fix: concat
* fix: concat
* fix: concat sep
* fix: concat content & url
* fix: opimized
* fix: test
* fix: test
* fix: multi content parse with uri
* fix: multi content combine
* fix: remove unused func
* fix: multi content with content & reasoning content
* fix: multi content with content & reasoning content

See merge request: !886
This commit is contained in:
李俊文
2025-07-21 11:23:48 +00:00
parent 82e55ffdb8
commit 249c23c64b
16 changed files with 263 additions and 92 deletions

View File

@@ -24,6 +24,7 @@ import (
type Message interface {
List(ctx context.Context, req *entity.ListMeta) (*entity.ListResult, error)
PreCreate(ctx context.Context, req *entity.Message) (*entity.Message, error)
Create(ctx context.Context, req *entity.Message) (*entity.Message, error)
GetByRunIDs(ctx context.Context, conversationID int64, runIDs []int64) ([]*entity.Message, error)
GetByID(ctx context.Context, id int64) (*entity.Message, error)

View File

@@ -39,13 +39,14 @@ func NewService(c *Components) Message {
}
}
func (m *messageImpl) PreCreate(ctx context.Context, msg *entity.Message) (*entity.Message, error) {
// create message
return m.MessageRepo.PreCreate(ctx, msg)
}
func (m *messageImpl) Create(ctx context.Context, msg *entity.Message) (*entity.Message, error) {
// create message
msg, err := m.MessageRepo.Create(ctx, msg)
if err != nil {
return nil, err
}
return msg, nil
return m.MessageRepo.Create(ctx, msg)
}
func (m *messageImpl) List(ctx context.Context, req *entity.ListMeta) (*entity.ListResult, error) {
@@ -82,12 +83,7 @@ func (m *messageImpl) List(ctx context.Context, req *entity.ListMeta) (*entity.L
}
func (m *messageImpl) GetByRunIDs(ctx context.Context, conversationID int64, runIDs []int64) ([]*entity.Message, error) {
messageList, err := m.MessageRepo.GetByRunIDs(ctx, runIDs, "ASC")
if err != nil {
return nil, err
}
return messageList, nil
return m.MessageRepo.GetByRunIDs(ctx, runIDs, "ASC")
}
func (m *messageImpl) Edit(ctx context.Context, req *entity.Message) (*entity.Message, error) {
@@ -100,21 +96,11 @@ func (m *messageImpl) Edit(ctx context.Context, req *entity.Message) (*entity.Me
}
func (m *messageImpl) Delete(ctx context.Context, req *entity.DeleteMeta) error {
err := m.MessageRepo.Delete(ctx, req.MessageIDs, req.RunIDs)
if err != nil {
return err
}
return nil
return m.MessageRepo.Delete(ctx, req.MessageIDs, req.RunIDs)
}
func (m *messageImpl) GetByID(ctx context.Context, id int64) (*entity.Message, error) {
msg, err := m.MessageRepo.GetByID(ctx, id)
if err != nil {
return nil, err
}
return msg, nil
return m.MessageRepo.GetByID(ctx, id)
}
func (m *messageImpl) Broken(ctx context.Context, req *entity.BrokenMeta) error {

View File

@@ -19,6 +19,7 @@ package message
import (
"context"
"testing"
"time"
"github.com/cloudwego/eino/schema"
"github.com/stretchr/testify/assert"
@@ -74,8 +75,10 @@ func TestCreateMessage(t *testing.T) {
ctrl := gomock.NewController(t)
idGen := mock.NewMockIDGenerator(ctrl)
idGen.EXPECT().GenID(gomock.Any()).Return(int64(10), nil).Times(1)
idGen.EXPECT().GenID(gomock.Any()).DoAndReturn(func(_ context.Context) (int64, error) {
newID := time.Now().UnixNano()
return newID, nil
}).AnyTimes()
mockDBGen := orm.NewMockDB()
mockDBGen.AddTable(&model.Message{})
mockDB, err := mockDBGen.DB()
@@ -92,10 +95,12 @@ func TestCreateMessage(t *testing.T) {
imageInput := &message.FileData{
Url: "https://xxxxx.xxxx/image",
Name: "test_img",
URI: "",
}
fileInput := &message.FileData{
Url: "https://xxxxx.xxxx/file",
Name: "test_file",
URI: "",
}
content := []*message.InputMetaData{
{