Fixing user request representation in the LLM request context (#40).
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing

This commit is contained in:
Alexey Skobkin 2024-11-04 02:24:00 +03:00
parent b4b0f7baba
commit 5280fe8a2e
Signed by: skobkin
GPG key ID: 4389E670595BF8A8
2 changed files with 9 additions and 8 deletions

View file

@ -144,7 +144,7 @@ func (b *Bot) processMention(message *telego.Message) {
requestContext := b.createLlmRequestContextFromMessage(message) requestContext := b.createLlmRequestContextFromMessage(message)
userMessageData := tgUserMessageToMessageData(message) userMessageData := tgUserMessageToMessageData(message, true)
llmReply, err := b.llm.HandleChatMessage( llmReply, err := b.llm.HandleChatMessage(
messageDataToLlmMessage(userMessageData), messageDataToLlmMessage(userMessageData),

View file

@ -56,7 +56,7 @@ func (b *Bot) saveChatMessageToHistory(message *telego.Message) {
b.history[chatId] = NewMessageHistory(HistoryLength) b.history[chatId] = NewMessageHistory(HistoryLength)
} }
msgData := tgUserMessageToMessageData(message) msgData := tgUserMessageToMessageData(message, false)
b.history[chatId].Push(msgData) b.history[chatId].Push(msgData)
} }
@ -99,16 +99,17 @@ func (b *Bot) saveBotReplyToHistory(replyTo *telego.Message, text string) {
b.history[chatId].Push(msgData) b.history[chatId].Push(msgData)
} }
func tgUserMessageToMessageData(message *telego.Message) MessageData { func tgUserMessageToMessageData(message *telego.Message, isUserRequest bool) MessageData {
msgData := MessageData{ msgData := MessageData{
Name: message.From.FirstName, Name: message.From.FirstName,
Username: message.From.Username, Username: message.From.Username,
Text: message.Text, Text: message.Text,
IsMe: false, IsMe: false,
IsUserRequest: isUserRequest,
} }
if message.ReplyToMessage != nil { if message.ReplyToMessage != nil {
replyData := tgUserMessageToMessageData(message.ReplyToMessage) replyData := tgUserMessageToMessageData(message.ReplyToMessage, false)
msgData.ReplyTo = &replyData msgData.ReplyTo = &replyData
} }