File size: 1,062 Bytes
649efae
 
 
 
 
 
 
 
 
 
 
 
678db8f
649efae
 
 
52974f8
649efae
86ff417
 
649efae
 
86ff417
649efae
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
# %%
from pymongo.mongo_client import MongoClient
from pymongo.server_api import ServerApi

import os
from dotenv import load_dotenv

from datetime import datetime, timezone
from app.config import client, chat_logs


# %%
def log_chat(session_id: str, name: str, email: str, query: str, answer: str, chatbot_id: str, company_id: str, latency_ms: float | None=None, metadata: dict=None):
    """
    Logs a chat interaction to the MongoDB 'ChatLogs' collection.
    """
    print("test")
    data = {
        "timestamp": datetime.now(timezone.utc),
        "starred": False,
        "company_id": company_id,
        "session_id": session_id,
        "chatbot_id": chatbot_id,
        "name": name,
        "email": email,
        "query": query,
        "answer": answer,
        "metadata": metadata or {},
    }

    if latency_ms is not None:
        data["latency_ms"] = latency_ms

    try:
        print("Logging chat:", data)
        result = chat_logs.insert_one(data)
    except Exception as e:
        print("Failed to log chat interaction:", e)
# %%