From 1d4ffa603d832188082a10609c3bac2d82bf8614 Mon Sep 17 00:00:00 2001 From: cookeem Date: Sat, 4 Mar 2023 07:28:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=BA=E4=BA=8E=E6=9C=80=E6=96=B0=E7=9A=84gp?= =?UTF-8?q?t-3.5-turbo-0301=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 4 ++-- README.md | 2 +- chat/service.go | 25 +++---------------------- docker-compose.yaml | 4 ++-- 4 files changed, 8 insertions(+), 27 deletions(-) diff --git a/Dockerfile b/Dockerfile index d3f5466..dbccbc1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,11 +2,11 @@ FROM alpine:3.15.3 LABEL maintainer="cookeem" LABEL email="cookeem@qq.com" -LABEL version="v1.0.0" +LABEL version="v1.0.1" RUN adduser -h /chatgpt-service -u 1000 -D dory COPY chatgpt-service /chatgpt-service/ WORKDIR /chatgpt-service USER dory -# docker build -t doryengine/chatgpt-service:v1.0.0-alpine . +# docker build -t doryengine/chatgpt-service:v1.0.1-alpine . diff --git a/README.md b/README.md index 86090e1..26f443e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# 实时ChatGPT服务 +# 实时ChatGPT服务,基于最新的gpt-3.5-turbo-0301模型 ## chatGPT-service和chatGPT-stream diff --git a/chat/service.go b/chat/service.go index 430c535..435f677 100644 --- a/chat/service.go +++ b/chat/service.go @@ -2,9 +2,7 @@ package chat import ( "context" - "errors" "fmt" - "io" "net/http" "strings" "sync" @@ -80,7 +78,7 @@ func (api *Api) GetChatMessage(conn *websocket.Conn, cli *gogpt.Client, mutex *s req := gogpt.ChatCompletionRequest{ Model: gogpt.GPT3Dot5Turbo0301, MaxTokens: api.Config.MaxLength, - Temperature: 0.6, + Temperature: 1.0, Messages: []gogpt.ChatCompletionMessage{ { Role: "user", @@ -88,7 +86,6 @@ func (api *Api) GetChatMessage(conn *websocket.Conn, cli *gogpt.Client, mutex *s }, }, Stream: true, - Stop: []string{"\n\n\n"}, TopP: 1, FrequencyPenalty: 0.1, PresencePenalty: 0.1, @@ -117,7 +114,7 @@ func (api *Api) GetChatMessage(conn *websocket.Conn, cli *gogpt.Client, mutex *s var i int for { response, err := stream.Recv() - if errors.Is(err, io.EOF) { + if err != nil { var s string var kind string if i == 0 { @@ -136,22 +133,6 @@ func (api *Api) GetChatMessage(conn *websocket.Conn, cli *gogpt.Client, mutex *s mutex.Lock() _ = conn.WriteJSON(chatMsg) mutex.Unlock() - if kind == "retry" { - api.Logger.LogError(s) - } - break - } else if err != nil { - err = fmt.Errorf("[ERROR] receive chatGPT stream error: %s", err.Error()) - chatMsg := Message{ - Kind: "error", - Msg: err.Error(), - MsgId: id, - CreateTime: time.Now().Format("2006-01-02 15:04:05"), - } - mutex.Lock() - _ = conn.WriteJSON(chatMsg) - mutex.Unlock() - api.Logger.LogError(err.Error()) break } @@ -177,7 +158,7 @@ func (api *Api) GetChatMessage(conn *websocket.Conn, cli *gogpt.Client, mutex *s i = i + 1 } if strResp != "" { - api.Logger.LogInfo(fmt.Sprintf("[RESPONSE] %s", strResp)) + api.Logger.LogInfo(fmt.Sprintf("[RESPONSE] %s\n", strResp)) } } diff --git a/docker-compose.yaml b/docker-compose.yaml index b878eef..b763ca8 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,7 +1,7 @@ version: "3" services: chatgpt-stream: - image: "doryengine/chatgpt-stream:v1.0.0" + image: "doryengine/chatgpt-stream:v1.0.1" hostname: chatgpt-stream container_name: chatgpt-stream ports: @@ -11,7 +11,7 @@ services: - chatgpt-service restart: always chatgpt-service: - image: "doryengine/chatgpt-service:v1.0.0-alpine" + image: "doryengine/chatgpt-service:v1.0.1-alpine" hostname: chatgpt-service container_name: chatgpt-service ports: