memory fuck up
This commit is contained in:
parent
3b534349cd
commit
7f6be5660b
@ -1,17 +1,16 @@
|
|||||||
package chatgpt
|
package chatgpt
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"freechatgpt/typings"
|
||||||
chatgpt_types "freechatgpt/typings/chatgpt"
|
chatgpt_types "freechatgpt/typings/chatgpt"
|
||||||
official_types "freechatgpt/typings/official"
|
official_types "freechatgpt/typings/official"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
var Previous_text string
|
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, ""))
|
||||||
func ConvertToString(chatgpt_response *chatgpt_types.ChatGPTResponse) string {
|
|
||||||
translated_response := official_types.NewChatCompletionChunk(strings.ReplaceAll(chatgpt_response.Message.Content.Parts[0], Previous_text, ""))
|
|
||||||
translated_response.Choices[0].Delta.Role = chatgpt_response.Message.Author.Role
|
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"
|
return "data: " + translated_response.String() + "\n\n"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ import (
|
|||||||
"bufio"
|
"bufio"
|
||||||
"bytes"
|
"bytes"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"freechatgpt/typings"
|
||||||
chatgpt_types "freechatgpt/typings/chatgpt"
|
chatgpt_types "freechatgpt/typings/chatgpt"
|
||||||
"io"
|
"io"
|
||||||
"math/rand"
|
"math/rand"
|
||||||
@ -155,6 +156,7 @@ func Handler(c *gin.Context, response *http.Response, token string, translated_r
|
|||||||
c.Header("Content-Type", "application/json")
|
c.Header("Content-Type", "application/json")
|
||||||
}
|
}
|
||||||
var finish_reason string
|
var finish_reason string
|
||||||
|
var previous_text typings.StringStruct
|
||||||
var original_response chatgpt_types.ChatGPTResponse
|
var original_response chatgpt_types.ChatGPTResponse
|
||||||
counter := 0
|
counter := 0
|
||||||
for {
|
for {
|
||||||
@ -191,7 +193,7 @@ func Handler(c *gin.Context, response *http.Response, token string, translated_r
|
|||||||
counter++
|
counter++
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
response_string := chatgpt_response_converter.ConvertToString(&original_response)
|
response_string := chatgpt_response_converter.ConvertToString(&original_response, &previous_text)
|
||||||
if stream {
|
if stream {
|
||||||
_, err = c.Writer.WriteString(response_string)
|
_, err = c.Writer.WriteString(response_string)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -216,9 +218,9 @@ func Handler(c *gin.Context, response *http.Response, token string, translated_r
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if !max_tokens {
|
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,
|
ConversationID: original_response.ConversationID,
|
||||||
ParentID: original_response.Message.ID,
|
ParentID: original_response.Message.ID,
|
||||||
}
|
}
|
||||||
|
@ -4,3 +4,7 @@ type GenericResponseLine struct {
|
|||||||
Line string `json:"line"`
|
Line string `json:"line"`
|
||||||
Error string `json:"error"`
|
Error string `json:"error"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type StringStruct struct {
|
||||||
|
Text string `json:"text"`
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user