From 34b202b86844443e43344312e3fe41c4f5e626ad Mon Sep 17 00:00:00 2001 From: Jonny-GM <91506387+Jonny-GM@users.noreply.github.com> Date: Mon, 18 Sep 2023 20:46:00 +0300 Subject: [PATCH] More lenient date searching (#481) * Modify DateFilter to use compiled entry key * Instruct search to include date in query * Minor prompt change * Prompt fix --- src/khoj/processor/conversation/openai/gpt.py | 3 ++- src/khoj/processor/conversation/prompts.py | 6 ++++++ src/khoj/search_filter/date_filter.py | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/khoj/processor/conversation/openai/gpt.py b/src/khoj/processor/conversation/openai/gpt.py index 8105c2d7..f4e5a09d 100644 --- a/src/khoj/processor/conversation/openai/gpt.py +++ b/src/khoj/processor/conversation/openai/gpt.py @@ -1,6 +1,6 @@ # Standard Packages import logging -from datetime import datetime +from datetime import datetime, timedelta from typing import Optional # External Packages @@ -70,6 +70,7 @@ def extract_questions( bob_age={current_new_year.year - 1984}, chat_history=chat_history, text=text, + yesterday_date=(today - timedelta(days=1)).strftime("%Y-%m-%d") ) messages = [ChatMessage(content=prompt, role="assistant")] diff --git a/src/khoj/processor/conversation/prompts.py b/src/khoj/processor/conversation/prompts.py index dcfc1bf4..cb9ecdcc 100644 --- a/src/khoj/processor/conversation/prompts.py +++ b/src/khoj/processor/conversation/prompts.py @@ -207,6 +207,12 @@ Q: What is their age difference? A: Bob is {bob_tom_age_difference} years older than Tom. As Bob is {bob_age} years old and Tom is 30 years old. +Q: What does yesterday's note say? + +["Note from {yesterday_date} dt='{yesterday_date}'"] + +A: Yesterday's note contains the following information: ... + {chat_history} Q: {text} diff --git a/src/khoj/search_filter/date_filter.py b/src/khoj/search_filter/date_filter.py index 16a418be..39e7bec3 100644 --- a/src/khoj/search_filter/date_filter.py +++ b/src/khoj/search_filter/date_filter.py @@ -26,7 +26,7 @@ class DateFilter(BaseFilter): # - dt:"2 years ago" date_regex = r"dt([:><=]{1,2})[\"'](.*?)[\"']" - def __init__(self, entry_key="raw"): + def __init__(self, entry_key="compiled"): self.entry_key = entry_key self.date_to_entry_ids = defaultdict(set) self.cache = LRU()