File size: 1,484 Bytes
232331e
 
 
 
 
af68df3
232331e
 
af68df3
232331e
 
 
 
 
 
 
 
 
 
d063f8f
 
232331e
 
 
 
 
 
d063f8f
 
 
232331e
 
 
 
 
 
 
d063f8f
 
 
232331e
 
 
 
 
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
import firebase_admin
from firebase_admin import credentials, db
import os
from dotenv import load_dotenv

# Load environment variables (Hugging Face Space secrets)
load_dotenv()

# Initialize Firebase
cred = credentials.Certificate({
    "type": "service_account",
    "project_id": os.getenv("FIREBASE_PROJECT_ID"),
    "private_key_id": os.getenv("FIREBASE_PRIVATE_KEY_ID"),
    "private_key": os.getenv("FIREBASE_PRIVATE_KEY").replace("\\n", "\n"),
    "client_email": os.getenv("FIREBASE_CLIENT_EMAIL"),
    "client_id": os.getenv("FIREBASE_CLIENT_ID"),
    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
    "token_uri": "https://oauth2.googleapis.com/token",
    "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
    "client_x509_cert_url": os.getenv("FIREBASE_CLIENT_X509_CERT_URL"),
    "universe_domain": "googleapis.com"
})
firebase_admin.initialize_app(cred, {
    'databaseURL': os.getenv("FIREBASE_DATABASE_URL")
})

def save_chat_message(user_input, krishna_response):
    """
    Save a chat message to Firebase Realtime Database.
    """
    ref = db.reference('chat_history')
    ref.push({
        'user': user_input,
        'krishna': krishna_response
    })

def get_chat_history():
    """
    Retrieve chat history from Firebase Realtime Database.
    """
    ref = db.reference('chat_history')
    history = ref.get()
    if history:
        return [(msg['user'], msg['krishna']) for msg in history.values()]
    return []