Register separate timestamps for user query and response by Khoj Chat

This commit is contained in:
Debanjum Singh Solanky
2023-03-24 15:27:30 +07:00
parent 93e2aff786
commit cf28f104c7
3 changed files with 9 additions and 5 deletions

View File

@@ -363,10 +363,11 @@ Render results in BUFFER-NAME using QUERY, CONTENT-TYPE."
;; render json response into formatted chat messages
(with-current-buffer (get-buffer buffer-name)
(let ((inhibit-read-only t)
(query-time (format-time-string "%F %T"))
(json-response (khoj--query-chat-api query)))
(goto-char (point-max))
(insert
(khoj--render-chat-message query "you")
(khoj--render-chat-message query "you" query-time)
(khoj--render-chat-response json-response)))
(progn (org-mode)
(visual-line-mode))

View File

@@ -38,20 +38,20 @@ def message_to_prompt(
return f"{conversation_history}{restart_sequence} {user_message}{start_sequence}{gpt_message}"
def message_to_log(user_message, gpt_message, khoj_message_metadata={}, conversation_log=[]):
def message_to_log(user_message, gpt_message, user_message_metadata={}, khoj_message_metadata={}, conversation_log=[]):
"""Create json logs from messages, metadata for conversation log"""
default_khoj_message_metadata = {
"intent": {"type": "remember", "memory-type": "notes", "query": user_message},
"trigger-emotion": "calm",
}
current_dt = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
khoj_response_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
# Create json log from Human's message
human_log = {"message": user_message, "by": "you", "created": current_dt}
human_log = merge_dicts({"message": user_message, "by": "you"}, user_message_metadata)
# Create json log from GPT's response
khoj_log = merge_dicts(khoj_message_metadata, default_khoj_message_metadata)
khoj_log = merge_dicts({"message": gpt_message, "by": "khoj", "created": current_dt}, khoj_log)
khoj_log = merge_dicts({"message": gpt_message, "by": "khoj", "created": khoj_response_time}, khoj_log)
conversation_log.extend([human_log, khoj_log])
return conversation_log

View File

@@ -2,6 +2,7 @@
import math
import yaml
import logging
from datetime import datetime
from typing import List, Optional, Union
# External Packages
@@ -192,6 +193,7 @@ def chat(q: Optional[str] = None):
# Initialize Variables
api_key = state.processor_config.conversation.openai_api_key
model = state.processor_config.conversation.model
user_message_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
# Load Conversation History
chat_session = state.processor_config.conversation.chat_session
@@ -225,6 +227,7 @@ def chat(q: Optional[str] = None):
state.processor_config.conversation.meta_log["chat"] = message_to_log(
q,
gpt_response,
user_message_metadata={"created": user_message_time},
khoj_message_metadata={"context": collated_result, "intent": {"inferred-queries": inferred_queries}},
conversation_log=meta_log.get("chat", []),
)