memory fuck up
This commit is contained in:
parent
3b534349cd
commit
7f6be5660b
@ -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"
|
||||
|
||||
}
|
||||
|
@ -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,
|
||||
}
|
||||
|
@ -4,3 +4,7 @@ type GenericResponseLine struct {
|
||||
Line string `json:"line"`
|
||||
Error string `json:"error"`
|
||||
}
|
||||
|
||||
type StringStruct struct {
|
||||
Text string `json:"text"`
|
||||
}
|
||||
|
Reference in New Issue
Block a user