Spaces:
Paused
Paused
File size: 2,259 Bytes
31c0a7e 980db68 a83fb54 31c0a7e 5175e14 31c0a7e 5175e14 31c0a7e 5175e14 31c0a7e 5175e14 31c0a7e 5175e14 31c0a7e 0408a46 5175e14 0408a46 5175e14 31c0a7e 0408a46 31c0a7e 0408a46 31c0a7e 5175e14 31c0a7e 5175e14 31c0a7e 0408a46 31c0a7e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
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)
|