1
0

memory fuck up

This commit is contained in:
Antonio 2023-06-12 22:59:40 +08:00
parent 3b534349cd
commit 7f6be5660b
3 changed files with 13 additions and 8 deletions

View File

@ -1,17 +1,16 @@
package chatgpt
import (
"freechatgpt/typings"
chatgpt_types "freechatgpt/typings/chatgpt"
official_types "freechatgpt/typings/official"
"strings"
)
var Previous_text string
func ConvertToString(chatgpt_response *chatgpt_types.ChatGPTResponse) string {
translated_response := official_types.NewChatCompletionChunk(strings.ReplaceAll(chatgpt_response.Message.Content.Parts[0], Previous_text, ""))
func ConvertToString(chatgpt_response *chatgpt_types.ChatGPTResponse, previous_text *typings.StringStruct) string {
translated_response := official_types.NewChatCompletionChunk(strings.ReplaceAll(chatgpt_response.Message.Content.Parts[0], *&previous_text.Text, ""))
translated_response.Choices[0].Delta.Role = chatgpt_response.Message.Author.Role
Previous_text = chatgpt_response.Message.Content.Parts[0]
previous_text.Text = chatgpt_response.Message.Content.Parts[0]
return "data: " + translated_response.String() + "\n\n"
}

View File

@ -4,6 +4,7 @@ import (
"bufio"
"bytes"
"encoding/json"
"freechatgpt/typings"
chatgpt_types "freechatgpt/typings/chatgpt"
"io"
"math/rand"
@ -155,6 +156,7 @@ func Handler(c *gin.Context, response *http.Response, token string, translated_r
c.Header("Content-Type", "application/json")
}
var finish_reason string
var previous_text typings.StringStruct
var original_response chatgpt_types.ChatGPTResponse
counter := 0
for {
@ -191,7 +193,7 @@ func Handler(c *gin.Context, response *http.Response, token string, translated_r
counter++
continue
}
response_string := chatgpt_response_converter.ConvertToString(&original_response)
response_string := chatgpt_response_converter.ConvertToString(&original_response, &previous_text)
if stream {
_, err = c.Writer.WriteString(response_string)
if err != nil {
@ -216,9 +218,9 @@ func Handler(c *gin.Context, response *http.Response, token string, translated_r
}
}
if !max_tokens {
return chatgpt_response_converter.Previous_text, nil
return previous_text.Text, nil
}
return chatgpt_response_converter.Previous_text, &ContinueInfo{
return previous_text.Text, &ContinueInfo{
ConversationID: original_response.ConversationID,
ParentID: original_response.Message.ID,
}

View File

@ -4,3 +4,7 @@ type GenericResponseLine struct {
Line string `json:"line"`
Error string `json:"error"`
}
type StringStruct struct {
Text string `json:"text"`
}