khoj 1.29.2.dev26__py3-none-any.whl → 1.30.1.dev3__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 +2 -0
- khoj/interface/compiled/404/index.html +1 -1
- khoj/interface/compiled/_next/static/chunks/5538-b87b60ecc0c27ceb.js +1 -0
- khoj/interface/compiled/_next/static/chunks/796-68f9e87f9cdfda1d.js +3 -0
- khoj/interface/compiled/_next/static/chunks/app/agents/{page-4353b1a532795ad1.js → page-ee4f0da14df15091.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/automations/{page-c9f13c865e739607.js → page-da59a2b9ec07da16.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/chat/{page-1a23760147c678ba.js → page-e60a55d029b6216a.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/{page-e83f8a77f5c3caef.js → page-fcf7411ff80b6bf5.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/search/{page-8e28deacb61f75aa.js → page-4f44549ba3807021.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/settings/{page-610d33158b233b34.js → page-5591490850437232.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/share/chat/{page-a0a8dd453394b651.js → page-4a4c0f199b89bd80.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/{webpack-63a7b969d34e6698.js → webpack-d3a4ebfc304496fb.js} +1 -1
- khoj/interface/compiled/_next/static/css/2ff098d0815fdbc1.css +1 -0
- khoj/interface/compiled/_next/static/css/4cae6c0e5c72fb2d.css +1 -0
- 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 +2 -2
- khoj/interface/compiled/chat/index.html +1 -1
- khoj/interface/compiled/chat/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 +2 -2
- khoj/interface/compiled/share/chat/index.html +1 -1
- khoj/interface/compiled/share/chat/index.txt +2 -2
- khoj/processor/conversation/prompts.py +16 -70
- khoj/routers/api_chat.py +23 -15
- khoj/routers/helpers.py +38 -80
- khoj/utils/helpers.py +5 -6
- {khoj-1.29.2.dev26.dist-info → khoj-1.30.1.dev3.dist-info}/METADATA +1 -1
- {khoj-1.29.2.dev26.dist-info → khoj-1.30.1.dev3.dist-info}/RECORD +39 -39
- khoj/interface/compiled/_next/static/chunks/5538-32bd787d106700dc.js +0 -1
- khoj/interface/compiled/_next/static/chunks/5961-3c104d9736b7902b.js +0 -3
- khoj/interface/compiled/_next/static/css/23f801d22927d568.css +0 -1
- khoj/interface/compiled/_next/static/css/592ca99f5122e75a.css +0 -1
- /khoj/interface/compiled/_next/static/{8GHdsBD3CrRSB--Guybv_ → wjSO2ckeClcVcMhOwfAVy}/_buildManifest.js +0 -0
- /khoj/interface/compiled/_next/static/{8GHdsBD3CrRSB--Guybv_ → wjSO2ckeClcVcMhOwfAVy}/_ssgManifest.js +0 -0
- {khoj-1.29.2.dev26.dist-info → khoj-1.30.1.dev3.dist-info}/WHEEL +0 -0
- {khoj-1.29.2.dev26.dist-info → khoj-1.30.1.dev3.dist-info}/entry_points.txt +0 -0
- {khoj-1.29.2.dev26.dist-info → khoj-1.30.1.dev3.dist-info}/licenses/LICENSE +0 -0
@@ -565,59 +565,6 @@ Here's some additional context about you:
|
|
565
565
|
"""
|
566
566
|
)
|
567
567
|
|
568
|
-
pick_relevant_output_mode = PromptTemplate.from_template(
|
569
|
-
"""
|
570
|
-
You are Khoj, an excellent analyst for selecting the correct way to respond to a user's query.
|
571
|
-
{personality_context}
|
572
|
-
You have access to a limited set of modes for your response.
|
573
|
-
You can only use one of these modes.
|
574
|
-
|
575
|
-
{modes}
|
576
|
-
|
577
|
-
Here are some examples:
|
578
|
-
|
579
|
-
Example:
|
580
|
-
Chat History:
|
581
|
-
User: I just visited Jerusalem for the first time. Pull up my notes from the trip.
|
582
|
-
AI: You mention visiting Masjid Al-Aqsa and the Western Wall. You also mention trying the local cuisine and visiting the Dead Sea.
|
583
|
-
|
584
|
-
Q: Draw a picture of my trip to Jerusalem.
|
585
|
-
Khoj: {{"output": "image"}}
|
586
|
-
|
587
|
-
Example:
|
588
|
-
Chat History:
|
589
|
-
User: I'm having trouble deciding which laptop to get. I want something with at least 16 GB of RAM and a 1 TB SSD.
|
590
|
-
AI: I can help with that. I see online that there is a new model of the Dell XPS 15 that meets your requirements.
|
591
|
-
|
592
|
-
Q: What are the specs of the new Dell XPS 15?
|
593
|
-
Khoj: {{"output": "text"}}
|
594
|
-
|
595
|
-
Example:
|
596
|
-
Chat History:
|
597
|
-
User: Where did I go on my last vacation?
|
598
|
-
AI: You went to Jordan and visited Petra, the Dead Sea, and Wadi Rum.
|
599
|
-
|
600
|
-
Q: Remind me who did I go with on that trip?
|
601
|
-
Khoj: {{"output": "text"}}
|
602
|
-
|
603
|
-
Example:
|
604
|
-
Chat History:
|
605
|
-
User: How's the weather outside? Current Location: Bali, Indonesia
|
606
|
-
AI: It's currently 28°C and partly cloudy in Bali.
|
607
|
-
|
608
|
-
Q: Share a painting using the weather for Bali every morning.
|
609
|
-
Khoj: {{"output": "automation"}}
|
610
|
-
|
611
|
-
Now it's your turn to pick the mode you would like to use to answer the user's question. Provide your response as a JSON. Do not say anything else.
|
612
|
-
|
613
|
-
Chat History:
|
614
|
-
{chat_history}
|
615
|
-
|
616
|
-
Q: {query}
|
617
|
-
Khoj:
|
618
|
-
""".strip()
|
619
|
-
)
|
620
|
-
|
621
568
|
plan_function_execution = PromptTemplate.from_template(
|
622
569
|
"""
|
623
570
|
You are Khoj, a smart, creative and methodical researcher. Use the provided tool AIs to investigate information to answer query.
|
@@ -679,18 +626,24 @@ previous_iteration = PromptTemplate.from_template(
|
|
679
626
|
"""
|
680
627
|
)
|
681
628
|
|
682
|
-
|
629
|
+
pick_relevant_tools = PromptTemplate.from_template(
|
683
630
|
"""
|
684
631
|
You are Khoj, an extremely smart and helpful search assistant.
|
685
632
|
{personality_context}
|
686
633
|
- You have access to a variety of data sources to help you answer the user's question
|
687
634
|
- You can use the data sources listed below to collect more relevant information
|
688
|
-
- You can
|
635
|
+
- You can select certain types of output to respond to the user's question. Select just one output type to answer the user's question
|
636
|
+
- You can use any combination of these data sources and output types to answer the user's question
|
637
|
+
- You can only select one output type to answer the user's question
|
689
638
|
|
690
|
-
Which of the
|
639
|
+
Which of the tools listed below you would use to answer the user's question? You **only** have access to the following:
|
691
640
|
|
641
|
+
Inputs:
|
692
642
|
{tools}
|
693
643
|
|
644
|
+
Outputs:
|
645
|
+
{outputs}
|
646
|
+
|
694
647
|
Here are some examples:
|
695
648
|
|
696
649
|
Example:
|
@@ -699,7 +652,7 @@ User: I'm thinking of moving to a new city. I'm trying to decide between New Yor
|
|
699
652
|
AI: Moving to a new city can be challenging. Both New York and San Francisco are great cities to live in. New York is known for its diverse culture and San Francisco is known for its tech scene.
|
700
653
|
|
701
654
|
Q: What is the population of each of those cities?
|
702
|
-
Khoj: {{"source": ["online"]}}
|
655
|
+
Khoj: {{"source": ["online"], "output": ["text"]}}
|
703
656
|
|
704
657
|
Example:
|
705
658
|
Chat History:
|
@@ -707,14 +660,7 @@ User: I'm thinking of my next vacation idea. Ideally, I want to see something ne
|
|
707
660
|
AI: Excellent! Taking a vacation is a great way to relax and recharge.
|
708
661
|
|
709
662
|
Q: Where did Grandma grow up?
|
710
|
-
Khoj: {{"source": ["notes"]}}
|
711
|
-
|
712
|
-
Example:
|
713
|
-
Chat History:
|
714
|
-
|
715
|
-
|
716
|
-
Q: What can you do for me?
|
717
|
-
Khoj: {{"source": ["notes", "online"]}}
|
663
|
+
Khoj: {{"source": ["notes"], "output": ["text"]}}
|
718
664
|
|
719
665
|
Example:
|
720
666
|
Chat History:
|
@@ -722,7 +668,7 @@ User: Good morning
|
|
722
668
|
AI: Good morning! How can I help you today?
|
723
669
|
|
724
670
|
Q: How can I share my files with Khoj?
|
725
|
-
Khoj: {{"source": ["default", "online"]}}
|
671
|
+
Khoj: {{"source": ["default", "online"], "output": ["text"]}}
|
726
672
|
|
727
673
|
Example:
|
728
674
|
Chat History:
|
@@ -730,17 +676,17 @@ User: What is the first element in the periodic table?
|
|
730
676
|
AI: The first element in the periodic table is Hydrogen.
|
731
677
|
|
732
678
|
Q: Summarize this article https://en.wikipedia.org/wiki/Hydrogen
|
733
|
-
Khoj: {{"source": ["webpage"]}}
|
679
|
+
Khoj: {{"source": ["webpage"], "output": ["text"]}}
|
734
680
|
|
735
681
|
Example:
|
736
682
|
Chat History:
|
737
683
|
User: I want to start a new hobby. I'm thinking of learning to play the guitar.
|
738
684
|
AI: Learning to play the guitar is a great hobby. It can be a lot of fun and a great way to express yourself.
|
739
685
|
|
740
|
-
Q:
|
741
|
-
Khoj: {{"source": ["general"]}}
|
686
|
+
Q: Draw a painting of a guitar.
|
687
|
+
Khoj: {{"source": ["general"], "output": ["image"]}}
|
742
688
|
|
743
|
-
Now it's your turn to pick the
|
689
|
+
Now it's your turn to pick the sources and output to answer the user's query. Respond with a JSON object, including both `source` and `output`. The values should be a list of strings. Do not say anything else.
|
744
690
|
|
745
691
|
Chat History:
|
746
692
|
{chat_history}
|
khoj/routers/api_chat.py
CHANGED
@@ -46,8 +46,7 @@ from khoj.routers.helpers import (
|
|
46
46
|
FeedbackData,
|
47
47
|
acreate_title_from_history,
|
48
48
|
agenerate_chat_response,
|
49
|
-
|
50
|
-
aget_relevant_output_modes,
|
49
|
+
aget_relevant_tools_to_execute,
|
51
50
|
construct_automation_created_message,
|
52
51
|
create_automation,
|
53
52
|
gather_raw_query_files,
|
@@ -753,7 +752,7 @@ async def chat(
|
|
753
752
|
attached_file_context = gather_raw_query_files(query_files)
|
754
753
|
|
755
754
|
if conversation_commands == [ConversationCommand.Default] or is_automated_task:
|
756
|
-
conversation_commands = await
|
755
|
+
conversation_commands = await aget_relevant_tools_to_execute(
|
757
756
|
q,
|
758
757
|
meta_log,
|
759
758
|
is_automated_task,
|
@@ -769,19 +768,9 @@ async def chat(
|
|
769
768
|
conversation_commands = [ConversationCommand.Research]
|
770
769
|
|
771
770
|
conversation_commands_str = ", ".join([cmd.value for cmd in conversation_commands])
|
772
|
-
async for result in send_event(
|
773
|
-
ChatEvent.STATUS, f"**Chose Data Sources to Search:** {conversation_commands_str}"
|
774
|
-
):
|
771
|
+
async for result in send_event(ChatEvent.STATUS, f"**Selected Tools:** {conversation_commands_str}"):
|
775
772
|
yield result
|
776
773
|
|
777
|
-
mode = await aget_relevant_output_modes(
|
778
|
-
q, meta_log, is_automated_task, user, uploaded_images, agent, tracer=tracer
|
779
|
-
)
|
780
|
-
async for result in send_event(ChatEvent.STATUS, f"**Decided Response Mode:** {mode.value}"):
|
781
|
-
yield result
|
782
|
-
if mode not in conversation_commands:
|
783
|
-
conversation_commands.append(mode)
|
784
|
-
|
785
774
|
for cmd in conversation_commands:
|
786
775
|
try:
|
787
776
|
await conversation_command_rate_limiter.update_and_check_if_valid(request, cmd)
|
@@ -1175,8 +1164,27 @@ async def chat(
|
|
1175
1164
|
inferred_queries.append(better_diagram_description_prompt)
|
1176
1165
|
diagram_description = excalidraw_diagram_description
|
1177
1166
|
else:
|
1178
|
-
|
1167
|
+
error_message = "Failed to generate diagram. Please try again later."
|
1168
|
+
async for result in send_llm_response(error_message):
|
1179
1169
|
yield result
|
1170
|
+
|
1171
|
+
await sync_to_async(save_to_conversation_log)(
|
1172
|
+
q,
|
1173
|
+
error_message,
|
1174
|
+
user,
|
1175
|
+
meta_log,
|
1176
|
+
user_message_time,
|
1177
|
+
inferred_queries=[better_diagram_description_prompt],
|
1178
|
+
client_application=request.user.client_app,
|
1179
|
+
conversation_id=conversation_id,
|
1180
|
+
compiled_references=compiled_references,
|
1181
|
+
online_results=online_results,
|
1182
|
+
code_results=code_results,
|
1183
|
+
query_images=uploaded_images,
|
1184
|
+
train_of_thought=train_of_thought,
|
1185
|
+
raw_query_files=raw_query_files,
|
1186
|
+
tracer=tracer,
|
1187
|
+
)
|
1180
1188
|
return
|
1181
1189
|
|
1182
1190
|
content_obj = {
|
khoj/routers/helpers.py
CHANGED
@@ -336,7 +336,7 @@ async def acheck_if_safe_prompt(system_prompt: str, user: KhojUser = None, lax:
|
|
336
336
|
return is_safe, reason
|
337
337
|
|
338
338
|
|
339
|
-
async def
|
339
|
+
async def aget_relevant_tools_to_execute(
|
340
340
|
query: str,
|
341
341
|
conversation_history: dict,
|
342
342
|
is_task: bool,
|
@@ -360,6 +360,19 @@ async def aget_relevant_information_sources(
|
|
360
360
|
if len(agent_tools) == 0 or tool.value in agent_tools:
|
361
361
|
tool_options_str += f'- "{tool.value}": "{description}"\n'
|
362
362
|
|
363
|
+
mode_options = dict()
|
364
|
+
mode_options_str = ""
|
365
|
+
|
366
|
+
output_modes = agent.output_modes if agent else []
|
367
|
+
|
368
|
+
for mode, description in mode_descriptions_for_llm.items():
|
369
|
+
# Do not allow tasks to schedule another task
|
370
|
+
if is_task and mode == ConversationCommand.Automation:
|
371
|
+
continue
|
372
|
+
mode_options[mode.value] = description
|
373
|
+
if len(output_modes) == 0 or mode.value in output_modes:
|
374
|
+
mode_options_str += f'- "{mode.value}": "{description}"\n'
|
375
|
+
|
363
376
|
chat_history = construct_chat_history(conversation_history)
|
364
377
|
|
365
378
|
if query_images:
|
@@ -369,9 +382,10 @@ async def aget_relevant_information_sources(
|
|
369
382
|
prompts.personality_context.format(personality=agent.personality) if agent and agent.personality else ""
|
370
383
|
)
|
371
384
|
|
372
|
-
relevant_tools_prompt = prompts.
|
385
|
+
relevant_tools_prompt = prompts.pick_relevant_tools.format(
|
373
386
|
query=query,
|
374
387
|
tools=tool_options_str,
|
388
|
+
outputs=mode_options_str,
|
375
389
|
chat_history=chat_history,
|
376
390
|
personality_context=personality_context,
|
377
391
|
)
|
@@ -388,13 +402,17 @@ async def aget_relevant_information_sources(
|
|
388
402
|
try:
|
389
403
|
response = clean_json(response)
|
390
404
|
response = json.loads(response)
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
405
|
+
|
406
|
+
input_tools = [q.strip() for q in response.get("source", []) if q.strip()]
|
407
|
+
output_modes = [q.strip() for q in response.get("output", ["text"]) if q.strip()] # Default to text output
|
408
|
+
|
409
|
+
if not isinstance(input_tools, list) or not input_tools or len(input_tools) == 0:
|
410
|
+
raise ValueError(
|
411
|
+
f"Invalid response for determining relevant tools: {input_tools}. Raw Response: {response}"
|
412
|
+
)
|
395
413
|
|
396
414
|
final_response = [] if not is_task else [ConversationCommand.AutomatedTask]
|
397
|
-
for llm_suggested_tool in
|
415
|
+
for llm_suggested_tool in input_tools:
|
398
416
|
# Add a double check to verify it's in the agent list, because the LLM sometimes gets confused by the tool options.
|
399
417
|
if llm_suggested_tool in tool_options.keys() and (
|
400
418
|
len(agent_tools) == 0 or llm_suggested_tool in agent_tools
|
@@ -402,88 +420,28 @@ async def aget_relevant_information_sources(
|
|
402
420
|
# Check whether the tool exists as a valid ConversationCommand
|
403
421
|
final_response.append(ConversationCommand(llm_suggested_tool))
|
404
422
|
|
423
|
+
for llm_suggested_output in output_modes:
|
424
|
+
# Add a double check to verify it's in the agent list, because the LLM sometimes gets confused by the tool options.
|
425
|
+
if llm_suggested_output in mode_options.keys() and (
|
426
|
+
len(output_modes) == 0 or llm_suggested_output in output_modes
|
427
|
+
):
|
428
|
+
# Check whether the tool exists as a valid ConversationCommand
|
429
|
+
final_response.append(ConversationCommand(llm_suggested_output))
|
430
|
+
|
405
431
|
if is_none_or_empty(final_response):
|
406
432
|
if len(agent_tools) == 0:
|
407
|
-
final_response = [ConversationCommand.Default]
|
433
|
+
final_response = [ConversationCommand.Default, ConversationCommand.Text]
|
408
434
|
else:
|
409
|
-
final_response = [ConversationCommand.General]
|
410
|
-
except Exception:
|
411
|
-
logger.error(f"Invalid response for determining relevant tools: {response}")
|
435
|
+
final_response = [ConversationCommand.General, ConversationCommand.Text]
|
436
|
+
except Exception as e:
|
437
|
+
logger.error(f"Invalid response for determining relevant tools: {response}. Error: {e}", exc_info=True)
|
412
438
|
if len(agent_tools) == 0:
|
413
|
-
final_response = [ConversationCommand.Default]
|
439
|
+
final_response = [ConversationCommand.Default, ConversationCommand.Text]
|
414
440
|
else:
|
415
441
|
final_response = agent_tools
|
416
442
|
return final_response
|
417
443
|
|
418
444
|
|
419
|
-
async def aget_relevant_output_modes(
|
420
|
-
query: str,
|
421
|
-
conversation_history: dict,
|
422
|
-
is_task: bool = False,
|
423
|
-
user: KhojUser = None,
|
424
|
-
query_images: List[str] = None,
|
425
|
-
agent: Agent = None,
|
426
|
-
tracer: dict = {},
|
427
|
-
):
|
428
|
-
"""
|
429
|
-
Given a query, determine which of the available tools the agent should use in order to answer appropriately.
|
430
|
-
"""
|
431
|
-
|
432
|
-
mode_options = dict()
|
433
|
-
mode_options_str = ""
|
434
|
-
|
435
|
-
output_modes = agent.output_modes if agent else []
|
436
|
-
|
437
|
-
for mode, description in mode_descriptions_for_llm.items():
|
438
|
-
# Do not allow tasks to schedule another task
|
439
|
-
if is_task and mode == ConversationCommand.Automation:
|
440
|
-
continue
|
441
|
-
mode_options[mode.value] = description
|
442
|
-
if len(output_modes) == 0 or mode.value in output_modes:
|
443
|
-
mode_options_str += f'- "{mode.value}": "{description}"\n'
|
444
|
-
|
445
|
-
chat_history = construct_chat_history(conversation_history)
|
446
|
-
|
447
|
-
if query_images:
|
448
|
-
query = f"[placeholder for {len(query_images)} user attached images]\n{query}"
|
449
|
-
|
450
|
-
personality_context = (
|
451
|
-
prompts.personality_context.format(personality=agent.personality) if agent and agent.personality else ""
|
452
|
-
)
|
453
|
-
|
454
|
-
relevant_mode_prompt = prompts.pick_relevant_output_mode.format(
|
455
|
-
query=query,
|
456
|
-
modes=mode_options_str,
|
457
|
-
chat_history=chat_history,
|
458
|
-
personality_context=personality_context,
|
459
|
-
)
|
460
|
-
|
461
|
-
with timer("Chat actor: Infer output mode for chat response", logger):
|
462
|
-
response = await send_message_to_model_wrapper(
|
463
|
-
relevant_mode_prompt, response_type="json_object", user=user, tracer=tracer
|
464
|
-
)
|
465
|
-
|
466
|
-
try:
|
467
|
-
response = clean_json(response)
|
468
|
-
response = json.loads(response)
|
469
|
-
|
470
|
-
if is_none_or_empty(response):
|
471
|
-
return ConversationCommand.Text
|
472
|
-
|
473
|
-
output_mode = response["output"]
|
474
|
-
|
475
|
-
# Add a double check to verify it's in the agent list, because the LLM sometimes gets confused by the tool options.
|
476
|
-
if output_mode in mode_options.keys() and (len(output_modes) == 0 or output_mode in output_modes):
|
477
|
-
# Check whether the tool exists as a valid ConversationCommand
|
478
|
-
return ConversationCommand(output_mode)
|
479
|
-
|
480
|
-
logger.error(f"Invalid output mode selected: {output_mode}. Defaulting to text.")
|
481
|
-
return ConversationCommand.Text
|
482
|
-
except Exception:
|
483
|
-
logger.error(f"Invalid response for determining output mode: {response}")
|
484
|
-
return ConversationCommand.Text
|
485
|
-
|
486
|
-
|
487
445
|
async def infer_webpage_urls(
|
488
446
|
q: str,
|
489
447
|
conversation_history: dict,
|
khoj/utils/helpers.py
CHANGED
@@ -365,7 +365,7 @@ tool_descriptions_for_llm = {
|
|
365
365
|
ConversationCommand.Notes: "To search the user's personal knowledge base. Especially helpful if the question expects context from the user's notes or documents.",
|
366
366
|
ConversationCommand.Online: "To search for the latest, up-to-date information from the internet. Note: **Questions about Khoj should always use this data source**",
|
367
367
|
ConversationCommand.Webpage: "To use if the user has directly provided the webpage urls or you are certain of the webpage urls to read.",
|
368
|
-
ConversationCommand.Code: "To run Python code in a Pyodide sandbox with no network access. Helpful when need to parse information, run complex calculations, create documents and charts
|
368
|
+
ConversationCommand.Code: "To run Python code in a Pyodide sandbox with no network access. Helpful when need to parse information, run complex calculations, create plaintext documents, and create charts with quantitative data. Matplotlib, bs4, pandas, numpy, etc. are available.",
|
369
369
|
ConversationCommand.Summarize: "To retrieve an answer that depends on the entire document or a large text.",
|
370
370
|
}
|
371
371
|
|
@@ -373,14 +373,13 @@ function_calling_description_for_llm = {
|
|
373
373
|
ConversationCommand.Notes: "To search the user's personal knowledge base. Especially helpful if the question expects context from the user's notes or documents.",
|
374
374
|
ConversationCommand.Online: "To search the internet for information. Useful to get a quick, broad overview from the internet. Provide all relevant context to ensure new searches, not in previous iterations, are performed.",
|
375
375
|
ConversationCommand.Webpage: "To extract information from webpages. Useful for more detailed research from the internet. Usually used when you know the webpage links to refer to. Share the webpage links and information to extract in your query.",
|
376
|
-
ConversationCommand.Code: "To run Python code in a Pyodide sandbox with no network access. Helpful when need to parse information, run complex calculations, create charts
|
376
|
+
ConversationCommand.Code: "To run Python code in a Pyodide sandbox with no network access. Helpful when need to parse information, run complex calculations, create plaintext documents, and create charts with quantitative data. Matplotlib, bs4, pandas, numpy, etc. are available.",
|
377
377
|
}
|
378
378
|
|
379
379
|
mode_descriptions_for_llm = {
|
380
|
-
ConversationCommand.Image: "Use this if you are confident the user is requesting you to create a new picture based on their description. This
|
381
|
-
ConversationCommand.
|
382
|
-
ConversationCommand.
|
383
|
-
ConversationCommand.Diagram: "Use this if the user is requesting a diagram or visual representation that requires primitives like lines, rectangles, and text.",
|
380
|
+
ConversationCommand.Image: "Use this if you are confident the user is requesting you to create a new picture based on their description. This DOES NOT support generating charts or graphs. It is for creative images.",
|
381
|
+
ConversationCommand.Text: "Use this if a normal text response would be sufficient for accurately responding to the query or you don't feel strongly about the other modes.",
|
382
|
+
ConversationCommand.Diagram: "Use this if the user is requesting a diagram or visual representation that requires primitives like lines, rectangles, and text. This does not work for charts, graphs, or quantitative data. It is for mind mapping, flowcharts, etc.",
|
384
383
|
}
|
385
384
|
|
386
385
|
mode_descriptions_for_agent = {
|
@@ -11,7 +11,7 @@ khoj/database/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
11
|
khoj/database/admin.py,sha256=9xVVQ91gjLW4_ZpN1Ojp6zHynZBjMpJ_F_mEd1eyDA0,10718
|
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=KxGzqtDpbDPJdy-CZFXOM7sLqogzJXYyp_NDHgXttEg,69084
|
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_default_model.py,sha256=HkFQOI-2rFjlu7YiulyRcTrITzSzXmY4WiV2hBmml0w,5209
|
@@ -111,17 +111,15 @@ khoj/interface/compiled/chat.svg,sha256=l2JoYRRgk201adTTdvJ-buKUrc0WGfsudix5xEvt
|
|
111
111
|
khoj/interface/compiled/close.svg,sha256=hQ2iFLkNzHk0_iyTrSbwnWAeXYlgA-c2Eof2Iqh76n4,417
|
112
112
|
khoj/interface/compiled/copy-button-success.svg,sha256=byqWAYD3Pn9IOXRjOKudJ-TJbP2UESbQGvtLWazNGjY,829
|
113
113
|
khoj/interface/compiled/copy-button.svg,sha256=05bKM2eRxksfBlAPT7yMaoNJEk85bZCxQg67EVrPeHo,669
|
114
|
-
khoj/interface/compiled/index.html,sha256=
|
115
|
-
khoj/interface/compiled/index.txt,sha256=
|
114
|
+
khoj/interface/compiled/index.html,sha256=RokRtIfIoiqMjLh3qWHTENMLVXgiQ5vdloZdP22Cexc,12156
|
115
|
+
khoj/interface/compiled/index.txt,sha256=o8pR_BnMjmsYgdMIFb1Fn6pZFltUgy3wk2LXGCx9MrE,5611
|
116
116
|
khoj/interface/compiled/khoj.webmanifest,sha256=lsknYkvEdMbRTOUYKXPM_8krN2gamJmM4u3qj8u9lrU,1682
|
117
117
|
khoj/interface/compiled/logo.svg,sha256=_QCKVYM4WT2Qhcf7aVFImjq_s5CwjynGXYAOgI7yf8w,8059
|
118
118
|
khoj/interface/compiled/send.svg,sha256=VdavOWkVddcwcGcld6pdfmwfz7S91M-9O28cfeiKJkM,635
|
119
119
|
khoj/interface/compiled/share.svg,sha256=91lwo75PvMDrgocuZQab6EQ62CxRbubh9Bhw7CWMKbg,1221
|
120
120
|
khoj/interface/compiled/thumbs-down.svg,sha256=JGNl-DwoRmH2XFMPWwFFklmoYtKxaQbkLE3nuYKe8ZY,1019
|
121
121
|
khoj/interface/compiled/thumbs-up.svg,sha256=yS1wxTRtiztkN-6nZciLoYQUB_KTYNPV8xFRwH2TQFw,1036
|
122
|
-
khoj/interface/compiled/404/index.html,sha256=
|
123
|
-
khoj/interface/compiled/_next/static/8GHdsBD3CrRSB--Guybv_/_buildManifest.js,sha256=6I9QUstNpJnhe3leR2Daw0pSXwzcbBscv6h2jmmPpms,224
|
124
|
-
khoj/interface/compiled/_next/static/8GHdsBD3CrRSB--Guybv_/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
|
122
|
+
khoj/interface/compiled/404/index.html,sha256=Mw4lZ-sgRw5wwHrJmlQS8ZEOvGL8hzO1j4mhU3-tKLo,12023
|
125
123
|
khoj/interface/compiled/_next/static/chunks/1210.132a7e1910006bbb.js,sha256=2dJueIfOg5qlQdanOM9HrgwcfrUXCD57bfd8Iv7iJcU,2104
|
126
124
|
khoj/interface/compiled/_next/static/chunks/1279-f37ee4a388ebf544.js,sha256=U_1WaocOdgJ4HZB8tRx_izzYGD1EZlCohC1uLCffCWc,45582
|
127
125
|
khoj/interface/compiled/_next/static/chunks/1459.690bf20e7d7b7090.js,sha256=z-ruZPxF_Z3ef_WOThd9Ox36AMhxaW3znizVivNnA34,34239
|
@@ -134,11 +132,11 @@ khoj/interface/compiled/_next/static/chunks/3803-d74118a2d0182c52.js,sha256=Elqf
|
|
134
132
|
khoj/interface/compiled/_next/static/chunks/4504-1629487c8bc82203.js,sha256=z6NvJ2KOjYPbMNsYQKyX9PV4DeURUoP6LKoNb4kZXg0,11637
|
135
133
|
khoj/interface/compiled/_next/static/chunks/4602-8eeb4b76385ad159.js,sha256=pz2lEr0JOrMdrddv2R2vej4e9uxpOr5KFX966ClLbOU,29928
|
136
134
|
khoj/interface/compiled/_next/static/chunks/5512-94c7c2bbcf58c19d.js,sha256=ySpWRBlOMbttpBPr-j6_y9FmVrWfeRdardPkVnYAXzw,103730
|
137
|
-
khoj/interface/compiled/_next/static/chunks/5538-
|
138
|
-
khoj/interface/compiled/_next/static/chunks/5961-3c104d9736b7902b.js,sha256=qss4GGVTNo_Rp3x8bU1I_l-SZCa-XAoVaxbLYOOcDTU,1089568
|
135
|
+
khoj/interface/compiled/_next/static/chunks/5538-b87b60ecc0c27ceb.js,sha256=_gYTfk_4_QokG8JC41SvGJmxgCjViwHflNNTX2rlzXI,34236
|
139
136
|
khoj/interface/compiled/_next/static/chunks/6297-d1c842ed3f714ab0.js,sha256=4nzZ2umR-q6wQ-8L4RSivWXKV_SE1dWoN9qA1I9lCRI,25675
|
140
137
|
khoj/interface/compiled/_next/static/chunks/7023-a5bf5744d19b3bd3.js,sha256=TBJA7dTnI8nymtbljKuZzo2hbStXWR-P8Qkl57k2Tw8,123898
|
141
138
|
khoj/interface/compiled/_next/static/chunks/7883-b1305ec254213afe.js,sha256=dDbERTNiKRIIdC7idybjZq03gnxQtudMawrekye0zH8,241134
|
139
|
+
khoj/interface/compiled/_next/static/chunks/796-68f9e87f9cdfda1d.js,sha256=sGuaWffm4HXr8jrS3_HpLzmiGSrZ9TJV1l0btptfPLA,1092974
|
142
140
|
khoj/interface/compiled/_next/static/chunks/8423-c0123d454681e03a.js,sha256=ZMV9-K9UbK23ldDrwnYVox4UU9vqxvbcwSgAPlqoeR8,15303
|
143
141
|
khoj/interface/compiled/_next/static/chunks/9001-3b27af6d5f21df44.js,sha256=ran2mMGTO2kiAJebRGMyfyAu4Sdjw-WobS_m6g-qjz8,34223
|
144
142
|
khoj/interface/compiled/_next/static/chunks/9417-32c4db52ca42e681.js,sha256=9r3lV-DxmhmQnYjroVbjAXPyX6rvSmhZKfUguE0dENw,15039
|
@@ -150,29 +148,29 @@ khoj/interface/compiled/_next/static/chunks/framework-8e0e0f4a6b83a956.js,sha256
|
|
150
148
|
khoj/interface/compiled/_next/static/chunks/main-1ea5c2e0fdef4626.js,sha256=8_u87PGI3PahFbDfGWGvpD-a18J7X7ChUqWIeqxVq7g,111061
|
151
149
|
khoj/interface/compiled/_next/static/chunks/main-app-6d6ee3495efe03d4.js,sha256=i52E7sWOcSq1G8eYZL3mtTxbUbwRNxcAbSWQ6uWpMsY,475
|
152
150
|
khoj/interface/compiled/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js,sha256=6QPOwdWeAVe8x-SsiDrm-Ga6u2DkqgG5SFqglrlyIgA,91381
|
153
|
-
khoj/interface/compiled/_next/static/chunks/webpack-
|
151
|
+
khoj/interface/compiled/_next/static/chunks/webpack-d3a4ebfc304496fb.js,sha256=4W8e6VbNih5VrlG4t7jslX1H1vt8uOvpe-W04JxNFXs,4054
|
154
152
|
khoj/interface/compiled/_next/static/chunks/app/layout-86561d2fac35a91a.js,sha256=2EWsyKE2kcC5uDvsOtgG5OP0hHCX8sCph4NqhUU2rCg,442
|
155
|
-
khoj/interface/compiled/_next/static/chunks/app/page-
|
153
|
+
khoj/interface/compiled/_next/static/chunks/app/page-fcf7411ff80b6bf5.js,sha256=VlOR_tnA5EULQXzWNDUPbUDTbsKCTxJAGPmWz6iXXig,33220
|
156
154
|
khoj/interface/compiled/_next/static/chunks/app/_not-found/page-07ff4ab42b07845e.js,sha256=3mCUnxfMxyK44eqk21TVBrC6u--WSbvx31fTmQuOvMQ,1755
|
157
155
|
khoj/interface/compiled/_next/static/chunks/app/agents/layout-e9838b642913a071.js,sha256=w3vWDf7m2_VG7q98_KGAWbCO06RI7iqFYsb4nDqGUDw,372
|
158
|
-
khoj/interface/compiled/_next/static/chunks/app/agents/page-
|
156
|
+
khoj/interface/compiled/_next/static/chunks/app/agents/page-ee4f0da14df15091.js,sha256=uqFdU7KMW0ZqRQySoGhRNXTHvodXxMC34a1zhr47vVs,11750
|
159
157
|
khoj/interface/compiled/_next/static/chunks/app/automations/layout-27c28e923c9b1ff0.js,sha256=d2vJ_lVB0pfeFXNUPzHAe1ca5NzdNowHPh___SPqugM,5143
|
160
|
-
khoj/interface/compiled/_next/static/chunks/app/automations/page-
|
158
|
+
khoj/interface/compiled/_next/static/chunks/app/automations/page-da59a2b9ec07da16.js,sha256=R7auC6hEUsXt6aysFhuyAEcGGUaZ4QOnLxxc8XdDSbc,35349
|
161
159
|
khoj/interface/compiled/_next/static/chunks/app/chat/layout-b0e7ff4baa3b5265.js,sha256=a-Qv2nHUrCa1gIs4Qo5txnOlhhQessAdcnAhhjaN3ag,374
|
162
|
-
khoj/interface/compiled/_next/static/chunks/app/chat/page-
|
160
|
+
khoj/interface/compiled/_next/static/chunks/app/chat/page-e60a55d029b6216a.js,sha256=qdjCIEOXvtnxAyZp9gjxODNq-WHzDOk-kI1UtEgmOU8,7070
|
163
161
|
khoj/interface/compiled/_next/static/chunks/app/search/layout-ea6b73fdaf9b24ca.js,sha256=mBgNUjaTBNgIKOpZj722mh1ojg1CNIYRBPiupStSS6s,165
|
164
|
-
khoj/interface/compiled/_next/static/chunks/app/search/page-
|
162
|
+
khoj/interface/compiled/_next/static/chunks/app/search/page-4f44549ba3807021.js,sha256=3O3gUM_ALtxAqNVAwQ9X_FDedXFYEcNWEqndayZeTBY,6958
|
165
163
|
khoj/interface/compiled/_next/static/chunks/app/settings/layout-254eaaf916449a60.js,sha256=kHAKleDbNFfhNM3e1WLJm3OFw6PDtGcjyj5toO24vps,5347
|
166
|
-
khoj/interface/compiled/_next/static/chunks/app/settings/page-
|
164
|
+
khoj/interface/compiled/_next/static/chunks/app/settings/page-5591490850437232.js,sha256=p0kRFoAYcSHSxG2y8JOaUBU-Xc__jwCIbYrUs_NEJu8,32149
|
167
165
|
khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-cf7445cf0326bda3.js,sha256=W3axh1K4y-pLSXcXogLl4qLKXr5BZLY1uA7JfSWp5TU,373
|
168
|
-
khoj/interface/compiled/_next/static/chunks/app/share/chat/page-
|
166
|
+
khoj/interface/compiled/_next/static/chunks/app/share/chat/page-4a4c0f199b89bd80.js,sha256=lj2nwWtCd_NUCCTc9jmBBBvO5U5m2VVEUGkdnnpSRu8,4375
|
169
167
|
khoj/interface/compiled/_next/static/chunks/pages/_app-f870474a17b7f2fd.js,sha256=eqdFPAN_XFyMUzZ9qwFk-_rhMWZrU7lgNVt1foVUANo,286
|
170
168
|
khoj/interface/compiled/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js,sha256=vjERjtMAbVk-19LyPf1Jc-H6TMcrSznSz6brzNqbqf8,253
|
171
169
|
khoj/interface/compiled/_next/static/css/0e9d53dcd7f11342.css,sha256=52_LSJ59Vwm1p2UpcDXEvq99pTjz2sW4EjF5iKf-dzs,2622
|
172
170
|
khoj/interface/compiled/_next/static/css/1f293605f2871853.css,sha256=G2b3Wx4e0DRBWSdNU20ivCChZI5HBzvPYUVVIdTRjLc,26590
|
173
|
-
khoj/interface/compiled/_next/static/css/
|
171
|
+
khoj/interface/compiled/_next/static/css/2ff098d0815fdbc1.css,sha256=F-uRnbKKlMZq5eMcvFZtUOCTgC6n_uNE6fuaHU4CBak,8829
|
174
172
|
khoj/interface/compiled/_next/static/css/3cf13271869a4aeb.css,sha256=sGjJTeMeN6wbQF4OCPgWYgJmSLLSHyzIH2rSVstWx7k,1857
|
175
|
-
khoj/interface/compiled/_next/static/css/
|
173
|
+
khoj/interface/compiled/_next/static/css/4cae6c0e5c72fb2d.css,sha256=3CjTMmtMrm_MYt1ywtUh2MHEjSLSl356SQLl4hdBuYw,534
|
176
174
|
khoj/interface/compiled/_next/static/css/5a400c87d295e68a.css,sha256=ojDUPJ9fJpEo9DzTAsEa-k1cg7Bef-nSTfpszMiqknQ,17711
|
177
175
|
khoj/interface/compiled/_next/static/css/80bd6301fc657983.css,sha256=T7_aQHcWpQBQLKadauHNzjYGw713FtRNTlUqmJjsL6I,1634
|
178
176
|
khoj/interface/compiled/_next/static/css/ed437164d77aa600.css,sha256=l7axYkpTLwbVjhTCUNh8BWdkBom06sG-JrpDX5vSPUU,3056024
|
@@ -248,8 +246,10 @@ khoj/interface/compiled/_next/static/media/flags.3afdda2f.webp,sha256=M2AW_HLpBn
|
|
248
246
|
khoj/interface/compiled/_next/static/media/flags@2x.5fbe9fc1.webp,sha256=BBeRPBZkxY3-aKkMnYv5TSkxmbeMbyUH4VRIPfrWg1E,137406
|
249
247
|
khoj/interface/compiled/_next/static/media/globe.98e105ca.webp,sha256=g3ofb8-W9GM75zIhlvQhaS8I2py9TtrovOKR3_7Jf04,514
|
250
248
|
khoj/interface/compiled/_next/static/media/globe@2x.974df6f8.webp,sha256=I_N7Yke3IOoS-0CC6XD8o0IUWG8PdPbrHmf6lpgWlZY,1380
|
251
|
-
khoj/interface/compiled/
|
252
|
-
khoj/interface/compiled/
|
249
|
+
khoj/interface/compiled/_next/static/wjSO2ckeClcVcMhOwfAVy/_buildManifest.js,sha256=6I9QUstNpJnhe3leR2Daw0pSXwzcbBscv6h2jmmPpms,224
|
250
|
+
khoj/interface/compiled/_next/static/wjSO2ckeClcVcMhOwfAVy/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
|
251
|
+
khoj/interface/compiled/agents/index.html,sha256=tNuIDzmYmqaQ35EHZMgahRlFn4zNd9smYsgBdm5dZn8,12658
|
252
|
+
khoj/interface/compiled/agents/index.txt,sha256=wkY2wTcUUg3vPw7g04M9_jM2QODp7NhpIHN5fq8AH4E,6045
|
253
253
|
khoj/interface/compiled/assets/icons/khoj_lantern.ico,sha256=eggu-B_v3z1R53EjOFhIqqPnICBGdoaw1xnc0NrzHck,174144
|
254
254
|
khoj/interface/compiled/assets/icons/khoj_lantern_128x128.png,sha256=aTxivDb3CYyThkVZWz8A19xl_dNut5DbkXhODWF3A9Q,5640
|
255
255
|
khoj/interface/compiled/assets/icons/khoj_lantern_256x256.png,sha256=xPCMLHiaL7lYOdQLZrKwWE-Qjn5ZaysSZB0ScYv4UZU,12312
|
@@ -260,16 +260,16 @@ khoj/interface/compiled/assets/samples/desktop-remember-plan-sample.png,sha256=i
|
|
260
260
|
khoj/interface/compiled/assets/samples/phone-browse-draw-sample.png,sha256=Dd4fPwtFl6BWqnHjeb1mCK_ND0hhHsWtx8sNE7EiMuE,406179
|
261
261
|
khoj/interface/compiled/assets/samples/phone-plain-chat-sample.png,sha256=DEDaNRCkfEWUeh3kYZWIQDTVK1a6KKnYdwj5ZWisN_Q,82985
|
262
262
|
khoj/interface/compiled/assets/samples/phone-remember-plan-sample.png,sha256=Ma3blirRmq3X4oYSsDbbT7MDn29rymDrjwmUfA9BMuM,236285
|
263
|
-
khoj/interface/compiled/automations/index.html,sha256=
|
264
|
-
khoj/interface/compiled/automations/index.txt,sha256=
|
265
|
-
khoj/interface/compiled/chat/index.html,sha256=
|
266
|
-
khoj/interface/compiled/chat/index.txt,sha256=
|
267
|
-
khoj/interface/compiled/search/index.html,sha256=
|
268
|
-
khoj/interface/compiled/search/index.txt,sha256=
|
269
|
-
khoj/interface/compiled/settings/index.html,sha256=
|
270
|
-
khoj/interface/compiled/settings/index.txt,sha256=
|
271
|
-
khoj/interface/compiled/share/chat/index.html,sha256=
|
272
|
-
khoj/interface/compiled/share/chat/index.txt,sha256=
|
263
|
+
khoj/interface/compiled/automations/index.html,sha256=tkyygK9lJZEyPpcopl4AAgIcYG6g4ceQl5Y-0F3bETc,30941
|
264
|
+
khoj/interface/compiled/automations/index.txt,sha256=XDEAaYXIaxa-8extvoLAJDVw_mAhDv_wiJSRqh5d6uY,5633
|
265
|
+
khoj/interface/compiled/chat/index.html,sha256=0YKqUlBMYT48_RygmpFpK9-hUw73KEtKef-nQPW_vq8,13857
|
266
|
+
khoj/interface/compiled/chat/index.txt,sha256=eXMXA45qulYAij8YvtQFKAUAIioK4ljTxj5uiFCrCxg,6588
|
267
|
+
khoj/interface/compiled/search/index.html,sha256=SqI56JBJ7v-incSpU9KnNgVx1dSP3TyRPiZmcqMDUYs,30161
|
268
|
+
khoj/interface/compiled/search/index.txt,sha256=1K1mIE4svN8VYseqmrynDa_pYGe7LGh_SXVbKQcCkYw,5256
|
269
|
+
khoj/interface/compiled/settings/index.html,sha256=Ee1gCgn77h43GT7YNu0_IwOR4JMjhl_h8MOFPxsKqfA,12831
|
270
|
+
khoj/interface/compiled/settings/index.txt,sha256=UBEpB2qwRiLw7YePvjK78DHrMjKSfpCenY9Rad3ERwE,6078
|
271
|
+
khoj/interface/compiled/share/chat/index.html,sha256=8J5CbMwKuLiQnGwsXKhrSb0I0VknbUkofnLi3z5yLAs,15154
|
272
|
+
khoj/interface/compiled/share/chat/index.txt,sha256=tKdd3Ez-dbJ7KV1a_l1VfOwhLXXIgZvn5j4kN1ZKgQo,7385
|
273
273
|
khoj/interface/email/feedback.html,sha256=xksuPFamx4hGWyTTxZKRgX_eiYQQEuv-eK9Xmkt-nwU,1216
|
274
274
|
khoj/interface/email/magic_link.html,sha256=EoGKQucfPj3xQrWXhSZAzPFOYCHF_ZX94TWCd1XHl1M,941
|
275
275
|
khoj/interface/email/task.html,sha256=tY7a0gzVeQ2lSQNu7WyXR_s7VYeWTrxWEj1iHVuoVE4,2813
|
@@ -320,7 +320,7 @@ khoj/processor/content/pdf/pdf_to_entries.py,sha256=GQUvab61okhV9_DK0g2MCrMq8wKp
|
|
320
320
|
khoj/processor/content/plaintext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
321
321
|
khoj/processor/content/plaintext/plaintext_to_entries.py,sha256=wFZwK_zIc7gWbRtO9sOHo9KvfhGAzL9psX_nKWYFduo,4975
|
322
322
|
khoj/processor/conversation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
323
|
-
khoj/processor/conversation/prompts.py,sha256=
|
323
|
+
khoj/processor/conversation/prompts.py,sha256=MwJLoX2xlLYw4MtyLMq9Lo7p4vOHih3bcXDmIiDPCHM,48922
|
324
324
|
khoj/processor/conversation/utils.py,sha256=2gbglhzKMEuldL0P9Y6miCF8BNooiEgFFNdgc8lvneQ,27870
|
325
325
|
khoj/processor/conversation/anthropic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
326
326
|
khoj/processor/conversation/anthropic/anthropic_chat.py,sha256=8w7oSTBIxcZa6y03Zo2nuQFa2WMiazwK_qfO2q_O-6c,8618
|
@@ -345,14 +345,14 @@ khoj/processor/tools/run_code.py,sha256=i9ce53dw0y5ZNhPorRNYJieIKw6eyrZQX0ABDrWi
|
|
345
345
|
khoj/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
346
346
|
khoj/routers/api.py,sha256=_AI1pnQMQM75L6WVZSAVfvrk04pLEdLbHA0fkyxnUbo,28489
|
347
347
|
khoj/routers/api_agents.py,sha256=vHPruCjlQxGBdm0lcmymEb9-aAELqbOplqh21WwD0DQ,9699
|
348
|
-
khoj/routers/api_chat.py,sha256=
|
348
|
+
khoj/routers/api_chat.py,sha256=QQA2hg_TL_kShFHWPdCXmauftLNkvknwWyDJMtXLDkE,49193
|
349
349
|
khoj/routers/api_content.py,sha256=WNlB6lVwRW8hHDthO2HypbpPvqrqt9rTU5oMRNknpMU,21070
|
350
350
|
khoj/routers/api_model.py,sha256=KDsxNwHspC94eTcv6l3ehr773EOvgc670UnZLE1WZ4o,3642
|
351
351
|
khoj/routers/api_phone.py,sha256=p9yfc4WeMHDC0hg3aQk60a2VBy8rZPdEnz9wdJ7DzkU,2208
|
352
352
|
khoj/routers/api_subscription.py,sha256=J6xZNZDdOA71vCfethlPfAyfvRBq4HGCBpbsOZ9CWj0,5333
|
353
353
|
khoj/routers/auth.py,sha256=HO54PR-BkWA_iJIktEobUrObcXVYG-00jpnIcEVdR5s,6564
|
354
354
|
khoj/routers/email.py,sha256=SGYNPQvfcvYeHf70F0YqpY0FLMRElF2ZekROXdwGI18,3821
|
355
|
-
khoj/routers/helpers.py,sha256=
|
355
|
+
khoj/routers/helpers.py,sha256=6WWUxNyUJQFkovdSVh-0vFLB-qGpG5HwOBeI58OU-NE,81487
|
356
356
|
khoj/routers/notion.py,sha256=g53xyYFmjr2JnuIrTW2vytbfkiK_UkoRTxqnnLSmD5o,2802
|
357
357
|
khoj/routers/research.py,sha256=SczFMS9a8_Wxhh3n_Zt9CJ-zZugBDAd_WmiZGFa6RR8,16117
|
358
358
|
khoj/routers/storage.py,sha256=tJrwhFRVWv0MHv7V7huMc1Diwm-putZSwnZXJ3tqT_c,2338
|
@@ -370,15 +370,15 @@ khoj/utils/cli.py,sha256=EA7IvWAInUIll8YFTOpQtqLtCQXwphfHi5rJ2TKAdSQ,3757
|
|
370
370
|
khoj/utils/config.py,sha256=aiOkH0je8A30DAGYTHMRePrgJonFv_i07_7CdhhhcdA,1805
|
371
371
|
khoj/utils/constants.py,sha256=DNts_NN4ZL9nRCA9KH3ZD_6PBK9VVggtun79pQxzNnU,1219
|
372
372
|
khoj/utils/fs_syncer.py,sha256=5nqwAZqRk3Nwhkwd8y4IomTPZQmW32GwAqyMzal5KyY,9996
|
373
|
-
khoj/utils/helpers.py,sha256=
|
373
|
+
khoj/utils/helpers.py,sha256=tdwRlkI5IqOr07cxw4zKindR3hSn6cGthPYHSXs2BcU,20239
|
374
374
|
khoj/utils/initialization.py,sha256=nJtqPUv52SPA6sPHn0_vs1uSBdDihX25Dvvagu81Xbs,13490
|
375
375
|
khoj/utils/jsonl.py,sha256=0Ac_COqr8sLCXntzZtquxuCEVRM2c3yKeDRGhgOBRpQ,1192
|
376
376
|
khoj/utils/models.py,sha256=Q5tcC9-z25sCiub048fLnvZ6_IIO1bcPNxt5payekk0,2009
|
377
377
|
khoj/utils/rawconfig.py,sha256=bQ_MGbBzYt6ZUIsHUwZjaHKDLh6GQ7h-sENkv3fyVbQ,5028
|
378
378
|
khoj/utils/state.py,sha256=KtUEIKAZdGGN_Qr58RS1pgcywgSafun8YIXx-YEclAY,1645
|
379
379
|
khoj/utils/yaml.py,sha256=qy1Tkc61rDMesBw_Cyx2vOR6H-Hngcsm5kYfjwQBwkE,1543
|
380
|
-
khoj-1.
|
381
|
-
khoj-1.
|
382
|
-
khoj-1.
|
383
|
-
khoj-1.
|
384
|
-
khoj-1.
|
380
|
+
khoj-1.30.1.dev3.dist-info/METADATA,sha256=LPiIpAfOMAASEAzRFOHt7VCdmqvn_fXIVmBKZ83tctY,7119
|
381
|
+
khoj-1.30.1.dev3.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
|
382
|
+
khoj-1.30.1.dev3.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
|
383
|
+
khoj-1.30.1.dev3.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
|
384
|
+
khoj-1.30.1.dev3.dist-info/RECORD,,
|