from flask import Flask, request, jsonify from hugchat import hugchat from hugchat.login import Login import os app = Flask(__name__) # Get Hugging Face credentials from environment variables email = os.getenv('HF_EMAIL') password = os.getenv('HF_PASS') @app.route("/") def hello(): return "hello 🤗, Welcome to Sema AI Chat Service." # Flask route to handle incoming chat requests @app.route('/chat', methods=['POST']) def chat(): # Get JSON data from the POST request data = request.json prompt = data.get('prompt') email = data.get('email') password = data.get('password') if not (prompt and email and password): return jsonify({"error": "Missing prompt, email, or password"}), 400 # Generate the response response = generate_response(prompt, email, password) # Return the response as JSON return jsonify({"response": response}) # Function for generating LLM response def generate_response(prompt_input, email, passwd): # Hugging Face Login sign = Login(email, passwd) cookies = sign.login() # Create ChatBot chatbot = hugchat.ChatBot(cookies=cookies.get_dict()) # Simple dialogue structure string_dialogue = "You are a helpful assistant." string_dialogue += f"\n\nUser: {prompt_input}\n\nAssistant: " # Generate and return the response return chatbot.chat(string_dialogue) if __name__ == '__main__': app.run(debug=True)