goMuffin/chatbot/memory.go
2025-06-04 23:07:02 +09:00

36 lines
786 B
Go

package chatbot
import (
"context"
"git.wh64.net/muffin/goMuffin/databases"
"go.mongodb.org/mongo-driver/v2/bson"
"google.golang.org/genai"
)
func SaveMemory(data *databases.InsertMemory) error {
_, err := databases.Database.Memory.InsertOne(context.TODO(), *data)
return err
}
func GetMemory(userId string) ([]*genai.Content, error) {
var data []databases.Memory
memory := []*genai.Content{}
cur, err := databases.Database.Memory.Find(context.TODO(), bson.D{{Key: "user_id", Value: userId}})
if err != nil {
return memory, err
}
cur.All(context.TODO(), &data)
for _, data := range data {
memory = append(memory,
genai.NewContentFromText(data.Content, genai.RoleUser),
genai.NewContentFromText(data.Answer, genai.RoleModel),
)
}
return memory, nil
}