khoj 1.21.7.dev6__py3-none-any.whl → 1.22.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- khoj/database/adapters/__init__.py +12 -0
- khoj/interface/compiled/404/index.html +1 -1
- khoj/interface/compiled/_next/static/chunks/{webpack-07fad5db87344b82.js → webpack-ace3bded0dbc790e.js} +1 -1
- khoj/interface/compiled/agents/index.html +1 -1
- khoj/interface/compiled/agents/index.txt +1 -1
- khoj/interface/compiled/automations/index.html +1 -1
- khoj/interface/compiled/automations/index.txt +1 -1
- khoj/interface/compiled/chat/index.html +1 -1
- khoj/interface/compiled/chat/index.txt +1 -1
- khoj/interface/compiled/factchecker/index.html +1 -1
- khoj/interface/compiled/factchecker/index.txt +1 -1
- khoj/interface/compiled/index.html +1 -1
- khoj/interface/compiled/index.txt +1 -1
- khoj/interface/compiled/search/index.html +1 -1
- khoj/interface/compiled/search/index.txt +1 -1
- khoj/interface/compiled/settings/index.html +1 -1
- khoj/interface/compiled/settings/index.txt +1 -1
- khoj/interface/compiled/share/chat/index.html +1 -1
- khoj/interface/compiled/share/chat/index.txt +1 -1
- khoj/processor/conversation/anthropic/anthropic_chat.py +2 -1
- khoj/processor/conversation/offline/chat_model.py +7 -2
- khoj/processor/conversation/openai/gpt.py +21 -12
- khoj/processor/conversation/utils.py +16 -10
- khoj/routers/api.py +4 -0
- khoj/routers/api_chat.py +1 -0
- khoj/routers/helpers.py +8 -2
- {khoj-1.21.7.dev6.dist-info → khoj-1.22.1.dist-info}/METADATA +1 -1
- {khoj-1.21.7.dev6.dist-info → khoj-1.22.1.dist-info}/RECORD +33 -33
- /khoj/interface/compiled/_next/static/{IFgQ9YOS_lUMnLw-CPszn → 2ItMRj16PRB_daJUGRf2Z}/_buildManifest.js +0 -0
- /khoj/interface/compiled/_next/static/{IFgQ9YOS_lUMnLw-CPszn → 2ItMRj16PRB_daJUGRf2Z}/_ssgManifest.js +0 -0
- {khoj-1.21.7.dev6.dist-info → khoj-1.22.1.dist-info}/WHEEL +0 -0
- {khoj-1.21.7.dev6.dist-info → khoj-1.22.1.dist-info}/entry_points.txt +0 -0
- {khoj-1.21.7.dev6.dist-info → khoj-1.22.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -5,13 +5,16 @@ from typing import Dict, Optional
|
|
|
5
5
|
|
|
6
6
|
from langchain.schema import ChatMessage
|
|
7
7
|
|
|
8
|
-
from khoj.database.models import Agent, KhojUser
|
|
8
|
+
from khoj.database.models import Agent, ChatModelOptions, KhojUser
|
|
9
9
|
from khoj.processor.conversation import prompts
|
|
10
10
|
from khoj.processor.conversation.openai.utils import (
|
|
11
11
|
chat_completion_with_backoff,
|
|
12
12
|
completion_with_backoff,
|
|
13
13
|
)
|
|
14
|
-
from khoj.processor.conversation.utils import
|
|
14
|
+
from khoj.processor.conversation.utils import (
|
|
15
|
+
construct_structured_message,
|
|
16
|
+
generate_chatml_messages_with_context,
|
|
17
|
+
)
|
|
15
18
|
from khoj.utils.helpers import ConversationCommand, is_none_or_empty
|
|
16
19
|
from khoj.utils.rawconfig import LocationData
|
|
17
20
|
|
|
@@ -24,9 +27,10 @@ def extract_questions(
|
|
|
24
27
|
conversation_log={},
|
|
25
28
|
api_key=None,
|
|
26
29
|
api_base_url=None,
|
|
27
|
-
temperature=0.7,
|
|
28
30
|
location_data: LocationData = None,
|
|
29
31
|
user: KhojUser = None,
|
|
32
|
+
uploaded_image_url: Optional[str] = None,
|
|
33
|
+
vision_enabled: bool = False,
|
|
30
34
|
):
|
|
31
35
|
"""
|
|
32
36
|
Infer search queries to retrieve relevant notes to answer user query
|
|
@@ -47,6 +51,7 @@ def extract_questions(
|
|
|
47
51
|
today = datetime.today()
|
|
48
52
|
current_new_year = today.replace(month=1, day=1)
|
|
49
53
|
last_new_year = current_new_year.replace(year=today.year - 1)
|
|
54
|
+
temperature = 0.7
|
|
50
55
|
|
|
51
56
|
prompt = prompts.extract_questions.format(
|
|
52
57
|
current_date=today.strftime("%Y-%m-%d"),
|
|
@@ -63,16 +68,18 @@ def extract_questions(
|
|
|
63
68
|
location=location,
|
|
64
69
|
username=username,
|
|
65
70
|
)
|
|
71
|
+
|
|
72
|
+
prompt = construct_structured_message(
|
|
73
|
+
message=prompt,
|
|
74
|
+
image_url=uploaded_image_url,
|
|
75
|
+
model_type=ChatModelOptions.ModelType.OPENAI,
|
|
76
|
+
vision_enabled=vision_enabled,
|
|
77
|
+
)
|
|
78
|
+
|
|
66
79
|
messages = [ChatMessage(content=prompt, role="user")]
|
|
67
80
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
messages=messages,
|
|
71
|
-
model=model,
|
|
72
|
-
temperature=temperature,
|
|
73
|
-
api_base_url=api_base_url,
|
|
74
|
-
model_kwargs={"response_format": {"type": "json_object"}},
|
|
75
|
-
openai_api_key=api_key,
|
|
81
|
+
response = send_message_to_model(
|
|
82
|
+
messages, api_key, model, response_type="json_object", api_base_url=api_base_url, temperature=temperature
|
|
76
83
|
)
|
|
77
84
|
|
|
78
85
|
# Extract, Clean Message from GPT's Response
|
|
@@ -92,7 +99,7 @@ def extract_questions(
|
|
|
92
99
|
return questions
|
|
93
100
|
|
|
94
101
|
|
|
95
|
-
def send_message_to_model(messages, api_key, model, response_type="text", api_base_url=None):
|
|
102
|
+
def send_message_to_model(messages, api_key, model, response_type="text", api_base_url=None, temperature=0):
|
|
96
103
|
"""
|
|
97
104
|
Send message to model
|
|
98
105
|
"""
|
|
@@ -102,6 +109,7 @@ def send_message_to_model(messages, api_key, model, response_type="text", api_ba
|
|
|
102
109
|
messages=messages,
|
|
103
110
|
model=model,
|
|
104
111
|
openai_api_key=api_key,
|
|
112
|
+
temperature=temperature,
|
|
105
113
|
api_base_url=api_base_url,
|
|
106
114
|
model_kwargs={"response_format": {"type": response_type}},
|
|
107
115
|
)
|
|
@@ -182,6 +190,7 @@ def converse(
|
|
|
182
190
|
tokenizer_name=tokenizer_name,
|
|
183
191
|
uploaded_image_url=image_url,
|
|
184
192
|
vision_enabled=vision_available,
|
|
193
|
+
model_type=ChatModelOptions.ModelType.OPENAI,
|
|
185
194
|
)
|
|
186
195
|
truncated_messages = "\n".join({f"{message.content[:70]}..." for message in messages})
|
|
187
196
|
logger.debug(f"Conversation Context for GPT: {truncated_messages}")
|
|
@@ -12,7 +12,7 @@ from llama_cpp.llama import Llama
|
|
|
12
12
|
from transformers import AutoTokenizer
|
|
13
13
|
|
|
14
14
|
from khoj.database.adapters import ConversationAdapters
|
|
15
|
-
from khoj.database.models import ClientApplication, KhojUser
|
|
15
|
+
from khoj.database.models import ChatModelOptions, ClientApplication, KhojUser
|
|
16
16
|
from khoj.processor.conversation.offline.utils import download_model, infer_max_tokens
|
|
17
17
|
from khoj.utils import state
|
|
18
18
|
from khoj.utils.helpers import is_none_or_empty, merge_dicts
|
|
@@ -137,6 +137,13 @@ Khoj: "{inferred_queries if ("text-to-image" in intent_type) else chat_response}
|
|
|
137
137
|
)
|
|
138
138
|
|
|
139
139
|
|
|
140
|
+
# Format user and system messages to chatml format
|
|
141
|
+
def construct_structured_message(message, image_url, model_type, vision_enabled):
|
|
142
|
+
if image_url and vision_enabled and model_type == ChatModelOptions.ModelType.OPENAI:
|
|
143
|
+
return [{"type": "text", "text": message}, {"type": "image_url", "image_url": {"url": image_url}}]
|
|
144
|
+
return message
|
|
145
|
+
|
|
146
|
+
|
|
140
147
|
def generate_chatml_messages_with_context(
|
|
141
148
|
user_message,
|
|
142
149
|
system_message=None,
|
|
@@ -147,6 +154,7 @@ def generate_chatml_messages_with_context(
|
|
|
147
154
|
tokenizer_name=None,
|
|
148
155
|
uploaded_image_url=None,
|
|
149
156
|
vision_enabled=False,
|
|
157
|
+
model_type="",
|
|
150
158
|
):
|
|
151
159
|
"""Generate messages for ChatGPT with context from previous conversation"""
|
|
152
160
|
# Set max prompt size from user config or based on pre-configured for model and machine specs
|
|
@@ -156,12 +164,6 @@ def generate_chatml_messages_with_context(
|
|
|
156
164
|
else:
|
|
157
165
|
max_prompt_size = model_to_prompt_size.get(model_name, 2000)
|
|
158
166
|
|
|
159
|
-
# Format user and system messages to chatml format
|
|
160
|
-
def construct_structured_message(message, image_url):
|
|
161
|
-
if image_url and vision_enabled:
|
|
162
|
-
return [{"type": "text", "text": message}, {"type": "image_url", "image_url": {"url": image_url}}]
|
|
163
|
-
return message
|
|
164
|
-
|
|
165
167
|
# Scale lookback turns proportional to max prompt size supported by model
|
|
166
168
|
lookback_turns = max_prompt_size // 750
|
|
167
169
|
|
|
@@ -173,8 +175,9 @@ def generate_chatml_messages_with_context(
|
|
|
173
175
|
|
|
174
176
|
message_content = chat["message"] + message_notes
|
|
175
177
|
|
|
176
|
-
|
|
177
|
-
message_content
|
|
178
|
+
message_content = construct_structured_message(
|
|
179
|
+
message_content, chat.get("uploadedImageData"), model_type, vision_enabled
|
|
180
|
+
)
|
|
178
181
|
|
|
179
182
|
reconstructed_message = ChatMessage(content=message_content, role=role)
|
|
180
183
|
|
|
@@ -186,7 +189,10 @@ def generate_chatml_messages_with_context(
|
|
|
186
189
|
messages = []
|
|
187
190
|
if not is_none_or_empty(user_message):
|
|
188
191
|
messages.append(
|
|
189
|
-
ChatMessage(
|
|
192
|
+
ChatMessage(
|
|
193
|
+
content=construct_structured_message(user_message, uploaded_image_url, model_type, vision_enabled),
|
|
194
|
+
role="user",
|
|
195
|
+
)
|
|
190
196
|
)
|
|
191
197
|
if len(chatml_messages) > 0:
|
|
192
198
|
messages += chatml_messages
|
khoj/routers/api.py
CHANGED
|
@@ -331,6 +331,7 @@ async def extract_references_and_questions(
|
|
|
331
331
|
conversation_commands: List[ConversationCommand] = [ConversationCommand.Default],
|
|
332
332
|
location_data: LocationData = None,
|
|
333
333
|
send_status_func: Optional[Callable] = None,
|
|
334
|
+
uploaded_image_url: Optional[str] = None,
|
|
334
335
|
):
|
|
335
336
|
user = request.user.object if request.user.is_authenticated else None
|
|
336
337
|
|
|
@@ -370,6 +371,7 @@ async def extract_references_and_questions(
|
|
|
370
371
|
with timer("Extracting search queries took", logger):
|
|
371
372
|
# If we've reached here, either the user has enabled offline chat or the openai model is enabled.
|
|
372
373
|
conversation_config = await ConversationAdapters.aget_default_conversation_config()
|
|
374
|
+
vision_enabled = conversation_config.vision_enabled
|
|
373
375
|
|
|
374
376
|
if conversation_config.model_type == ChatModelOptions.ModelType.OFFLINE:
|
|
375
377
|
using_offline_chat = True
|
|
@@ -403,6 +405,8 @@ async def extract_references_and_questions(
|
|
|
403
405
|
conversation_log=meta_log,
|
|
404
406
|
location_data=location_data,
|
|
405
407
|
user=user,
|
|
408
|
+
uploaded_image_url=uploaded_image_url,
|
|
409
|
+
vision_enabled=vision_enabled,
|
|
406
410
|
)
|
|
407
411
|
elif conversation_config.model_type == ChatModelOptions.ModelType.ANTHROPIC:
|
|
408
412
|
api_key = conversation_config.openai_config.api_key
|
khoj/routers/api_chat.py
CHANGED
khoj/routers/helpers.py
CHANGED
|
@@ -330,7 +330,7 @@ async def aget_relevant_output_modes(
|
|
|
330
330
|
chat_history = construct_chat_history(conversation_history)
|
|
331
331
|
|
|
332
332
|
if uploaded_image_url:
|
|
333
|
-
query = f"
|
|
333
|
+
query = f"<user uploaded content redacted> \n{query}"
|
|
334
334
|
|
|
335
335
|
relevant_mode_prompt = prompts.pick_relevant_output_mode.format(
|
|
336
336
|
query=query,
|
|
@@ -595,7 +595,7 @@ async def send_message_to_model_wrapper(
|
|
|
595
595
|
|
|
596
596
|
vision_available = conversation_config.vision_enabled
|
|
597
597
|
if not vision_available and uploaded_image_url:
|
|
598
|
-
vision_enabled_config = ConversationAdapters.
|
|
598
|
+
vision_enabled_config = await ConversationAdapters.aget_vision_enabled_config()
|
|
599
599
|
if vision_enabled_config:
|
|
600
600
|
conversation_config = vision_enabled_config
|
|
601
601
|
vision_available = True
|
|
@@ -622,6 +622,7 @@ async def send_message_to_model_wrapper(
|
|
|
622
622
|
tokenizer_name=tokenizer,
|
|
623
623
|
max_prompt_size=max_tokens,
|
|
624
624
|
vision_enabled=vision_available,
|
|
625
|
+
model_type=conversation_config.model_type,
|
|
625
626
|
)
|
|
626
627
|
|
|
627
628
|
return send_message_to_model_offline(
|
|
@@ -644,6 +645,7 @@ async def send_message_to_model_wrapper(
|
|
|
644
645
|
tokenizer_name=tokenizer,
|
|
645
646
|
vision_enabled=vision_available,
|
|
646
647
|
uploaded_image_url=uploaded_image_url,
|
|
648
|
+
model_type=conversation_config.model_type,
|
|
647
649
|
)
|
|
648
650
|
|
|
649
651
|
openai_response = send_message_to_model(
|
|
@@ -664,6 +666,7 @@ async def send_message_to_model_wrapper(
|
|
|
664
666
|
max_prompt_size=max_tokens,
|
|
665
667
|
tokenizer_name=tokenizer,
|
|
666
668
|
vision_enabled=vision_available,
|
|
669
|
+
model_type=conversation_config.model_type,
|
|
667
670
|
)
|
|
668
671
|
|
|
669
672
|
return anthropic_send_message_to_model(
|
|
@@ -700,6 +703,7 @@ def send_message_to_model_wrapper_sync(
|
|
|
700
703
|
model_name=chat_model,
|
|
701
704
|
loaded_model=loaded_model,
|
|
702
705
|
vision_enabled=vision_available,
|
|
706
|
+
model_type=conversation_config.model_type,
|
|
703
707
|
)
|
|
704
708
|
|
|
705
709
|
return send_message_to_model_offline(
|
|
@@ -717,6 +721,7 @@ def send_message_to_model_wrapper_sync(
|
|
|
717
721
|
system_message=system_message,
|
|
718
722
|
model_name=chat_model,
|
|
719
723
|
vision_enabled=vision_available,
|
|
724
|
+
model_type=conversation_config.model_type,
|
|
720
725
|
)
|
|
721
726
|
|
|
722
727
|
openai_response = send_message_to_model(
|
|
@@ -733,6 +738,7 @@ def send_message_to_model_wrapper_sync(
|
|
|
733
738
|
model_name=chat_model,
|
|
734
739
|
max_prompt_size=max_tokens,
|
|
735
740
|
vision_enabled=vision_available,
|
|
741
|
+
model_type=conversation_config.model_type,
|
|
736
742
|
)
|
|
737
743
|
|
|
738
744
|
return anthropic_send_message_to_model(
|
|
@@ -11,7 +11,7 @@ khoj/database/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
11
11
|
khoj/database/admin.py,sha256=bYF13peHgHpugd9bkEwYzO1r-r5l9JIDjCQbdmK3tT8,9166
|
|
12
12
|
khoj/database/apps.py,sha256=pM4tkX5Odw4YW_hLLKK8Nd5kqGddf1en0oMCea44RZw,153
|
|
13
13
|
khoj/database/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
|
|
14
|
-
khoj/database/adapters/__init__.py,sha256=
|
|
14
|
+
khoj/database/adapters/__init__.py,sha256=7jNE8gejSxvIuQurSbRvpFfQT4mvl8gZ7IGzDXgykbc,53739
|
|
15
15
|
khoj/database/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
16
|
khoj/database/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
17
|
khoj/database/management/commands/change_generated_images_url.py,sha256=w52FwRlyOL4YRpp9O6jJUjSIuGLxVhaS2w1D7gtQgOE,2644
|
|
@@ -95,17 +95,17 @@ khoj/interface/compiled/chat.svg,sha256=l2JoYRRgk201adTTdvJ-buKUrc0WGfsudix5xEvt
|
|
|
95
95
|
khoj/interface/compiled/close.svg,sha256=hQ2iFLkNzHk0_iyTrSbwnWAeXYlgA-c2Eof2Iqh76n4,417
|
|
96
96
|
khoj/interface/compiled/copy-button-success.svg,sha256=byqWAYD3Pn9IOXRjOKudJ-TJbP2UESbQGvtLWazNGjY,829
|
|
97
97
|
khoj/interface/compiled/copy-button.svg,sha256=05bKM2eRxksfBlAPT7yMaoNJEk85bZCxQg67EVrPeHo,669
|
|
98
|
-
khoj/interface/compiled/index.html,sha256=
|
|
99
|
-
khoj/interface/compiled/index.txt,sha256=
|
|
98
|
+
khoj/interface/compiled/index.html,sha256=2_RaFWOt4RkcwoxMZo7iNX81TM4A5rpAgdydDojiMVc,11936
|
|
99
|
+
khoj/interface/compiled/index.txt,sha256=p9kbuDbLVpg484NfTfIJyx1w5vmfxHEPk3jXWMmms4o,5527
|
|
100
100
|
khoj/interface/compiled/khoj.webmanifest,sha256=lsknYkvEdMbRTOUYKXPM_8krN2gamJmM4u3qj8u9lrU,1682
|
|
101
101
|
khoj/interface/compiled/logo.svg,sha256=_QCKVYM4WT2Qhcf7aVFImjq_s5CwjynGXYAOgI7yf8w,8059
|
|
102
102
|
khoj/interface/compiled/send.svg,sha256=VdavOWkVddcwcGcld6pdfmwfz7S91M-9O28cfeiKJkM,635
|
|
103
103
|
khoj/interface/compiled/share.svg,sha256=91lwo75PvMDrgocuZQab6EQ62CxRbubh9Bhw7CWMKbg,1221
|
|
104
104
|
khoj/interface/compiled/thumbs-down.svg,sha256=JGNl-DwoRmH2XFMPWwFFklmoYtKxaQbkLE3nuYKe8ZY,1019
|
|
105
105
|
khoj/interface/compiled/thumbs-up.svg,sha256=yS1wxTRtiztkN-6nZciLoYQUB_KTYNPV8xFRwH2TQFw,1036
|
|
106
|
-
khoj/interface/compiled/404/index.html,sha256=
|
|
107
|
-
khoj/interface/compiled/_next/static/
|
|
108
|
-
khoj/interface/compiled/_next/static/
|
|
106
|
+
khoj/interface/compiled/404/index.html,sha256=dG5rNNSb0r5sbIh2uWu1bp2Hf3RwWzoI_8zfn-YXkZ4,11971
|
|
107
|
+
khoj/interface/compiled/_next/static/2ItMRj16PRB_daJUGRf2Z/_buildManifest.js,sha256=6I9QUstNpJnhe3leR2Daw0pSXwzcbBscv6h2jmmPpms,224
|
|
108
|
+
khoj/interface/compiled/_next/static/2ItMRj16PRB_daJUGRf2Z/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
|
|
109
109
|
khoj/interface/compiled/_next/static/chunks/1603-fb2d80ae73990df3.js,sha256=CCbOXifiixbhMf7lgTG96225tP1Pou72Wb0Zh6KC1Rs,71007
|
|
110
110
|
khoj/interface/compiled/_next/static/chunks/2614-7cf01576d4457a75.js,sha256=aUjhjyxNPrZr4bLKzGkGgHH8K4J6g9dfiRjabnmvSDc,1104737
|
|
111
111
|
khoj/interface/compiled/_next/static/chunks/3062-9be9a4e34f82ed3a.js,sha256=-CDtDYpliJ2q_0ADcmVkW6rG8KREiU9QY8uDULIgAmA,256214
|
|
@@ -128,7 +128,7 @@ khoj/interface/compiled/_next/static/chunks/framework-8e0e0f4a6b83a956.js,sha256
|
|
|
128
128
|
khoj/interface/compiled/_next/static/chunks/main-175c164f5e0f026c.js,sha256=hlUnjERudON4V4kUKprrFz1e9JRtSp4A9i7vnM-1bzA,110324
|
|
129
129
|
khoj/interface/compiled/_next/static/chunks/main-app-6d6ee3495efe03d4.js,sha256=i52E7sWOcSq1G8eYZL3mtTxbUbwRNxcAbSWQ6uWpMsY,475
|
|
130
130
|
khoj/interface/compiled/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js,sha256=6QPOwdWeAVe8x-SsiDrm-Ga6u2DkqgG5SFqglrlyIgA,91381
|
|
131
|
-
khoj/interface/compiled/_next/static/chunks/webpack-
|
|
131
|
+
khoj/interface/compiled/_next/static/chunks/webpack-ace3bded0dbc790e.js,sha256=ugTXYuOOO--WF0R2ktNULpdEBvcHQCiw7ue1MuxAd3w,3724
|
|
132
132
|
khoj/interface/compiled/_next/static/chunks/app/layout-f3e40d346da53112.js,sha256=nekGSUVbvB81OfqGgJa2UoDmbxPhNwFwtc4o11O_1jI,442
|
|
133
133
|
khoj/interface/compiled/_next/static/chunks/app/page-8f61b4bd2032384a.js,sha256=DkukCV-Vs6cycQBDTRVWr8F8reZOd0nHyTF4E0VnXi4,28700
|
|
134
134
|
khoj/interface/compiled/_next/static/chunks/app/_not-found/page-07ff4ab42b07845e.js,sha256=3mCUnxfMxyK44eqk21TVBrC6u--WSbvx31fTmQuOvMQ,1755
|
|
@@ -229,8 +229,8 @@ khoj/interface/compiled/_next/static/media/flags.3afdda2f.webp,sha256=M2AW_HLpBn
|
|
|
229
229
|
khoj/interface/compiled/_next/static/media/flags@2x.5fbe9fc1.webp,sha256=BBeRPBZkxY3-aKkMnYv5TSkxmbeMbyUH4VRIPfrWg1E,137406
|
|
230
230
|
khoj/interface/compiled/_next/static/media/globe.98e105ca.webp,sha256=g3ofb8-W9GM75zIhlvQhaS8I2py9TtrovOKR3_7Jf04,514
|
|
231
231
|
khoj/interface/compiled/_next/static/media/globe@2x.974df6f8.webp,sha256=I_N7Yke3IOoS-0CC6XD8o0IUWG8PdPbrHmf6lpgWlZY,1380
|
|
232
|
-
khoj/interface/compiled/agents/index.html,sha256=
|
|
233
|
-
khoj/interface/compiled/agents/index.txt,sha256=
|
|
232
|
+
khoj/interface/compiled/agents/index.html,sha256=GOuGVQP-Zklo_AJlcdpt9nQE2yUYaGgLZaC8_ZdEFoU,12723
|
|
233
|
+
khoj/interface/compiled/agents/index.txt,sha256=Y8Hj3s0qz8PYHdW_jPGdNtuiTJSCAeRZPj9FTEGlUpk,6087
|
|
234
234
|
khoj/interface/compiled/assets/icons/khoj_lantern.ico,sha256=eggu-B_v3z1R53EjOFhIqqPnICBGdoaw1xnc0NrzHck,174144
|
|
235
235
|
khoj/interface/compiled/assets/icons/khoj_lantern_128x128.png,sha256=aTxivDb3CYyThkVZWz8A19xl_dNut5DbkXhODWF3A9Q,5640
|
|
236
236
|
khoj/interface/compiled/assets/icons/khoj_lantern_256x256.png,sha256=xPCMLHiaL7lYOdQLZrKwWE-Qjn5ZaysSZB0ScYv4UZU,12312
|
|
@@ -241,18 +241,18 @@ khoj/interface/compiled/assets/samples/desktop-remember-plan-sample.png,sha256=i
|
|
|
241
241
|
khoj/interface/compiled/assets/samples/phone-browse-draw-sample.png,sha256=Dd4fPwtFl6BWqnHjeb1mCK_ND0hhHsWtx8sNE7EiMuE,406179
|
|
242
242
|
khoj/interface/compiled/assets/samples/phone-plain-chat-sample.png,sha256=DEDaNRCkfEWUeh3kYZWIQDTVK1a6KKnYdwj5ZWisN_Q,82985
|
|
243
243
|
khoj/interface/compiled/assets/samples/phone-remember-plan-sample.png,sha256=Ma3blirRmq3X4oYSsDbbT7MDn29rymDrjwmUfA9BMuM,236285
|
|
244
|
-
khoj/interface/compiled/automations/index.html,sha256=
|
|
245
|
-
khoj/interface/compiled/automations/index.txt,sha256=
|
|
246
|
-
khoj/interface/compiled/chat/index.html,sha256=
|
|
247
|
-
khoj/interface/compiled/chat/index.txt,sha256=
|
|
248
|
-
khoj/interface/compiled/factchecker/index.html,sha256=
|
|
249
|
-
khoj/interface/compiled/factchecker/index.txt,sha256=
|
|
250
|
-
khoj/interface/compiled/search/index.html,sha256=
|
|
251
|
-
khoj/interface/compiled/search/index.txt,sha256=
|
|
252
|
-
khoj/interface/compiled/settings/index.html,sha256=
|
|
253
|
-
khoj/interface/compiled/settings/index.txt,sha256=
|
|
254
|
-
khoj/interface/compiled/share/chat/index.html,sha256=
|
|
255
|
-
khoj/interface/compiled/share/chat/index.txt,sha256=
|
|
244
|
+
khoj/interface/compiled/automations/index.html,sha256=BmPYTgmjH6wZxoLk6FG2bS83_wx5AlWXj9N18ff7UI0,30524
|
|
245
|
+
khoj/interface/compiled/automations/index.txt,sha256=z4-bXM90K2xKpFO6obABteC_N50rwVgU2uG4F7bsc_Y,5459
|
|
246
|
+
khoj/interface/compiled/chat/index.html,sha256=KYKWGF9gZGxNjhNzKKaoPaRSjOYeI1Mf0w2vjlYXsFQ,13614
|
|
247
|
+
khoj/interface/compiled/chat/index.txt,sha256=qC1qCaimdi2cfxOuf8M2v9xBoB9EqJUOkCM8J063Nog,6445
|
|
248
|
+
khoj/interface/compiled/factchecker/index.html,sha256=DVarfpkj3bLlzro4hmEw13fyCX3GQ8-f5FQTRBV3Sk4,29863
|
|
249
|
+
khoj/interface/compiled/factchecker/index.txt,sha256=xsh5nElILVN5E-uG5TGjuq3_ELvEV5AMYP22-kvvW2g,5747
|
|
250
|
+
khoj/interface/compiled/search/index.html,sha256=04uGprJOZfwaJ1Iu7jVG10LLXGI3sN2tvlnxYmaxqMA,30178
|
|
251
|
+
khoj/interface/compiled/search/index.txt,sha256=gXsxo3ZyvuUyQtRmOixMKJzbEtehkjhUmXiwHJkfBSw,5261
|
|
252
|
+
khoj/interface/compiled/settings/index.html,sha256=45OYakHTEZk2zSLux3mBernCDBHFBS8zGSKZLUoOFbg,12851
|
|
253
|
+
khoj/interface/compiled/settings/index.txt,sha256=8gMH-evvpRTbCSaPuzalZt4R_6ogY7tUzf8kr-eamzs,6085
|
|
254
|
+
khoj/interface/compiled/share/chat/index.html,sha256=l72aqPmZsJtxpR5rLpzCJr2vM_Eg3Gm_fbk6tZ8CTB8,14944
|
|
255
|
+
khoj/interface/compiled/share/chat/index.txt,sha256=3yRdUD_leFyIwW9TT8KtkQGEYVcQPYbNJWsxvxM2368,7263
|
|
256
256
|
khoj/interface/email/feedback.html,sha256=xksuPFamx4hGWyTTxZKRgX_eiYQQEuv-eK9Xmkt-nwU,1216
|
|
257
257
|
khoj/interface/email/magic_link.html,sha256=jXY_2hD3o15Ns5UDzbjLT8FHBnZiS7jo38YkYXIS-4w,947
|
|
258
258
|
khoj/interface/email/task.html,sha256=yXywzC-5P4nXbhqvgCmwcCpTRbD5eWuDXMpgYSotztM,3311
|
|
@@ -304,16 +304,16 @@ khoj/processor/content/plaintext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRk
|
|
|
304
304
|
khoj/processor/content/plaintext/plaintext_to_entries.py,sha256=97i7Cm0DTY7jW4iqKOT_oVc2ooa_XhQ8iImsljp1Kek,4994
|
|
305
305
|
khoj/processor/conversation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
306
306
|
khoj/processor/conversation/prompts.py,sha256=75XbUfcN0KroSjL4r-LCFVYCbG9k-aM9s4cDNzR-I7Y,33683
|
|
307
|
-
khoj/processor/conversation/utils.py,sha256=
|
|
307
|
+
khoj/processor/conversation/utils.py,sha256=EqIiUxXA0TlN5sHe9V-Ld6aIfsiiHKrjM6rJhxV82RY,11438
|
|
308
308
|
khoj/processor/conversation/anthropic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
309
|
-
khoj/processor/conversation/anthropic/anthropic_chat.py,sha256=
|
|
309
|
+
khoj/processor/conversation/anthropic/anthropic_chat.py,sha256=3EVZQmeucWSoBqRjwuCRJK-q2UYmvLvVsSZs_HCmg_Y,8183
|
|
310
310
|
khoj/processor/conversation/anthropic/utils.py,sha256=GHCz-xll_DBipqSc5e5qdVhLQiKX5Kso3KQRf1BXbVA,3456
|
|
311
311
|
khoj/processor/conversation/offline/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
312
|
-
khoj/processor/conversation/offline/chat_model.py,sha256=
|
|
312
|
+
khoj/processor/conversation/offline/chat_model.py,sha256=RjTwpndueYjsWYDWs39bSs-2mQbFvNLl5dcsvK9hqVU,9770
|
|
313
313
|
khoj/processor/conversation/offline/utils.py,sha256=51McImxl6u1qgRYvMt7uzsgLGSLq5SMFy74ymlNjIcc,3033
|
|
314
314
|
khoj/processor/conversation/offline/whisper.py,sha256=DJI-8y8DULO2cQ49m2VOvRyIZ2TxBypc15gM8O3HuMI,470
|
|
315
315
|
khoj/processor/conversation/openai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
316
|
-
khoj/processor/conversation/openai/gpt.py,sha256=
|
|
316
|
+
khoj/processor/conversation/openai/gpt.py,sha256=ZAojADjDQZGodmUVheVJGxq1xAWXFNdLxdmDeeCfaco,7781
|
|
317
317
|
khoj/processor/conversation/openai/utils.py,sha256=vyFEIfBWMCxx3Nh3lM94SRUR7PLlHJmGTPWrq0YqRgU,4409
|
|
318
318
|
khoj/processor/conversation/openai/whisper.py,sha256=RuwDtxSJrVWYdZz4aVnk0XiMQy9w8W9lFcVfE0hMiFY,432
|
|
319
319
|
khoj/processor/speech/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -321,15 +321,15 @@ khoj/processor/speech/text_to_speech.py,sha256=Q7sapi5Hv6woXOumtrGqR0t6izZrFBkWX
|
|
|
321
321
|
khoj/processor/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
322
322
|
khoj/processor/tools/online_search.py,sha256=KE8Xq_HXmo7NzoZlHOpCTKpGHIGloYpoqA--_1hRzTM,10040
|
|
323
323
|
khoj/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
324
|
-
khoj/routers/api.py,sha256=
|
|
324
|
+
khoj/routers/api.py,sha256=1KM1tRv7Oi7kn5YkZgHiVCsnWez9Bfpww7RzuxDVKc8,25822
|
|
325
325
|
khoj/routers/api_agents.py,sha256=ks8QzjmZiio6j1QGi6xFtDmVxd9lvC6LPB-WcDPnF8o,1525
|
|
326
|
-
khoj/routers/api_chat.py,sha256=
|
|
326
|
+
khoj/routers/api_chat.py,sha256=IpHLeWECop1QRKeLAbZiz9HBk2GaLTsp8nlps3uxIQk,37706
|
|
327
327
|
khoj/routers/api_content.py,sha256=E-Y6G2V14EdxN5rnisQKVINuBuItSZfLiiXpC9E9yTA,17387
|
|
328
328
|
khoj/routers/api_model.py,sha256=5m7JWwgd9jILiLivRu7NEyY2E-tUkqoEkGg6j6uM1g0,4646
|
|
329
329
|
khoj/routers/api_phone.py,sha256=p9yfc4WeMHDC0hg3aQk60a2VBy8rZPdEnz9wdJ7DzkU,2208
|
|
330
330
|
khoj/routers/auth.py,sha256=pCOLSRihJWcn097DRPxLjPdlejsjHJFRs9jHIzLujZU,6247
|
|
331
331
|
khoj/routers/email.py,sha256=jA4jDTrYHUpY7mFHL4himeRlTBLRQmQKHqC91Dw1Zu0,3730
|
|
332
|
-
khoj/routers/helpers.py,sha256=
|
|
332
|
+
khoj/routers/helpers.py,sha256=GkoHJW4XKdYtu-T4oE5d_ZGYceAgUseuBdsQclUdTf0,66816
|
|
333
333
|
khoj/routers/notion.py,sha256=0iG_DPVjg8n_LBWGHA8M6eHnJJDL-isARSEHTYStz6c,2809
|
|
334
334
|
khoj/routers/storage.py,sha256=tJrwhFRVWv0MHv7V7huMc1Diwm-putZSwnZXJ3tqT_c,2338
|
|
335
335
|
khoj/routers/subscription.py,sha256=qEyV7m7mrY6MGtaij8W3v61tpzX2a7ydm2B-E8h_R-M,4285
|
|
@@ -354,8 +354,8 @@ khoj/utils/models.py,sha256=Q5tcC9-z25sCiub048fLnvZ6_IIO1bcPNxt5payekk0,2009
|
|
|
354
354
|
khoj/utils/rawconfig.py,sha256=BKicp6kEBax7h76YRYgyFAUpfWHAI5m9ZJ2HVqyh45Y,3983
|
|
355
355
|
khoj/utils/state.py,sha256=x4GTewP1YhOA6c_32N4wOjnV-3AA3xG_qbY1-wC2Uxc,1559
|
|
356
356
|
khoj/utils/yaml.py,sha256=H0mfw0ZvBFUvFmCQn8pWkfxdmIebsrSykza7D8Wv6wQ,1430
|
|
357
|
-
khoj-1.
|
|
358
|
-
khoj-1.
|
|
359
|
-
khoj-1.
|
|
360
|
-
khoj-1.
|
|
361
|
-
khoj-1.
|
|
357
|
+
khoj-1.22.1.dist-info/METADATA,sha256=Ti6O2VtQc4bYtkijWxCBAaP6KBBonzI1C854vB_Rk9Y,6870
|
|
358
|
+
khoj-1.22.1.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
|
|
359
|
+
khoj-1.22.1.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
|
|
360
|
+
khoj-1.22.1.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
|
|
361
|
+
khoj-1.22.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|