khoj 1.20.5.dev1__py3-none-any.whl → 1.20.5.dev8__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/interface/compiled/404/index.html +1 -1
- khoj/interface/compiled/_next/static/chunks/{webpack-61a553b6ff44f97c.js → webpack-95cfd7a1948cfeed.js} +1 -1
- khoj/interface/compiled/_next/static/css/{01e8624859fbf298.css → df6f4c34ec280d53.css} +1 -1
- khoj/interface/compiled/agents/index.html +1 -1
- khoj/interface/compiled/agents/index.txt +2 -2
- 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 +2 -2
- khoj/interface/compiled/factchecker/index.html +1 -1
- khoj/interface/compiled/factchecker/index.txt +2 -2
- khoj/interface/compiled/index.html +1 -1
- khoj/interface/compiled/index.txt +2 -2
- khoj/interface/compiled/search/index.html +1 -1
- khoj/interface/compiled/search/index.txt +2 -2
- 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 +2 -2
- khoj/processor/conversation/anthropic/anthropic_chat.py +6 -2
- khoj/processor/conversation/offline/chat_model.py +15 -3
- khoj/processor/conversation/openai/gpt.py +6 -3
- khoj/processor/conversation/openai/utils.py +1 -1
- khoj/processor/conversation/prompts.py +20 -0
- khoj/processor/tools/online_search.py +9 -3
- khoj/routers/api.py +3 -1
- khoj/routers/api_chat.py +2 -2
- khoj/routers/helpers.py +10 -2
- {khoj-1.20.5.dev1.dist-info → khoj-1.20.5.dev8.dist-info}/METADATA +1 -1
- {khoj-1.20.5.dev1.dist-info → khoj-1.20.5.dev8.dist-info}/RECORD +40 -40
- /khoj/interface/compiled/_next/static/{8Yn9jku-m5M_PAyjzwo15 → BOxv5Hrq5WDp-c117l6eC}/_buildManifest.js +0 -0
- /khoj/interface/compiled/_next/static/{8Yn9jku-m5M_PAyjzwo15 → BOxv5Hrq5WDp-c117l6eC}/_ssgManifest.js +0 -0
- /khoj/interface/compiled/_next/static/chunks/{8423-898d821eaab634af.js → 8423-132ea64eac83fd43.js} +0 -0
- /khoj/interface/compiled/_next/static/chunks/{9178-ef3257c08d8973c8.js → 9178-5a1fa2b9023249af.js} +0 -0
- /khoj/interface/compiled/_next/static/chunks/{9417-5d14ac74aaab2c66.js → 9417-2e54c6fd056982d8.js} +0 -0
- /khoj/interface/compiled/_next/static/chunks/app/agents/{page-989a824c640bc532.js → page-922694b75f1fb67b.js} +0 -0
- /khoj/interface/compiled/_next/static/chunks/app/{page-851860583273ab5d.js → page-ef4e7248d37fae41.js} +0 -0
- {khoj-1.20.5.dev1.dist-info → khoj-1.20.5.dev8.dist-info}/WHEEL +0 -0
- {khoj-1.20.5.dev1.dist-info → khoj-1.20.5.dev8.dist-info}/entry_points.txt +0 -0
- {khoj-1.20.5.dev1.dist-info → khoj-1.20.5.dev8.dist-info}/licenses/LICENSE +0 -0
|
@@ -7,7 +7,7 @@ from typing import Any, Iterator, List, Union
|
|
|
7
7
|
from langchain.schema import ChatMessage
|
|
8
8
|
from llama_cpp import Llama
|
|
9
9
|
|
|
10
|
-
from khoj.database.models import Agent
|
|
10
|
+
from khoj.database.models import Agent, KhojUser
|
|
11
11
|
from khoj.processor.conversation import prompts
|
|
12
12
|
from khoj.processor.conversation.offline.utils import download_model
|
|
13
13
|
from khoj.processor.conversation.utils import (
|
|
@@ -30,7 +30,9 @@ def extract_questions_offline(
|
|
|
30
30
|
use_history: bool = True,
|
|
31
31
|
should_extract_questions: bool = True,
|
|
32
32
|
location_data: LocationData = None,
|
|
33
|
+
user: KhojUser = None,
|
|
33
34
|
max_prompt_size: int = None,
|
|
35
|
+
temperature: float = 0.7,
|
|
34
36
|
) -> List[str]:
|
|
35
37
|
"""
|
|
36
38
|
Infer search queries to retrieve relevant notes to answer user query
|
|
@@ -45,6 +47,7 @@ def extract_questions_offline(
|
|
|
45
47
|
offline_chat_model = loaded_model or download_model(model, max_tokens=max_prompt_size)
|
|
46
48
|
|
|
47
49
|
location = f"{location_data.city}, {location_data.region}, {location_data.country}" if location_data else "Unknown"
|
|
50
|
+
username = prompts.user_name.format(name=user.get_full_name()) if user and user.get_full_name() else ""
|
|
48
51
|
|
|
49
52
|
# Extract Past User Message and Inferred Questions from Conversation Log
|
|
50
53
|
chat_history = ""
|
|
@@ -64,10 +67,12 @@ def extract_questions_offline(
|
|
|
64
67
|
chat_history=chat_history,
|
|
65
68
|
current_date=today.strftime("%Y-%m-%d"),
|
|
66
69
|
day_of_week=today.strftime("%A"),
|
|
70
|
+
current_month=today.strftime("%Y-%m"),
|
|
67
71
|
yesterday_date=yesterday,
|
|
68
72
|
last_year=last_year,
|
|
69
73
|
this_year=today.year,
|
|
70
74
|
location=location,
|
|
75
|
+
username=username,
|
|
71
76
|
)
|
|
72
77
|
|
|
73
78
|
messages = generate_chatml_messages_with_context(
|
|
@@ -77,7 +82,11 @@ def extract_questions_offline(
|
|
|
77
82
|
state.chat_lock.acquire()
|
|
78
83
|
try:
|
|
79
84
|
response = send_message_to_model_offline(
|
|
80
|
-
messages,
|
|
85
|
+
messages,
|
|
86
|
+
loaded_model=offline_chat_model,
|
|
87
|
+
model=model,
|
|
88
|
+
max_prompt_size=max_prompt_size,
|
|
89
|
+
temperature=temperature,
|
|
81
90
|
)
|
|
82
91
|
finally:
|
|
83
92
|
state.chat_lock.release()
|
|
@@ -229,6 +238,7 @@ def send_message_to_model_offline(
|
|
|
229
238
|
messages: List[ChatMessage],
|
|
230
239
|
loaded_model=None,
|
|
231
240
|
model="NousResearch/Hermes-2-Pro-Mistral-7B-GGUF",
|
|
241
|
+
temperature: float = 0.2,
|
|
232
242
|
streaming=False,
|
|
233
243
|
stop=[],
|
|
234
244
|
max_prompt_size: int = None,
|
|
@@ -236,7 +246,9 @@ def send_message_to_model_offline(
|
|
|
236
246
|
assert loaded_model is None or isinstance(loaded_model, Llama), "loaded_model must be of type Llama, if configured"
|
|
237
247
|
offline_chat_model = loaded_model or download_model(model, max_tokens=max_prompt_size)
|
|
238
248
|
messages_dict = [{"role": message.role, "content": message.content} for message in messages]
|
|
239
|
-
response = offline_chat_model.create_chat_completion(
|
|
249
|
+
response = offline_chat_model.create_chat_completion(
|
|
250
|
+
messages_dict, stop=stop, stream=streaming, temperature=temperature
|
|
251
|
+
)
|
|
240
252
|
if streaming:
|
|
241
253
|
return response
|
|
242
254
|
else:
|
|
@@ -5,7 +5,7 @@ from typing import Dict, Optional
|
|
|
5
5
|
|
|
6
6
|
from langchain.schema import ChatMessage
|
|
7
7
|
|
|
8
|
-
from khoj.database.models import Agent
|
|
8
|
+
from khoj.database.models import Agent, KhojUser
|
|
9
9
|
from khoj.processor.conversation import prompts
|
|
10
10
|
from khoj.processor.conversation.openai.utils import (
|
|
11
11
|
chat_completion_with_backoff,
|
|
@@ -24,14 +24,15 @@ def extract_questions(
|
|
|
24
24
|
conversation_log={},
|
|
25
25
|
api_key=None,
|
|
26
26
|
api_base_url=None,
|
|
27
|
-
temperature=0,
|
|
28
|
-
max_tokens=100,
|
|
27
|
+
temperature=0.7,
|
|
29
28
|
location_data: LocationData = None,
|
|
29
|
+
user: KhojUser = None,
|
|
30
30
|
):
|
|
31
31
|
"""
|
|
32
32
|
Infer search queries to retrieve relevant notes to answer user query
|
|
33
33
|
"""
|
|
34
34
|
location = f"{location_data.city}, {location_data.region}, {location_data.country}" if location_data else "Unknown"
|
|
35
|
+
username = prompts.user_name.format(name=user.get_full_name()) if user and user.get_full_name() else ""
|
|
35
36
|
|
|
36
37
|
# Extract Past User Message and Inferred Questions from Conversation Log
|
|
37
38
|
chat_history = "".join(
|
|
@@ -50,6 +51,7 @@ def extract_questions(
|
|
|
50
51
|
prompt = prompts.extract_questions.format(
|
|
51
52
|
current_date=today.strftime("%Y-%m-%d"),
|
|
52
53
|
day_of_week=today.strftime("%A"),
|
|
54
|
+
current_month=today.strftime("%Y-%m"),
|
|
53
55
|
last_new_year=last_new_year.strftime("%Y"),
|
|
54
56
|
last_new_year_date=last_new_year.strftime("%Y-%m-%d"),
|
|
55
57
|
current_new_year_date=current_new_year.strftime("%Y-%m-%d"),
|
|
@@ -59,6 +61,7 @@ def extract_questions(
|
|
|
59
61
|
text=text,
|
|
60
62
|
yesterday_date=(today - timedelta(days=1)).strftime("%Y-%m-%d"),
|
|
61
63
|
location=location,
|
|
64
|
+
username=username,
|
|
62
65
|
)
|
|
63
66
|
messages = [ChatMessage(content=prompt, role="user")]
|
|
64
67
|
|
|
@@ -36,7 +36,7 @@ def completion_with_backoff(
|
|
|
36
36
|
messages, model, temperature=0, openai_api_key=None, api_base_url=None, model_kwargs=None
|
|
37
37
|
) -> str:
|
|
38
38
|
client_key = f"{openai_api_key}--{api_base_url}"
|
|
39
|
-
client: openai.OpenAI = openai_clients.get(client_key)
|
|
39
|
+
client: openai.OpenAI | None = openai_clients.get(client_key)
|
|
40
40
|
if not client:
|
|
41
41
|
client = openai.OpenAI(
|
|
42
42
|
api_key=openai_api_key,
|
|
@@ -208,10 +208,12 @@ Construct search queries to retrieve relevant information to answer the user's q
|
|
|
208
208
|
- Add as much context from the previous questions and answers as required into your search queries.
|
|
209
209
|
- Break messages into multiple search queries when required to retrieve the relevant information.
|
|
210
210
|
- Add date filters to your search queries from questions and answers when required to retrieve the relevant information.
|
|
211
|
+
- When asked a meta, vague or random questions, search for a variety of broad topics to answer the user's question.
|
|
211
212
|
- Share relevant search queries as a JSON list of strings. Do not say anything else.
|
|
212
213
|
|
|
213
214
|
Current Date: {day_of_week}, {current_date}
|
|
214
215
|
User's Location: {location}
|
|
216
|
+
{username}
|
|
215
217
|
|
|
216
218
|
Examples:
|
|
217
219
|
Q: How was my trip to Cambodia?
|
|
@@ -238,6 +240,9 @@ Khoj: ["What kind of plants do I have?", "What issues do my plants have?"]
|
|
|
238
240
|
Q: Who all did I meet here yesterday?
|
|
239
241
|
Khoj: ["Met in {location} on {yesterday_date} dt>='{yesterday_date}' dt<'{current_date}'"]
|
|
240
242
|
|
|
243
|
+
Q: Share some random, interesting experiences from this month
|
|
244
|
+
Khoj: ["Exciting travel adventures from {current_month}", "Fun social events dt>='{current_month}-01' dt<'{current_date}'", "Intense emotional experiences in {current_month}"]
|
|
245
|
+
|
|
241
246
|
Chat History:
|
|
242
247
|
{chat_history}
|
|
243
248
|
What searches will you perform to answer the following question, using the chat history as reference? Respond only with relevant search queries as a valid JSON list of strings.
|
|
@@ -254,10 +259,12 @@ Construct search queries to retrieve relevant information to answer the user's q
|
|
|
254
259
|
- Add as much context from the previous questions and answers as required into your search queries.
|
|
255
260
|
- Break messages into multiple search queries when required to retrieve the relevant information.
|
|
256
261
|
- Add date filters to your search queries from questions and answers when required to retrieve the relevant information.
|
|
262
|
+
- When asked a meta, vague or random questions, search for a variety of broad topics to answer the user's question.
|
|
257
263
|
|
|
258
264
|
What searches will you perform to answer the users question? Respond with search queries as list of strings in a JSON object.
|
|
259
265
|
Current Date: {day_of_week}, {current_date}
|
|
260
266
|
User's Location: {location}
|
|
267
|
+
{username}
|
|
261
268
|
|
|
262
269
|
Q: How was my trip to Cambodia?
|
|
263
270
|
Khoj: {{"queries": ["How was my trip to Cambodia?"]}}
|
|
@@ -279,6 +286,10 @@ Q: How many tennis balls fit in the back of a 2002 Honda Civic?
|
|
|
279
286
|
Khoj: {{"queries": ["What is the size of a tennis ball?", "What is the trunk size of a 2002 Honda Civic?"]}}
|
|
280
287
|
A: 1085 tennis balls will fit in the trunk of a Honda Civic
|
|
281
288
|
|
|
289
|
+
Q: Share some random, interesting experiences from this month
|
|
290
|
+
Khoj: {{"queries": ["Exciting travel adventures from {current_month}", "Fun social events dt>='{current_month}-01' dt<'{current_date}'", "Intense emotional experiences in {current_month}"]}}
|
|
291
|
+
A: You had a great time at the local beach with your friends, attended a music concert and had a deep conversation with your friend, Khalid.
|
|
292
|
+
|
|
282
293
|
Q: Is Bob older than Tom?
|
|
283
294
|
Khoj: {{"queries": ["When was Bob born?", "What is Tom's age?"]}}
|
|
284
295
|
A: Yes, Bob is older than Tom. As Bob was born on 1984-01-01 and Tom is 30 years old.
|
|
@@ -305,11 +316,13 @@ Construct search queries to retrieve relevant information to answer the user's q
|
|
|
305
316
|
- Add as much context from the previous questions and answers as required into your search queries.
|
|
306
317
|
- Break messages into multiple search queries when required to retrieve the relevant information.
|
|
307
318
|
- Add date filters to your search queries from questions and answers when required to retrieve the relevant information.
|
|
319
|
+
- When asked a meta, vague or random questions, search for a variety of broad topics to answer the user's question.
|
|
308
320
|
|
|
309
321
|
What searches will you perform to answer the users question? Respond with a JSON object with the key "queries" mapping to a list of searches you would perform on the user's knowledge base. Just return the queries and nothing else.
|
|
310
322
|
|
|
311
323
|
Current Date: {day_of_week}, {current_date}
|
|
312
324
|
User's Location: {location}
|
|
325
|
+
{username}
|
|
313
326
|
|
|
314
327
|
Here are some examples of how you can construct search queries to answer the user's question:
|
|
315
328
|
|
|
@@ -328,6 +341,11 @@ A: I can help you live healthier and happier across work and personal life
|
|
|
328
341
|
User: Who all did I meet here yesterday?
|
|
329
342
|
Assistant: {{"queries": ["Met in {location} on {yesterday_date} dt>='{yesterday_date}' dt<'{current_date}'"]}}
|
|
330
343
|
A: Yesterday's note mentions your visit to your local beach with Ram and Shyam.
|
|
344
|
+
|
|
345
|
+
User: Share some random, interesting experiences from this month
|
|
346
|
+
Assistant: {{"queries": ["Exciting travel adventures from {current_month}", "Fun social events dt>='{current_month}-01' dt<'{current_date}'", "Intense emotional experiences in {current_month}"]}}
|
|
347
|
+
A: You had a great time at the local beach with your friends, attended a music concert and had a deep conversation with your friend, Khalid.
|
|
348
|
+
|
|
331
349
|
""".strip()
|
|
332
350
|
)
|
|
333
351
|
|
|
@@ -525,6 +543,7 @@ Which webpages will you need to read to answer the user's question?
|
|
|
525
543
|
Provide web page links as a list of strings in a JSON object.
|
|
526
544
|
Current Date: {current_date}
|
|
527
545
|
User's Location: {location}
|
|
546
|
+
{username}
|
|
528
547
|
|
|
529
548
|
Here are some examples:
|
|
530
549
|
History:
|
|
@@ -571,6 +590,7 @@ What Google searches, if any, will you need to perform to answer the user's ques
|
|
|
571
590
|
Provide search queries as a list of strings in a JSON object. Do not wrap the json in a codeblock.
|
|
572
591
|
Current Date: {current_date}
|
|
573
592
|
User's Location: {location}
|
|
593
|
+
{username}
|
|
574
594
|
|
|
575
595
|
Here are some examples:
|
|
576
596
|
History:
|
|
@@ -10,6 +10,7 @@ import aiohttp
|
|
|
10
10
|
from bs4 import BeautifulSoup
|
|
11
11
|
from markdownify import markdownify
|
|
12
12
|
|
|
13
|
+
from khoj.database.models import KhojUser
|
|
13
14
|
from khoj.routers.helpers import (
|
|
14
15
|
ChatEvent,
|
|
15
16
|
extract_relevant_info,
|
|
@@ -51,6 +52,7 @@ async def search_online(
|
|
|
51
52
|
query: str,
|
|
52
53
|
conversation_history: dict,
|
|
53
54
|
location: LocationData,
|
|
55
|
+
user: KhojUser,
|
|
54
56
|
send_status_func: Optional[Callable] = None,
|
|
55
57
|
custom_filters: List[str] = [],
|
|
56
58
|
):
|
|
@@ -61,7 +63,7 @@ async def search_online(
|
|
|
61
63
|
return
|
|
62
64
|
|
|
63
65
|
# Breakdown the query into subqueries to get the correct answer
|
|
64
|
-
subqueries = await generate_online_subqueries(query, conversation_history, location)
|
|
66
|
+
subqueries = await generate_online_subqueries(query, conversation_history, location, user)
|
|
65
67
|
response_dict = {}
|
|
66
68
|
|
|
67
69
|
if subqueries:
|
|
@@ -126,14 +128,18 @@ async def search_with_google(query: str) -> Tuple[str, Dict[str, List[Dict]]]:
|
|
|
126
128
|
|
|
127
129
|
|
|
128
130
|
async def read_webpages(
|
|
129
|
-
query: str,
|
|
131
|
+
query: str,
|
|
132
|
+
conversation_history: dict,
|
|
133
|
+
location: LocationData,
|
|
134
|
+
user: KhojUser,
|
|
135
|
+
send_status_func: Optional[Callable] = None,
|
|
130
136
|
):
|
|
131
137
|
"Infer web pages to read from the query and extract relevant information from them"
|
|
132
138
|
logger.info(f"Inferring web pages to read")
|
|
133
139
|
if send_status_func:
|
|
134
140
|
async for event in send_status_func(f"**Inferring web pages to read**"):
|
|
135
141
|
yield {ChatEvent.STATUS: event}
|
|
136
|
-
urls = await infer_webpage_urls(query, conversation_history, location)
|
|
142
|
+
urls = await infer_webpage_urls(query, conversation_history, location, user)
|
|
137
143
|
|
|
138
144
|
logger.info(f"Reading web pages at: {urls}")
|
|
139
145
|
if send_status_func:
|
khoj/routers/api.py
CHANGED
|
@@ -388,6 +388,7 @@ async def extract_references_and_questions(
|
|
|
388
388
|
conversation_log=meta_log,
|
|
389
389
|
should_extract_questions=True,
|
|
390
390
|
location_data=location_data,
|
|
391
|
+
user=user,
|
|
391
392
|
max_prompt_size=conversation_config.max_prompt_size,
|
|
392
393
|
)
|
|
393
394
|
elif conversation_config.model_type == ChatModelOptions.ModelType.OPENAI:
|
|
@@ -402,7 +403,7 @@ async def extract_references_and_questions(
|
|
|
402
403
|
api_base_url=base_url,
|
|
403
404
|
conversation_log=meta_log,
|
|
404
405
|
location_data=location_data,
|
|
405
|
-
|
|
406
|
+
user=user,
|
|
406
407
|
)
|
|
407
408
|
elif conversation_config.model_type == ChatModelOptions.ModelType.ANTHROPIC:
|
|
408
409
|
api_key = conversation_config.openai_config.api_key
|
|
@@ -413,6 +414,7 @@ async def extract_references_and_questions(
|
|
|
413
414
|
api_key=api_key,
|
|
414
415
|
conversation_log=meta_log,
|
|
415
416
|
location_data=location_data,
|
|
417
|
+
user=user,
|
|
416
418
|
)
|
|
417
419
|
|
|
418
420
|
# Collate search results as context for GPT
|
khoj/routers/api_chat.py
CHANGED
|
@@ -792,7 +792,7 @@ async def chat(
|
|
|
792
792
|
if ConversationCommand.Online in conversation_commands:
|
|
793
793
|
try:
|
|
794
794
|
async for result in search_online(
|
|
795
|
-
defiltered_query, meta_log, location, partial(send_event, ChatEvent.STATUS), custom_filters
|
|
795
|
+
defiltered_query, meta_log, location, user, partial(send_event, ChatEvent.STATUS), custom_filters
|
|
796
796
|
):
|
|
797
797
|
if isinstance(result, dict) and ChatEvent.STATUS in result:
|
|
798
798
|
yield result[ChatEvent.STATUS]
|
|
@@ -809,7 +809,7 @@ async def chat(
|
|
|
809
809
|
if ConversationCommand.Webpage in conversation_commands:
|
|
810
810
|
try:
|
|
811
811
|
async for result in read_webpages(
|
|
812
|
-
defiltered_query, meta_log, location, partial(send_event, ChatEvent.STATUS)
|
|
812
|
+
defiltered_query, meta_log, location, user, partial(send_event, ChatEvent.STATUS)
|
|
813
813
|
):
|
|
814
814
|
if isinstance(result, dict) and ChatEvent.STATUS in result:
|
|
815
815
|
yield result[ChatEvent.STATUS]
|
khoj/routers/helpers.py
CHANGED
|
@@ -340,11 +340,14 @@ async def aget_relevant_output_modes(query: str, conversation_history: dict, is_
|
|
|
340
340
|
return ConversationCommand.Text
|
|
341
341
|
|
|
342
342
|
|
|
343
|
-
async def infer_webpage_urls(
|
|
343
|
+
async def infer_webpage_urls(
|
|
344
|
+
q: str, conversation_history: dict, location_data: LocationData, user: KhojUser
|
|
345
|
+
) -> List[str]:
|
|
344
346
|
"""
|
|
345
347
|
Infer webpage links from the given query
|
|
346
348
|
"""
|
|
347
349
|
location = f"{location_data.city}, {location_data.region}, {location_data.country}" if location_data else "Unknown"
|
|
350
|
+
username = prompts.user_name.format(name=user.get_full_name()) if user.get_full_name() else ""
|
|
348
351
|
chat_history = construct_chat_history(conversation_history)
|
|
349
352
|
|
|
350
353
|
utc_date = datetime.utcnow().strftime("%Y-%m-%d")
|
|
@@ -353,6 +356,7 @@ async def infer_webpage_urls(q: str, conversation_history: dict, location_data:
|
|
|
353
356
|
query=q,
|
|
354
357
|
chat_history=chat_history,
|
|
355
358
|
location=location,
|
|
359
|
+
username=username,
|
|
356
360
|
)
|
|
357
361
|
|
|
358
362
|
with timer("Chat actor: Infer webpage urls to read", logger):
|
|
@@ -370,11 +374,14 @@ async def infer_webpage_urls(q: str, conversation_history: dict, location_data:
|
|
|
370
374
|
raise ValueError(f"Invalid list of urls: {response}")
|
|
371
375
|
|
|
372
376
|
|
|
373
|
-
async def generate_online_subqueries(
|
|
377
|
+
async def generate_online_subqueries(
|
|
378
|
+
q: str, conversation_history: dict, location_data: LocationData, user: KhojUser
|
|
379
|
+
) -> List[str]:
|
|
374
380
|
"""
|
|
375
381
|
Generate subqueries from the given query
|
|
376
382
|
"""
|
|
377
383
|
location = f"{location_data.city}, {location_data.region}, {location_data.country}" if location_data else "Unknown"
|
|
384
|
+
username = prompts.user_name.format(name=user.get_full_name()) if user.get_full_name() else ""
|
|
378
385
|
chat_history = construct_chat_history(conversation_history)
|
|
379
386
|
|
|
380
387
|
utc_date = datetime.utcnow().strftime("%Y-%m-%d")
|
|
@@ -383,6 +390,7 @@ async def generate_online_subqueries(q: str, conversation_history: dict, locatio
|
|
|
383
390
|
query=q,
|
|
384
391
|
chat_history=chat_history,
|
|
385
392
|
location=location,
|
|
393
|
+
username=username,
|
|
386
394
|
)
|
|
387
395
|
|
|
388
396
|
with timer("Chat actor: Generate online search subqueries", logger):
|
|
@@ -88,17 +88,17 @@ khoj/interface/compiled/chat.svg,sha256=l2JoYRRgk201adTTdvJ-buKUrc0WGfsudix5xEvt
|
|
|
88
88
|
khoj/interface/compiled/close.svg,sha256=hQ2iFLkNzHk0_iyTrSbwnWAeXYlgA-c2Eof2Iqh76n4,417
|
|
89
89
|
khoj/interface/compiled/copy-button-success.svg,sha256=byqWAYD3Pn9IOXRjOKudJ-TJbP2UESbQGvtLWazNGjY,829
|
|
90
90
|
khoj/interface/compiled/copy-button.svg,sha256=05bKM2eRxksfBlAPT7yMaoNJEk85bZCxQg67EVrPeHo,669
|
|
91
|
-
khoj/interface/compiled/index.html,sha256=
|
|
92
|
-
khoj/interface/compiled/index.txt,sha256=
|
|
91
|
+
khoj/interface/compiled/index.html,sha256=4F0w63YPSQvO0WJmbxY-Gr3ykT1h0-qTMsWWyLjGvsk,11912
|
|
92
|
+
khoj/interface/compiled/index.txt,sha256=3D3bWuj8_rGFq13dngrpRAgJVclby6DE5f-X1P-m26Q,5515
|
|
93
93
|
khoj/interface/compiled/khoj.webmanifest,sha256=lsknYkvEdMbRTOUYKXPM_8krN2gamJmM4u3qj8u9lrU,1682
|
|
94
94
|
khoj/interface/compiled/logo.svg,sha256=_QCKVYM4WT2Qhcf7aVFImjq_s5CwjynGXYAOgI7yf8w,8059
|
|
95
95
|
khoj/interface/compiled/send.svg,sha256=VdavOWkVddcwcGcld6pdfmwfz7S91M-9O28cfeiKJkM,635
|
|
96
96
|
khoj/interface/compiled/share.svg,sha256=91lwo75PvMDrgocuZQab6EQ62CxRbubh9Bhw7CWMKbg,1221
|
|
97
97
|
khoj/interface/compiled/thumbs-down.svg,sha256=JGNl-DwoRmH2XFMPWwFFklmoYtKxaQbkLE3nuYKe8ZY,1019
|
|
98
98
|
khoj/interface/compiled/thumbs-up.svg,sha256=yS1wxTRtiztkN-6nZciLoYQUB_KTYNPV8xFRwH2TQFw,1036
|
|
99
|
-
khoj/interface/compiled/404/index.html,sha256=
|
|
100
|
-
khoj/interface/compiled/_next/static/
|
|
101
|
-
khoj/interface/compiled/_next/static/
|
|
99
|
+
khoj/interface/compiled/404/index.html,sha256=pWUCe4gMdMFTVsdWl1DslnkWLChrJsDBGHDh-Fz60F4,11947
|
|
100
|
+
khoj/interface/compiled/_next/static/BOxv5Hrq5WDp-c117l6eC/_buildManifest.js,sha256=6I9QUstNpJnhe3leR2Daw0pSXwzcbBscv6h2jmmPpms,224
|
|
101
|
+
khoj/interface/compiled/_next/static/BOxv5Hrq5WDp-c117l6eC/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
|
|
102
102
|
khoj/interface/compiled/_next/static/chunks/1603-fb2d80ae73990df3.js,sha256=CCbOXifiixbhMf7lgTG96225tP1Pou72Wb0Zh6KC1Rs,71007
|
|
103
103
|
khoj/interface/compiled/_next/static/chunks/2614-7cf01576d4457a75.js,sha256=aUjhjyxNPrZr4bLKzGkGgHH8K4J6g9dfiRjabnmvSDc,1104737
|
|
104
104
|
khoj/interface/compiled/_next/static/chunks/3062-a42d847c919a9ea4.js,sha256=9UDsx_sY4b4x6jjR_A0AymC9rjBCoCcEpGR4U-0Ej3g,256170
|
|
@@ -109,11 +109,11 @@ khoj/interface/compiled/_next/static/chunks/6648-ff677e51f1b2bcf1.js,sha256=9bJl
|
|
|
109
109
|
khoj/interface/compiled/_next/static/chunks/7023-52c1be60135eb057.js,sha256=CI8R2DdZNEt3nACmiXUG1NnKhnal1ImzXglW-xDuxcI,123657
|
|
110
110
|
khoj/interface/compiled/_next/static/chunks/7071-b4711cecca6619a8.js,sha256=z-KSur3LbIFPg_90wN0EMhV0et9cJVfG_MR9POVmdCQ,7801
|
|
111
111
|
khoj/interface/compiled/_next/static/chunks/743-1a64254447cda71f.js,sha256=YH4bEkjmttcOGzAzXKaDCJ-C68jk2qy1cQJP2ljjoAA,100834
|
|
112
|
-
khoj/interface/compiled/_next/static/chunks/8423-
|
|
112
|
+
khoj/interface/compiled/_next/static/chunks/8423-132ea64eac83fd43.js,sha256=W8aFQibnAqcbhPYoD_WzHKoMwaWt3jXdan7n_LoY4t4,10327
|
|
113
113
|
khoj/interface/compiled/_next/static/chunks/9001-acbca3e19b1a5ddf.js,sha256=M2hBSe8WTnjEmUlOiOgt_zDJtv3sc4ghnubhkZyMvVA,35460
|
|
114
114
|
khoj/interface/compiled/_next/static/chunks/9162-4a6d0d0dc5e27618.js,sha256=2csnvP4rJcL4oZlBAEkzeSxBJy4gwYxzAnqzeWbe9fw,149225
|
|
115
|
-
khoj/interface/compiled/_next/static/chunks/9178-
|
|
116
|
-
khoj/interface/compiled/_next/static/chunks/9417-
|
|
115
|
+
khoj/interface/compiled/_next/static/chunks/9178-5a1fa2b9023249af.js,sha256=2wBw6-Bg4NGBNwXOEmfnlVh-lO29bg85b9sirLSxSic,17645
|
|
116
|
+
khoj/interface/compiled/_next/static/chunks/9417-2e54c6fd056982d8.js,sha256=FZ8xOLMdzrlVmwtcyuQSy8bBwd8_UZ1hH3FlL4DwXpA,17252
|
|
117
117
|
khoj/interface/compiled/_next/static/chunks/9693-91b03052c5cabded.js,sha256=htVs3WyaR5jF7tXL_VBwqtPcQ53T3s9jWRazqz7DU-c,28957
|
|
118
118
|
khoj/interface/compiled/_next/static/chunks/d3ac728e-a9e3522eef9b6b28.js,sha256=wK1TsLdl56xtbQG6HMRDpylzTOYXQaAnnn2xobFnX40,267216
|
|
119
119
|
khoj/interface/compiled/_next/static/chunks/fd9d1056-2b978342deb60015.js,sha256=2lquiZSfbI-gX4j4TW4JSMLL_D5ShqwydgWpFyXrTy8,172834
|
|
@@ -121,12 +121,12 @@ khoj/interface/compiled/_next/static/chunks/framework-8e0e0f4a6b83a956.js,sha256
|
|
|
121
121
|
khoj/interface/compiled/_next/static/chunks/main-175c164f5e0f026c.js,sha256=hlUnjERudON4V4kUKprrFz1e9JRtSp4A9i7vnM-1bzA,110324
|
|
122
122
|
khoj/interface/compiled/_next/static/chunks/main-app-6d6ee3495efe03d4.js,sha256=i52E7sWOcSq1G8eYZL3mtTxbUbwRNxcAbSWQ6uWpMsY,475
|
|
123
123
|
khoj/interface/compiled/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js,sha256=6QPOwdWeAVe8x-SsiDrm-Ga6u2DkqgG5SFqglrlyIgA,91381
|
|
124
|
-
khoj/interface/compiled/_next/static/chunks/webpack-
|
|
124
|
+
khoj/interface/compiled/_next/static/chunks/webpack-95cfd7a1948cfeed.js,sha256=RT53Os4eeSrtNd6oq78iDSlIfVAu4RaGdrYjvSfckaU,3721
|
|
125
125
|
khoj/interface/compiled/_next/static/chunks/app/layout-f3e40d346da53112.js,sha256=nekGSUVbvB81OfqGgJa2UoDmbxPhNwFwtc4o11O_1jI,442
|
|
126
|
-
khoj/interface/compiled/_next/static/chunks/app/page-
|
|
126
|
+
khoj/interface/compiled/_next/static/chunks/app/page-ef4e7248d37fae41.js,sha256=Ocjky2Cm-ctmhs1r4oSRBYyMfkotM0ErcWVTVCGei6Y,28601
|
|
127
127
|
khoj/interface/compiled/_next/static/chunks/app/_not-found/page-07ff4ab42b07845e.js,sha256=3mCUnxfMxyK44eqk21TVBrC6u--WSbvx31fTmQuOvMQ,1755
|
|
128
128
|
khoj/interface/compiled/_next/static/chunks/app/agents/layout-e71c8e913cccf792.js,sha256=VyIMrkvntFObMzXF-elNtngJ8mBdjg8XrOGfboJ2f_4,372
|
|
129
|
-
khoj/interface/compiled/_next/static/chunks/app/agents/page-
|
|
129
|
+
khoj/interface/compiled/_next/static/chunks/app/agents/page-922694b75f1fb67b.js,sha256=3jU-Yi9AqZMAvWyGhiVjy9SofvHSUHSUV65CbBpu3Rc,18086
|
|
130
130
|
khoj/interface/compiled/_next/static/chunks/app/automations/layout-27c28e923c9b1ff0.js,sha256=d2vJ_lVB0pfeFXNUPzHAe1ca5NzdNowHPh___SPqugM,5143
|
|
131
131
|
khoj/interface/compiled/_next/static/chunks/app/automations/page-d7972645ccb80df1.js,sha256=elAjqbgd_xrq2ABcEECldivUA3OCN4AxXZiNvOGmT9s,33990
|
|
132
132
|
khoj/interface/compiled/_next/static/chunks/app/chat/layout-8102549127db3067.js,sha256=YIoA3fqOBt8nKWw5iQAwA_avg2t1Q5Afn65IA5PBOz4,374
|
|
@@ -141,7 +141,6 @@ khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-39f03f9e32399f
|
|
|
141
141
|
khoj/interface/compiled/_next/static/chunks/app/share/chat/page-699b364dc6fbf139.js,sha256=O6iOKdiyqchmlABUse3WokkisoHsn8ZRWMFZ_nqNXP0,10146
|
|
142
142
|
khoj/interface/compiled/_next/static/chunks/pages/_app-f870474a17b7f2fd.js,sha256=eqdFPAN_XFyMUzZ9qwFk-_rhMWZrU7lgNVt1foVUANo,286
|
|
143
143
|
khoj/interface/compiled/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js,sha256=vjERjtMAbVk-19LyPf1Jc-H6TMcrSznSz6brzNqbqf8,253
|
|
144
|
-
khoj/interface/compiled/_next/static/css/01e8624859fbf298.css,sha256=XpkJf-7D3ZuU05036yIBlRx8gu_nMqNDOkG9nsak6JY,7751
|
|
145
144
|
khoj/interface/compiled/_next/static/css/1538cedb321e3a97.css,sha256=-qLZhPN-wA3kcrVODVTaG1sN0pmuzRCqNH12gs5_qYc,2569
|
|
146
145
|
khoj/interface/compiled/_next/static/css/2272c73fc7a3b571.css,sha256=1fHKFd8zLOHosAHx-kxv4b9lVSqHag_E71WkV3dXx2Y,26940
|
|
147
146
|
khoj/interface/compiled/_next/static/css/4cae6c0e5c72fb2d.css,sha256=3CjTMmtMrm_MYt1ywtUh2MHEjSLSl356SQLl4hdBuYw,534
|
|
@@ -150,6 +149,7 @@ khoj/interface/compiled/_next/static/css/9d5b867ec04494a6.css,sha256=X2BihvGWIRM
|
|
|
150
149
|
khoj/interface/compiled/_next/static/css/a22d83f18a32957e.css,sha256=kgAD2DQYH2WF2wqL759i62nR093yU_UfFClMKkAue6U,17709
|
|
151
150
|
khoj/interface/compiled/_next/static/css/a3530ec58b0b660f.css,sha256=2fpX695nzJ6sNaNZbX_3Z0o-IA5kRlyN0ByIIXRgmtg,1570
|
|
152
151
|
khoj/interface/compiled/_next/static/css/b81e909d403fb2df.css,sha256=bbu108v2_T74MIyokVmUz0A_oFCIHJpzHdYExXFYgjs,1913
|
|
152
|
+
khoj/interface/compiled/_next/static/css/df6f4c34ec280d53.css,sha256=lAIK7HFwb0PaJpMfHmkUSValOSSCdbW-c_L7Lgn_ki8,7751
|
|
153
153
|
khoj/interface/compiled/_next/static/media/0e790e04fd40ad16-s.p.woff2,sha256=41ewITd0G1ZAoB62BTHMW58a1q8Hl6vSbTQkkHP7EbI,39372
|
|
154
154
|
khoj/interface/compiled/_next/static/media/4221e1667cd19c7d-s.woff2,sha256=_Y3g0keA8P6nZnFfm_VO5o2Sne1iST3v9xz4fBo3fwM,75532
|
|
155
155
|
khoj/interface/compiled/_next/static/media/6c276159aa0eb14b-s.woff2,sha256=i9Ibzi_O7y5KpImujj2rEdOZf96lpNYxYzVvCryW5Uc,140408
|
|
@@ -222,8 +222,8 @@ khoj/interface/compiled/_next/static/media/flags.3afdda2f.webp,sha256=M2AW_HLpBn
|
|
|
222
222
|
khoj/interface/compiled/_next/static/media/flags@2x.5fbe9fc1.webp,sha256=BBeRPBZkxY3-aKkMnYv5TSkxmbeMbyUH4VRIPfrWg1E,137406
|
|
223
223
|
khoj/interface/compiled/_next/static/media/globe.98e105ca.webp,sha256=g3ofb8-W9GM75zIhlvQhaS8I2py9TtrovOKR3_7Jf04,514
|
|
224
224
|
khoj/interface/compiled/_next/static/media/globe@2x.974df6f8.webp,sha256=I_N7Yke3IOoS-0CC6XD8o0IUWG8PdPbrHmf6lpgWlZY,1380
|
|
225
|
-
khoj/interface/compiled/agents/index.html,sha256=
|
|
226
|
-
khoj/interface/compiled/agents/index.txt,sha256=
|
|
225
|
+
khoj/interface/compiled/agents/index.html,sha256=FXbs0wGssZS_4HWQCQB4OMRLtB4Ud67n6EeLxet1BAA,12391
|
|
226
|
+
khoj/interface/compiled/agents/index.txt,sha256=SLmz2FnQ_0lJ89lGXQdo97-M87RDiPnRyCPZYwP7SQc,5942
|
|
227
227
|
khoj/interface/compiled/assets/icons/khoj_lantern.ico,sha256=eggu-B_v3z1R53EjOFhIqqPnICBGdoaw1xnc0NrzHck,174144
|
|
228
228
|
khoj/interface/compiled/assets/icons/khoj_lantern_128x128.png,sha256=aTxivDb3CYyThkVZWz8A19xl_dNut5DbkXhODWF3A9Q,5640
|
|
229
229
|
khoj/interface/compiled/assets/icons/khoj_lantern_256x256.png,sha256=xPCMLHiaL7lYOdQLZrKwWE-Qjn5ZaysSZB0ScYv4UZU,12312
|
|
@@ -234,18 +234,18 @@ khoj/interface/compiled/assets/samples/desktop-remember-plan-sample.png,sha256=i
|
|
|
234
234
|
khoj/interface/compiled/assets/samples/phone-browse-draw-sample.png,sha256=Dd4fPwtFl6BWqnHjeb1mCK_ND0hhHsWtx8sNE7EiMuE,406179
|
|
235
235
|
khoj/interface/compiled/assets/samples/phone-plain-chat-sample.png,sha256=DEDaNRCkfEWUeh3kYZWIQDTVK1a6KKnYdwj5ZWisN_Q,82985
|
|
236
236
|
khoj/interface/compiled/assets/samples/phone-remember-plan-sample.png,sha256=Ma3blirRmq3X4oYSsDbbT7MDn29rymDrjwmUfA9BMuM,236285
|
|
237
|
-
khoj/interface/compiled/automations/index.html,sha256=
|
|
238
|
-
khoj/interface/compiled/automations/index.txt,sha256=
|
|
239
|
-
khoj/interface/compiled/chat/index.html,sha256=
|
|
240
|
-
khoj/interface/compiled/chat/index.txt,sha256=
|
|
241
|
-
khoj/interface/compiled/factchecker/index.html,sha256=
|
|
242
|
-
khoj/interface/compiled/factchecker/index.txt,sha256=
|
|
243
|
-
khoj/interface/compiled/search/index.html,sha256
|
|
244
|
-
khoj/interface/compiled/search/index.txt,sha256=
|
|
245
|
-
khoj/interface/compiled/settings/index.html,sha256=
|
|
246
|
-
khoj/interface/compiled/settings/index.txt,sha256=
|
|
247
|
-
khoj/interface/compiled/share/chat/index.html,sha256=
|
|
248
|
-
khoj/interface/compiled/share/chat/index.txt,sha256=
|
|
237
|
+
khoj/interface/compiled/automations/index.html,sha256=x1T07X_56llv2z3UuADE06NvyEJl-5n5KiihrOcufFM,30808
|
|
238
|
+
khoj/interface/compiled/automations/index.txt,sha256=moBz7LfTiIF0zlCJOyjsjhUB83to5xrQxMy4Dk7tqKo,5580
|
|
239
|
+
khoj/interface/compiled/chat/index.html,sha256=1aUqVxDgT-qBh0zY09BBfue75a-8BEIU8R5y2ILGfAs,13566
|
|
240
|
+
khoj/interface/compiled/chat/index.txt,sha256=14W80zolt2NPQaxpKTLFRlaAcnjPpznCEd9IDOKvGbY,6421
|
|
241
|
+
khoj/interface/compiled/factchecker/index.html,sha256=guc03b_PV95owmPKQQukttLxclC6C9otHdc4nCpSHEU,29839
|
|
242
|
+
khoj/interface/compiled/factchecker/index.txt,sha256=reo32VJ2eQIugne3Ikcbog4zKvTdmSNi9c2cnbDgO1Y,5735
|
|
243
|
+
khoj/interface/compiled/search/index.html,sha256=-hZKktZNmsE8FT0Vak_hzEcRNGn2Fv6qtuiLou7f_zY,30154
|
|
244
|
+
khoj/interface/compiled/search/index.txt,sha256=94uPvUTajMQVEzkiARZU_BZDLdlDziX-PLrRNpTWwkA,5249
|
|
245
|
+
khoj/interface/compiled/settings/index.html,sha256=foqkTMfSCNTuinpgfSGIgFMhF0Z5yjATLpZcum-zC_M,12827
|
|
246
|
+
khoj/interface/compiled/settings/index.txt,sha256=TJMA3NnYsQU6vACJbFb37xcBq80fqkY3rCNoX64XPBg,6073
|
|
247
|
+
khoj/interface/compiled/share/chat/index.html,sha256=IULpI2Dt53SIjBPjgSHi2dwi_siksgHxziBWr-p2uPM,14896
|
|
248
|
+
khoj/interface/compiled/share/chat/index.txt,sha256=WXUcRhq2u7KJmF24VCQTAe7fTebZZ59Nmdxz_uLWrIM,7239
|
|
249
249
|
khoj/interface/email/feedback.html,sha256=xksuPFamx4hGWyTTxZKRgX_eiYQQEuv-eK9Xmkt-nwU,1216
|
|
250
250
|
khoj/interface/email/magic_link.html,sha256=jXY_2hD3o15Ns5UDzbjLT8FHBnZiS7jo38YkYXIS-4w,947
|
|
251
251
|
khoj/interface/email/task.html,sha256=yXywzC-5P4nXbhqvgCmwcCpTRbD5eWuDXMpgYSotztM,3311
|
|
@@ -296,33 +296,33 @@ khoj/processor/content/pdf/pdf_to_entries.py,sha256=OE90osFchohih3RYvDmZepbtzWoG
|
|
|
296
296
|
khoj/processor/content/plaintext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
297
297
|
khoj/processor/content/plaintext/plaintext_to_entries.py,sha256=97i7Cm0DTY7jW4iqKOT_oVc2ooa_XhQ8iImsljp1Kek,4994
|
|
298
298
|
khoj/processor/conversation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
299
|
-
khoj/processor/conversation/prompts.py,sha256=
|
|
299
|
+
khoj/processor/conversation/prompts.py,sha256=TGMniRnekGkJ2h6k2eCMqrUR5CE8AW8hixMUyKrZY4I,33527
|
|
300
300
|
khoj/processor/conversation/utils.py,sha256=_uWu1nxcY-Cv2ip-TBdyqepUkMYhijvzjnproumvzXk,10586
|
|
301
301
|
khoj/processor/conversation/anthropic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
302
|
-
khoj/processor/conversation/anthropic/anthropic_chat.py,sha256=
|
|
302
|
+
khoj/processor/conversation/anthropic/anthropic_chat.py,sha256=fOT75wfC4r53M_tGDL6T7kvnRekZbdVM3jvvl3ohH9w,8108
|
|
303
303
|
khoj/processor/conversation/anthropic/utils.py,sha256=uc9d_gIk4Ux2NRlkw3FP9L9KeLRoUI7nC_qb2Qp6d_4,3253
|
|
304
304
|
khoj/processor/conversation/offline/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
305
|
-
khoj/processor/conversation/offline/chat_model.py,sha256=
|
|
305
|
+
khoj/processor/conversation/offline/chat_model.py,sha256=twkCgnPGvPYxwvp1EWrS4F6k0zG6kigVfmqmfYrO26M,9741
|
|
306
306
|
khoj/processor/conversation/offline/utils.py,sha256=n2T3vwAIZnSe9-UN1VORLPrLEUcamXXE9isL2ie-9R8,3033
|
|
307
307
|
khoj/processor/conversation/offline/whisper.py,sha256=DJI-8y8DULO2cQ49m2VOvRyIZ2TxBypc15gM8O3HuMI,470
|
|
308
308
|
khoj/processor/conversation/openai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
309
|
-
khoj/processor/conversation/openai/gpt.py,sha256=
|
|
310
|
-
khoj/processor/conversation/openai/utils.py,sha256=
|
|
309
|
+
khoj/processor/conversation/openai/gpt.py,sha256=KHkTVo8cpEhTc01HDSwQfQSoI81nmx14A-nYep50_do,7312
|
|
310
|
+
khoj/processor/conversation/openai/utils.py,sha256=ozEsdrfm12yoi7XqXIgzF3QpKz2LSkXJ_Q9tn5hV4TQ,4131
|
|
311
311
|
khoj/processor/conversation/openai/whisper.py,sha256=RuwDtxSJrVWYdZz4aVnk0XiMQy9w8W9lFcVfE0hMiFY,432
|
|
312
312
|
khoj/processor/speech/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
313
313
|
khoj/processor/speech/text_to_speech.py,sha256=Q7sapi5Hv6woXOumtrGqR0t6izZrFBkWXFOGrHM6dJ4,1929
|
|
314
314
|
khoj/processor/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
315
|
-
khoj/processor/tools/online_search.py,sha256=
|
|
315
|
+
khoj/processor/tools/online_search.py,sha256=0FcUwGbD91bhfBgIbEvW-kRflisbG-cZyZlznlSYI5w,9727
|
|
316
316
|
khoj/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
317
|
-
khoj/routers/api.py,sha256=
|
|
317
|
+
khoj/routers/api.py,sha256=I-mQ6FSXw99yIRGMNDB_YQbqN82YE69WImnKjdeRvpM,25619
|
|
318
318
|
khoj/routers/api_agents.py,sha256=ks8QzjmZiio6j1QGi6xFtDmVxd9lvC6LPB-WcDPnF8o,1525
|
|
319
|
-
khoj/routers/api_chat.py,sha256=
|
|
319
|
+
khoj/routers/api_chat.py,sha256=ii-eeS9vYvX2kc4_5Ss7F5hrH0JQD-UVO9Jg_2adF8Q,35503
|
|
320
320
|
khoj/routers/api_content.py,sha256=OfY05ggRmg0FuVWzodBfV_5Gc6UbGCfchiIk8eqKA2o,17387
|
|
321
321
|
khoj/routers/api_model.py,sha256=5m7JWwgd9jILiLivRu7NEyY2E-tUkqoEkGg6j6uM1g0,4646
|
|
322
322
|
khoj/routers/api_phone.py,sha256=p9yfc4WeMHDC0hg3aQk60a2VBy8rZPdEnz9wdJ7DzkU,2208
|
|
323
323
|
khoj/routers/auth.py,sha256=pCOLSRihJWcn097DRPxLjPdlejsjHJFRs9jHIzLujZU,6247
|
|
324
324
|
khoj/routers/email.py,sha256=jA4jDTrYHUpY7mFHL4himeRlTBLRQmQKHqC91Dw1Zu0,3730
|
|
325
|
-
khoj/routers/helpers.py,sha256=
|
|
325
|
+
khoj/routers/helpers.py,sha256=9N6Pgh1BPKBKsD_2Hnvdy_M7Z40e4_ci6lpnqo1cZKw,63307
|
|
326
326
|
khoj/routers/notion.py,sha256=0iG_DPVjg8n_LBWGHA8M6eHnJJDL-isARSEHTYStz6c,2809
|
|
327
327
|
khoj/routers/storage.py,sha256=9ZfBsr_omxdFV-Lcj6p30xTQcF_7wwCZ9XFJukzjITE,1429
|
|
328
328
|
khoj/routers/subscription.py,sha256=qEyV7m7mrY6MGtaij8W3v61tpzX2a7ydm2B-E8h_R-M,4285
|
|
@@ -347,8 +347,8 @@ khoj/utils/models.py,sha256=Q5tcC9-z25sCiub048fLnvZ6_IIO1bcPNxt5payekk0,2009
|
|
|
347
347
|
khoj/utils/rawconfig.py,sha256=luk7Vb_ODuoTdMd_IG-yVXGoyoU-RktyapBG5D1N_VI,3985
|
|
348
348
|
khoj/utils/state.py,sha256=x4GTewP1YhOA6c_32N4wOjnV-3AA3xG_qbY1-wC2Uxc,1559
|
|
349
349
|
khoj/utils/yaml.py,sha256=H0mfw0ZvBFUvFmCQn8pWkfxdmIebsrSykza7D8Wv6wQ,1430
|
|
350
|
-
khoj-1.20.5.
|
|
351
|
-
khoj-1.20.5.
|
|
352
|
-
khoj-1.20.5.
|
|
353
|
-
khoj-1.20.5.
|
|
354
|
-
khoj-1.20.5.
|
|
350
|
+
khoj-1.20.5.dev8.dist-info/METADATA,sha256=149XhdaOWHYuPsLOmPvUlyeQX_Z9o0L3LRmV3fSOvow,6875
|
|
351
|
+
khoj-1.20.5.dev8.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
|
|
352
|
+
khoj-1.20.5.dev8.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
|
|
353
|
+
khoj-1.20.5.dev8.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
|
|
354
|
+
khoj-1.20.5.dev8.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
/khoj/interface/compiled/_next/static/chunks/{8423-898d821eaab634af.js → 8423-132ea64eac83fd43.js}
RENAMED
|
File without changes
|
/khoj/interface/compiled/_next/static/chunks/{9178-ef3257c08d8973c8.js → 9178-5a1fa2b9023249af.js}
RENAMED
|
File without changes
|
/khoj/interface/compiled/_next/static/chunks/{9417-5d14ac74aaab2c66.js → 9417-2e54c6fd056982d8.js}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|