|
@@ -1,19 +1,20 @@
|
|
|
-import json
|
|
|
+import os
|
|
|
+
|
|
|
import openai
|
|
|
from flask import Flask, request, jsonify, send_from_directory, url_for
|
|
|
-import re
|
|
|
-import os
|
|
|
-import time
|
|
|
-from openai import ChatCompletion
|
|
|
|
|
|
app = Flask(__name__)
|
|
|
ssl = None
|
|
|
# ssl =('/etc/ssl/sample.crt', '/etc/ssl/sample.pem')
|
|
|
-openai_key = os.environ.get("OPENAI_KEY", "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")
|
|
|
+
|
|
|
+openai_key = os.environ.get("OPENAI_KEY")
|
|
|
+if not openai_key:
|
|
|
+ sys.exit()
|
|
|
+
|
|
|
openai.api_key = openai_key
|
|
|
app.chat_messages = [
|
|
|
{"role": "system",
|
|
|
- "content": "Jawab hanya dengan bahasa Indonesia secara singkat tidak lebih dari 100 kata."}
|
|
|
+ "content": "Please respond professionally and in a friendly manner, using the same language as the original request."}
|
|
|
]
|
|
|
UPLOAD_FOLDER = 'files'
|
|
|
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
|
|
@@ -41,6 +42,19 @@ def gpt():
|
|
|
json_payload = json_payload['payload']
|
|
|
if isinstance(json_payload, dict):
|
|
|
json_payload = [json_payload]
|
|
|
+ elif 'greeting' in json_payload:
|
|
|
+ company_name = json_payload['greeting']['company_name']
|
|
|
+ timestamp = json_payload['greeting']['timestamp']
|
|
|
+ completion_message = "Selamat "
|
|
|
+ if 'completion' in json_payload['greeting']:
|
|
|
+ completion_message = json_payload['greeting']['completion']
|
|
|
+ greeting_message = f"Buatkan chat greeting dari {company_name} pada jam {timestamp}, tidak perlu mention waktu: '{completion_message}'"
|
|
|
+ json_payload = [
|
|
|
+ {
|
|
|
+ "role": "user",
|
|
|
+ "content": greeting_message
|
|
|
+ }
|
|
|
+ ]
|
|
|
else:
|
|
|
json_payload = [json_payload]
|
|
|
json_payload = json_payload[-5:]
|
|
@@ -54,13 +68,13 @@ def gpt():
|
|
|
arr.append(content_arr[i])
|
|
|
message['content'] = " ".join(arr)
|
|
|
chat_messages.append(message)
|
|
|
- print(chat_messages)
|
|
|
+ app.logger.info(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)
|
|
|
+ max_tokens=600, temperature=0.6)
|
|
|
+ app.logger.info(json_response.choices[0].message)
|
|
|
if has_named_params:
|
|
|
if use_video:
|
|
|
# TODO: to be implemented
|
|
@@ -70,13 +84,13 @@ def gpt():
|
|
|
else:
|
|
|
result = json_response.choices[0].message
|
|
|
except Exception as error_print:
|
|
|
- print(error_print)
|
|
|
+ app.logger.error(error_print)
|
|
|
result = {}, 405
|
|
|
return result
|
|
|
|
|
|
|
|
|
# Press the green button in the gutter to run the script.
|
|
|
if __name__ == '__main__':
|
|
|
- app.run(host='0.0.0.0', port=8348, debug=True, ssl_context=ssl)
|
|
|
+ app.run(host='0.0.0.0', port=8348, debug=False, ssl_context=ssl)
|
|
|
|
|
|
# See PyCharm help at https://www.jetbrains.com/help/pycharm/
|