Browse Source

update chatgpt

kevin 2 năm trước cách đây
mục cha
commit
e0900a95fb
6 tập tin đã thay đổi với 42 bổ sung14 xóa
  1. 2 1
      .dockerignore
  2. 1 1
      Dockerfile
  3. 3 3
      docker-compose.yaml
  4. 6 2
      gunicorn.conf.py
  5. 29 6
      main.py
  6. 1 1
      requirements.txt

+ 2 - 1
.dockerignore

@@ -11,4 +11,5 @@ build_docker_base.sh
 start_docker.sh
 start_docker.sh
 stop_docker.sh
 stop_docker.sh
 hello*
 hello*
-README.md
+README.md
+*.zip

+ 1 - 1
Dockerfile

@@ -4,4 +4,4 @@ COPY . .
 
 
 EXPOSE 8348
 EXPOSE 8348
 
 
-CMD ["/usr/src/app/run.sh", "--no-venv", "--has-db"]
+CMD ["/usr/src/app/run.sh", "--no-venv"]

+ 3 - 3
docker-compose.yaml

@@ -4,8 +4,8 @@ services:
     build: .
     build: .
     restart: always
     restart: always
     ports:
     ports:
-      - "8348:8348"
+      - "80:8348"
     environment:
     environment:
-      WORKERS: 8
-      TIMEOUT: 60
+      WORKERS: 2
+      TIMEOUT: 120
       OPENAI_KEY: "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"
       OPENAI_KEY: "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"

+ 6 - 2
gunicorn.conf.py

@@ -2,13 +2,17 @@ import time
 import os
 import os
 
 
 bind = '0.0.0.0:8348'
 bind = '0.0.0.0:8348'
-workers = os.environ.get("WORKERS", "8")
+workers = os.environ.get("WORKERS", "2")
 timeout = os.environ.get("TIMEOUT", "180")
 timeout = os.environ.get("TIMEOUT", "180")
 preload_app = True
 preload_app = True
 enable_stdio_inheritance = True
 enable_stdio_inheritance = True
-loglevel = 'debug'
+loglevel = 'info'
 accesslog = '-'
 accesslog = '-'
 pidfile = "app.pid"
 pidfile = "app.pid"
+keyfile = None
+certfile = None
+worker_class = 'gthread'
+threads = 4
 
 
 def on_starting(server):
 def on_starting(server):
     worker_count = int(workers)
     worker_count = int(workers)

+ 29 - 6
main.py

@@ -8,12 +8,15 @@ from openai import ChatCompletion
 
 
 app = Flask(__name__)
 app = Flask(__name__)
 ssl = None
 ssl = None
-openai_key = os.environ.get("OPENAI_KEY","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")
+# ssl =('/etc/ssl/sample.crt', '/etc/ssl/sample.pem')
+openai_key = os.environ.get("OPENAI_KEY", "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")
 openai.api_key = openai_key
 openai.api_key = openai_key
 app.chat_messages = [
 app.chat_messages = [
-        {"role": "system", "content": "Kamu adalah asisten yang membantu dan selalu menjawab dengan singkat"}
+    {"role": "system",
+     "content": "Jawab hanya dengan bahasa Indonesia"}
 ]
 ]
 
 
+
 @app.route('/', methods=['GET', 'POST'])
 @app.route('/', methods=['GET', 'POST'])
 def test():
 def test():
     return jsonify({"status": "0"})
     return jsonify({"status": "0"})
@@ -24,12 +27,32 @@ def gpt():
     json_payload = request.get_json()
     json_payload = request.get_json()
     if not json_payload:
     if not json_payload:
         json_payload = []
         json_payload = []
+    if isinstance(json_payload, dict):
+        json_payload = [json_payload]
+    json_payload = json_payload[-5:]
     for message in json_payload:
     for message in json_payload:
+        content = message['content']
+        content_arr = content.split(" ")
+        new_content_arr = content[:250].split(" ")
+        new_content_len = len(new_content_arr)
+        arr = []
+        for i in range(new_content_len):
+            arr.append(content_arr[i])
+        message['content'] = " ".join(arr)
         chat_messages.append(message)
         chat_messages.append(message)
-    response = openai.ChatCompletion.create(model="gpt-3.5-turbo",  # GPT-3.5 Turbo engine
-        messages=json_payload,
-        max_tokens=400,)
-    return response.choices[0].message
+    print(chat_messages)
+    result = {}
+    try:
+        json_response = openai.ChatCompletion.create(model="gpt-3.5-turbo",  # GPT-3.5 Turbo engine
+                                                     messages=chat_messages,
+                                                     max_tokens=300, temperature=0.6)
+        print(json_response.choices[0].message)
+        result = json_response.choices[0].message
+    except Exception as error_print:
+        print(error_print)
+        result = {}, 405
+    return result
+
 
 
 # Press the green button in the gutter to run the script.
 # Press the green button in the gutter to run the script.
 if __name__ == '__main__':
 if __name__ == '__main__':

+ 1 - 1
requirements.txt

@@ -1,3 +1,3 @@
 Flask==2.3.2
 Flask==2.3.2
 gunicorn==20.1.0
 gunicorn==20.1.0
-openai==0.27.8
+openai==0.27.8