Spaces:
Sleeping
Sleeping
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') | |
def hello(): | |
return "hello 🤗, Welcome to Sema AI Chat Service." | |
# Flask route to handle incoming chat requests | |
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) | |