{ "cells": [ { "cell_type": "code", "execution_count": null, "id": "fb6a2677", "metadata": {}, "outputs": [], "source": [ "from pymongo.mongo_client import MongoClient\n", "from pymongo.server_api import ServerApi\n", "\n", "import os\n", "from dotenv import load_dotenv\n", "\n", "from datetime import datetime, timezone" ] }, { "cell_type": "code", "execution_count": 2, "id": "43935648", "metadata": {}, "outputs": [], "source": [ "load_dotenv()\n", "MONGODB_CONNECTION_STRING = os.getenv('MONGODB_CONNECTION_STRING')" ] }, { "cell_type": "code", "execution_count": null, "id": "6616ba3d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pinged your deployment. You successfully connected to MongoDB!\n" ] } ], "source": [ "# Create a new client and connect to the server\n", "client = MongoClient(MONGODB_CONNECTION_STRING, server_api=ServerApi('1'))\n", "\n", "# Send a ping to confirm a successful connection\n", "try:\n", " client.admin.command('ping')\n", " print(\"Pinged your deployment. You successfully connected to MongoDB!\")\n", " \n", " database = client[\"AdminLogs\"]\n", " chat_logs = database[\"ChatLogs\"]\n", " print(\"Connected to MongoDB collection successfully!\")\n", "\n", " chat_logs.create_index(\"session_id\")\n", " chat_logs.create_index(\"timestamp\")\n", " chat_logs.create_index([(\"session_id\", 1), (\"timestamp\", 1)]) # compound\n", " print(\"Indexes created successfully!\")\n", "\n", "except Exception as e:\n", " print(e)" ] }, { "cell_type": "code", "execution_count": null, "id": "fc2cfa6d", "metadata": {}, "outputs": [], "source": [ "def log_chat(session_id: str, query: str, answer: str, metadata: dict=None):\n", " \"\"\"\n", " Logs a chat interaction to the MongoDB 'ChatLogs' collection.\n", " \"\"\"\n", " data = {\n", " \"session_id\": session_id,\n", " \"timestamp\": datetime.now(timezone.utc),\n", " \"query\": query,\n", " \"answer\": answer,\n", " \"metadata\": metadata or {}\n", " }\n", " try:\n", " result = chat_logs.insert_one(data)\n", " retur\n", " except Exception as e:\n", " print(\"Failed to log chat interaction:\", e)" ] } ], "metadata": { "kernelspec": { "display_name": ".venv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.5" } }, "nbformat": 4, "nbformat_minor": 5 }