journal / app.py
srbmihaicode's picture
Removed history and parameters requirements
5175e14 verified
raw
history blame
2.26 kB
from flask import Flask, request, jsonify
from huggingface_hub import InferenceClient
app = Flask(__name__)
client = InferenceClient("HuggingFaceH4/zephyr-7b-beta")
DEFAULT_MAX_TOKENS = 512
DEFAULT_TEMPERATURE = 0.7
DEFAULT_TOP_P = 0.95
def generate_response(message, system_message):
messages = [{"role": "system", "content": system_message}]
messages.append({"role": "user", "content": message})
response = ""
for message in client.chat_completion(
messages,
max_tokens=DEFAULT_MAX_TOKENS,
stream=True,
temperature=DEFAULT_TEMPERATURE,
top_p=DEFAULT_TOP_P,
):
token = message.choices[0].delta.content
response += token
return response
def generate_journal_suggestion(current_page):
suggestion_prompt = (
f"Pe baza înregistrării din jurnal: '{current_page}', sugerează ce ar putea scrie utilizatorul în continuare în jurnalul său. "
"Concentrează-te pe încurajarea reflecției mai profunde, stabilirea obiectivelor sau explorarea ideilor conexe."
)
suggestion_response = ""
for message in client.chat_completion(
[{"role": "user", "content": suggestion_prompt}],
max_tokens=150,
stream=True,
temperature=DEFAULT_TEMPERATURE,
top_p=DEFAULT_TOP_P,
):
token = message.choices[0].delta.content
suggestion_response += token
return suggestion_response
@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", "")
if not message:
return jsonify({"error": "Message is required."}), 400
response = generate_response(message, system_message)
suggestion = ""
if journal_page:
suggestion = generate_journal_suggestion(journal_page)
return jsonify({"response": response, "journal_suggestion": suggestion})
except Exception as e:
return jsonify({"error": str(e)}), 500
if __name__ == "__main__":
app.run(debug=True)