Mise à jour du titre (imparfait)
This commit is contained in:
1 parent
345129c7bf
commit
509a3b14c8
14 files changed
+451
-18
No files matched your search
@@ -0,0 +1,38 @@
|
||||
package chat
|
||||
|
||||
import (
|
||||
"context"
|
||||
"log/slog"
|
||||
|
||||
"trankilou.fr/lassistanoque/backend/internal/domain"
|
||||
)
|
||||
|
||||
func (s *Service) RefreshTitles(provider *domain.Provider, modelID string, teamID string) {
|
||||
|
||||
ctx := context.Background()
|
||||
|
||||
chats, err := s.repoChat.ListChatsWithUnfreshTitles(teamID)
|
||||
if err != nil {
|
||||
slog.Error("RefreshTitles.ListChats", "error", err)
|
||||
}
|
||||
for _, chat := range chats {
|
||||
newchat, _ := s.repoChat.GetChat(chat.UserID, chat.TeamID, chat.ID)
|
||||
|
||||
if !chat.FreshTitle {
|
||||
messages, err := s.repoChat.GetChatMessages(newchat.UserID, newchat.TeamID, newchat.ID, true)
|
||||
if err != nil {
|
||||
slog.Error("RefreshTitles.GetMessages", "error", err)
|
||||
}
|
||||
title, err := s.llmEngine.Generate(ctx, provider, modelID, append(messages, &domain.Message{
|
||||
Role: string(domain.RoleUser),
|
||||
Content: "resume toute la conversation dans un titre entre 5 et 10 mots",
|
||||
}))
|
||||
if err != nil {
|
||||
slog.Error("RefreshTitles.Generate", "error", err)
|
||||
}
|
||||
newchat.FreshTitle = true
|
||||
newchat.Title = title
|
||||
s.repoChat.UpdateChat(newchat.UserID, newchat)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user