fix tool_call tts
This commit is contained in:
parent
dae6d6a2b0
commit
21c6e7808c
3 changed files with 22 additions and 5 deletions
|
|
@ -1379,6 +1379,9 @@ func (al *AgentLoop) runLLMIteration(
|
||||||
Channel: opts.Channel,
|
Channel: opts.Channel,
|
||||||
ChatID: opts.ChatID,
|
ChatID: opts.ChatID,
|
||||||
Content: feedbackMsg,
|
Content: feedbackMsg,
|
||||||
|
Metadata: map[string]string{
|
||||||
|
"is_tool_call": "true",
|
||||||
|
},
|
||||||
})
|
})
|
||||||
fbCancel()
|
fbCancel()
|
||||||
}
|
}
|
||||||
|
|
@ -1397,6 +1400,9 @@ func (al *AgentLoop) runLLMIteration(
|
||||||
Channel: opts.Channel,
|
Channel: opts.Channel,
|
||||||
ChatID: opts.ChatID,
|
ChatID: opts.ChatID,
|
||||||
Content: result.ForUser,
|
Content: result.ForUser,
|
||||||
|
Metadata: map[string]string{
|
||||||
|
"is_tool_call": "true",
|
||||||
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1447,6 +1453,9 @@ func (al *AgentLoop) runLLMIteration(
|
||||||
Channel: opts.Channel,
|
Channel: opts.Channel,
|
||||||
ChatID: opts.ChatID,
|
ChatID: opts.ChatID,
|
||||||
Content: r.result.ForUser,
|
Content: r.result.ForUser,
|
||||||
|
Metadata: map[string]string{
|
||||||
|
"is_tool_call": "true",
|
||||||
|
},
|
||||||
})
|
})
|
||||||
logger.DebugCF("agent", "Sent tool result to user",
|
logger.DebugCF("agent", "Sent tool result to user",
|
||||||
map[string]any{
|
map[string]any{
|
||||||
|
|
|
||||||
|
|
@ -30,10 +30,11 @@ type InboundMessage struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type OutboundMessage struct {
|
type OutboundMessage struct {
|
||||||
Channel string `json:"channel"`
|
Channel string `json:"channel"`
|
||||||
ChatID string `json:"chat_id"`
|
ChatID string `json:"chat_id"`
|
||||||
Content string `json:"content"`
|
Content string `json:"content"`
|
||||||
ReplyToMessageID string `json:"reply_to_message_id,omitempty"`
|
ReplyToMessageID string `json:"reply_to_message_id,omitempty"`
|
||||||
|
Metadata map[string]string `json:"metadata,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// MediaPart describes a single media attachment to send.
|
// MediaPart describes a single media attachment to send.
|
||||||
|
|
|
||||||
|
|
@ -154,7 +154,14 @@ func (c *DiscordChannel) Send(ctx context.Context, msg bus.OutboundMessage) erro
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if c.tts != nil {
|
isToolCall := false
|
||||||
|
if msg.Metadata != nil {
|
||||||
|
if val, ok := msg.Metadata["is_tool_call"]; ok && val == "true" {
|
||||||
|
isToolCall = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if c.tts != nil && !isToolCall {
|
||||||
if ch, err := c.session.State.Channel(channelID); err == nil && ch.GuildID != "" {
|
if ch, err := c.session.State.Channel(channelID); err == nil && ch.GuildID != "" {
|
||||||
if vc, ok := c.session.VoiceConnections[ch.GuildID]; ok && vc != nil {
|
if vc, ok := c.session.VoiceConnections[ch.GuildID]; ok && vc != nil {
|
||||||
// Cancel any previous TTS playback
|
// Cancel any previous TTS playback
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue