|
|
@@ -106,7 +106,7 @@ func cozeChatStreamHandler(c *gin.Context, resp *http.Response, info *relaycommo
|
|
|
|
|
|
var currentEvent string
|
|
|
var currentData string
|
|
|
- var usage dto.Usage
|
|
|
+ var usage = &dto.Usage{}
|
|
|
|
|
|
for scanner.Scan() {
|
|
|
line := scanner.Text()
|
|
|
@@ -114,7 +114,7 @@ func cozeChatStreamHandler(c *gin.Context, resp *http.Response, info *relaycommo
|
|
|
if line == "" {
|
|
|
if currentEvent != "" && currentData != "" {
|
|
|
// handle last event
|
|
|
- handleCozeEvent(c, currentEvent, currentData, &responseText, &usage, id, info)
|
|
|
+ handleCozeEvent(c, currentEvent, currentData, &responseText, usage, id, info)
|
|
|
currentEvent = ""
|
|
|
currentData = ""
|
|
|
}
|
|
|
@@ -134,7 +134,7 @@ func cozeChatStreamHandler(c *gin.Context, resp *http.Response, info *relaycommo
|
|
|
|
|
|
// Last event
|
|
|
if currentEvent != "" && currentData != "" {
|
|
|
- handleCozeEvent(c, currentEvent, currentData, &responseText, &usage, id, info)
|
|
|
+ handleCozeEvent(c, currentEvent, currentData, &responseText, usage, id, info)
|
|
|
}
|
|
|
|
|
|
if err := scanner.Err(); err != nil {
|
|
|
@@ -143,12 +143,10 @@ func cozeChatStreamHandler(c *gin.Context, resp *http.Response, info *relaycommo
|
|
|
helper.Done(c)
|
|
|
|
|
|
if usage.TotalTokens == 0 {
|
|
|
- usage.PromptTokens = info.PromptTokens
|
|
|
- usage.CompletionTokens = service.CountTextToken("gpt-3.5-turbo", responseText)
|
|
|
- usage.TotalTokens = usage.PromptTokens + usage.CompletionTokens
|
|
|
+ usage = service.ResponseText2Usage(responseText, info.UpstreamModelName, c.GetInt("coze_input_count"))
|
|
|
}
|
|
|
|
|
|
- return nil, &usage
|
|
|
+ return nil, usage
|
|
|
}
|
|
|
|
|
|
func handleCozeEvent(c *gin.Context, event string, data string, responseText *string, usage *dto.Usage, id string, info *relaycommon.RelayInfo) {
|