feat: azure realtime

(cherry picked from commit 75ff3d98f06103dc2df1f8817bd3fcbf433e0f20)
This commit is contained in:
1808837298@qq.com
2024-10-07 17:18:11 +08:00
committed by CalciumIon
parent 74f9006b40
commit 8de79382f0
2 changed files with 30 additions and 11 deletions

View File

@@ -225,6 +225,21 @@ func CountTokenRealtime(info *relaycommon.RelayInfo, request dto.RealtimeEvent,
return 0, 0, fmt.Errorf("error counting audio token: %v", err)
}
audioToken += atk
case dto.RealtimeEventConversationItemCreated:
if request.Item != nil {
switch request.Item.Type {
case "message":
for _, content := range request.Item.Content {
if content.Type == "input_text" {
tokens, err := CountTextToken(content.Text, model)
if err != nil {
return 0, 0, err
}
textToken += tokens
}
}
}
}
case dto.RealtimeEventTypeResponseDone:
// count tools token
if !info.IsFirstRequest {