journal / app.py
srbmihaicode's picture
Added log config
b10d25e verified
raw
history blame
2.58 kB
from flask import Flask, request, jsonify
from huggingface_hub import InferenceClient
from gunicorn.glogging import Logger
class Config:
loglevel = "info"
# errorlog = "error.log" # Log file for errors
# accesslog = "access.log" # Log file for access logs
syslog = False
syslog_facility = "daemon"
syslog_prefix = "gunicorn"
capture_output = True
logconfig = None
logconfig_json = None
logconfig_dict = None
disable_redirect_access_to_syslog = False
cfg = Config()
app = Flask(__name__)
logger = Logger(cfg)
client = InferenceClient("meta-llama/Llama-3.1-8B-Instruct")
DEFAULT_MAX_TOKENS = 512
DEFAULT_TEMPERATURE = 0.7
DEFAULT_TOP_P = 0.95
def generate_journal_suggestion(current_page):
try:
suggestion_prompt = (
f"""Pe baza înregistrării din jurnal: '{current_page}', generează o singură întrebare pe care utilizatorul ar putea să și-o pună într-un jurnal.
Întrebarea ar trebui să încurajeze reflecția personală mai profundă, explorarea sentimentelor sau clarificarea obiectivelor."""
)
logger.info("Generated suggestion prompt: %s", suggestion_prompt)
suggestion_response = ""
response_stream = client.chat_completion(
[
{"role": "user", "content": suggestion_prompt}
],
max_tokens=150,
stream=True,
temperature=DEFAULT_TEMPERATURE,
top_p=DEFAULT_TOP_P,
)
logger.info("Response stream received.")
for message in response_stream:
logger.info("Message received: %s", message)
token = message.choices[0].delta.content
suggestion_response += token
return suggestion_response
except Exception as e:
logger.error("An error occurred: %s", e)
return jsonify({"error": str(e)}), 500
@app.route("/", methods=["POST", "GET"])
def home():
return "Hi!"
@app.route("/chat", methods=["POST"])
def chat():
try:
data = request.json
message = data.get("message", "")
system_message = data.get("system_message", "You are a friendly chatbot.")
journal_page = data.get("journal_page", "")
suggestion = ""
if journal_page:
suggestion = generate_journal_suggestion(journal_page)
return jsonify({"journal_suggestion": suggestion})
except Exception as e:
logger.error("Error in chat endpoint: %s", e)
return jsonify({"error": str(e)}), 500
if __name__ == "__main__":
app.run(debug=True)