khoj 1.24.2.dev19__py3-none-any.whl → 1.24.2.dev33__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.
Files changed (40) hide show
  1. khoj/database/adapters/__init__.py +27 -15
  2. khoj/interface/compiled/404/index.html +1 -1
  3. khoj/interface/compiled/_next/static/chunks/app/agents/page-25b91e88abb7f976.js +1 -0
  4. khoj/interface/compiled/_next/static/chunks/{webpack-c4376b110507dd22.js → webpack-2651a68f46ac3cb7.js} +1 -1
  5. khoj/interface/compiled/agents/index.html +1 -1
  6. khoj/interface/compiled/agents/index.txt +2 -2
  7. khoj/interface/compiled/automations/index.html +1 -1
  8. khoj/interface/compiled/automations/index.txt +1 -1
  9. khoj/interface/compiled/chat/index.html +1 -1
  10. khoj/interface/compiled/chat/index.txt +2 -2
  11. khoj/interface/compiled/factchecker/index.html +1 -1
  12. khoj/interface/compiled/factchecker/index.txt +2 -2
  13. khoj/interface/compiled/index.html +1 -1
  14. khoj/interface/compiled/index.txt +2 -2
  15. khoj/interface/compiled/search/index.html +1 -1
  16. khoj/interface/compiled/search/index.txt +2 -2
  17. khoj/interface/compiled/settings/index.html +1 -1
  18. khoj/interface/compiled/settings/index.txt +1 -1
  19. khoj/interface/compiled/share/chat/index.html +1 -1
  20. khoj/interface/compiled/share/chat/index.txt +2 -2
  21. khoj/processor/conversation/google/gemini_chat.py +4 -19
  22. khoj/processor/conversation/google/utils.py +29 -15
  23. khoj/processor/conversation/prompts.py +14 -3
  24. khoj/processor/conversation/utils.py +3 -7
  25. khoj/processor/embeddings.py +5 -3
  26. khoj/routers/api_chat.py +33 -18
  27. khoj/routers/helpers.py +11 -3
  28. khoj/utils/helpers.py +8 -8
  29. {khoj-1.24.2.dev19.dist-info → khoj-1.24.2.dev33.dist-info}/METADATA +1 -1
  30. {khoj-1.24.2.dev19.dist-info → khoj-1.24.2.dev33.dist-info}/RECORD +39 -39
  31. khoj/interface/compiled/_next/static/chunks/app/agents/page-4005bd96041d20f5.js +0 -1
  32. /khoj/interface/compiled/_next/static/chunks/{9178-f208a3e6404714a9.js → 9178-899fe9a6b754ecfe.js} +0 -0
  33. /khoj/interface/compiled/_next/static/chunks/{9417-1d158bf46d3a0dc9.js → 9417-29502e39c3e7d60c.js} +0 -0
  34. /khoj/interface/compiled/_next/static/chunks/{9479-563e4d61f91d5a7c.js → 9479-7eed36fc954ef804.js} +0 -0
  35. /khoj/interface/compiled/_next/static/chunks/app/{page-421d13f70c505dd9.js → page-10a5aad6e04f3cf8.js} +0 -0
  36. /khoj/interface/compiled/_next/static/{-g-BSlwy2eTVtQIJDFFXi → lHwFhwhZGEZT4IMv1TNBH}/_buildManifest.js +0 -0
  37. /khoj/interface/compiled/_next/static/{-g-BSlwy2eTVtQIJDFFXi → lHwFhwhZGEZT4IMv1TNBH}/_ssgManifest.js +0 -0
  38. {khoj-1.24.2.dev19.dist-info → khoj-1.24.2.dev33.dist-info}/WHEEL +0 -0
  39. {khoj-1.24.2.dev19.dist-info → khoj-1.24.2.dev33.dist-info}/entry_points.txt +0 -0
  40. {khoj-1.24.2.dev19.dist-info → khoj-1.24.2.dev33.dist-info}/licenses/LICENSE +0 -0
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/0e790e04fd40ad16-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/1538cedb321e3a97.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/7a2b0a2d7c3d86eb.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/c808691c459e3887.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/2de69f0be774c768.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/2272c73fc7a3b571.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-c4376b110507dd22.js"/><script src="/_next/static/chunks/fd9d1056-2b978342deb60015.js" async=""></script><script src="/_next/static/chunks/7023-a5bf5744d19b3bd3.js" async=""></script><script src="/_next/static/chunks/main-app-6d6ee3495efe03d4.js" async=""></script><script src="/_next/static/chunks/d3ac728e-a9e3522eef9b6b28.js" async=""></script><script src="/_next/static/chunks/9001-3b27af6d5f21df44.js" async=""></script><script src="/_next/static/chunks/3062-71ed4b46ac2bb87c.js" async=""></script><script src="/_next/static/chunks/4086-2c74808ba38a5a0f.js" async=""></script><script src="/_next/static/chunks/121-7024f479c297aef0.js" async=""></script><script src="/_next/static/chunks/3110-ef2cacd1b8d79ad8.js" async=""></script><script src="/_next/static/chunks/4051-2cf66369d6ca0f1d.js" async=""></script><script src="/_next/static/chunks/1603-67a89278e2c5dbe6.js" async=""></script><script src="/_next/static/chunks/9417-1d158bf46d3a0dc9.js" async=""></script><script src="/_next/static/chunks/9178-f208a3e6404714a9.js" async=""></script><script src="/_next/static/chunks/9479-563e4d61f91d5a7c.js" async=""></script><script src="/_next/static/chunks/2697-a38d01981ad3bdf8.js" async=""></script><script src="/_next/static/chunks/app/share/chat/page-fbbd66a4d4633438.js" async=""></script><meta http-equiv="Content-Security-Policy" content="default-src &#x27;self&#x27; https://assets.khoj.dev; media-src * blob:; script-src &#x27;self&#x27; https://assets.khoj.dev &#x27;unsafe-inline&#x27; &#x27;unsafe-eval&#x27;; connect-src &#x27;self&#x27; blob: https://ipapi.co/json ws://localhost:42110; style-src &#x27;self&#x27; https://assets.khoj.dev &#x27;unsafe-inline&#x27; https://fonts.googleapis.com; img-src &#x27;self&#x27; data: blob: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src &#x27;self&#x27; https://assets.khoj.dev https://fonts.gstatic.com; child-src &#x27;none&#x27;; object-src &#x27;none&#x27;;"/><meta http-equiv="Content-Security-Policy" content="default-src &#x27;self&#x27; https://assets.khoj.dev; script-src &#x27;self&#x27; https://assets.khoj.dev &#x27;unsafe-inline&#x27; &#x27;unsafe-eval&#x27;; connect-src &#x27;self&#x27; blob: https://ipapi.co/json ws://localhost:42110; style-src &#x27;self&#x27; https://assets.khoj.dev &#x27;unsafe-inline&#x27; https://fonts.googleapis.com; img-src &#x27;self&#x27; data: blob: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src &#x27;self&#x27; https://assets.khoj.dev https://fonts.gstatic.com; child-src &#x27;none&#x27;; object-src &#x27;none&#x27;;"/><title>Khoj AI - Chat</title><meta name="description" content="Use this page to view a chat with Khoj AI."/><link rel="manifest" href="/static/khoj.webmanifest" crossorigin="use-credentials"/><meta property="og:title" content="Khoj AI - Home"/><meta property="og:description" content="Your Second Brain."/><meta property="og:url" content="https://app.khoj.dev/"/><meta property="og:site_name" content="Khoj AI"/><meta property="og:image" content="https://assets.khoj.dev/khoj_lantern_256x256.png"/><meta property="og:image:width" content="256"/><meta property="og:image:height" content="256"/><meta property="og:image" content="https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Khoj AI - Home"/><meta name="twitter:description" content="Your Second Brain."/><meta name="twitter:image" content="https://assets.khoj.dev/khoj_lantern_256x256.png"/><meta name="twitter:image:width" content="256"/><meta name="twitter:image:height" content="256"/><meta name="twitter:image" content="https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png"/><meta name="twitter:image:width" content="1200"/><meta name="twitter:image:height" content="630"/><link rel="icon" href="/static/assets/icons/khoj_lantern.ico"/><link rel="apple-touch-icon" href="/static/assets/icons/khoj_lantern_256x256.png"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js" noModule=""></script></head><body class="__className_90df87"><html lang="en"><body class="__className_90df87"><div class="bg-background opacity-50 flex items-center justify-center h-screen"><div>Loading<!-- --> <span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="inline animate-spin h-5 w-5"><path d="M232,128a104,104,0,0,1-208,0c0-41,23.81-78.36,60.66-95.27a8,8,0,0,1,6.68,14.54C60.15,61.59,40,93.27,40,128a88,88,0,0,0,176,0c0-34.73-20.15-66.41-51.34-80.73a8,8,0,0,1,6.68-14.54C208.19,49.64,232,87,232,128Z"></path></svg></span></div></div><script src="/_next/static/chunks/webpack-c4376b110507dd22.js" async=""></script></body></html><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/media/0e790e04fd40ad16-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/css/1538cedb321e3a97.css\",\"style\"]\n3:HL[\"/_next/static/css/7a2b0a2d7c3d86eb.css\",\"style\"]\n4:HL[\"/_next/static/css/c808691c459e3887.css\",\"style\"]\n5:HL[\"/_next/static/css/2de69f0be774c768.css\",\"style\"]\n6:HL[\"/_next/static/css/2272c73fc7a3b571.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"7:I[95751,[],\"\"]\n9:I[66513,[],\"ClientPageRoot\"]\na:I[5506,[\"3954\",\"static/chunks/d3ac728e-a9e3522eef9b6b28.js\",\"9001\",\"static/chunks/9001-3b27af6d5f21df44.js\",\"3062\",\"static/chunks/3062-71ed4b46ac2bb87c.js\",\"4086\",\"static/chunks/4086-2c74808ba38a5a0f.js\",\"121\",\"static/chunks/121-7024f479c297aef0.js\",\"3110\",\"static/chunks/3110-ef2cacd1b8d79ad8.js\",\"4051\",\"static/chunks/4051-2cf66369d6ca0f1d.js\",\"1603\",\"static/chunks/1603-67a89278e2c5dbe6.js\",\"9417\",\"static/chunks/9417-1d158bf46d3a0dc9.js\",\"9178\",\"static/chunks/9178-f208a3e6404714a9.js\",\"9479\",\"static/chunks/9479-563e4d61f91d5a7c.js\",\"2697\",\"static/chunks/2697-a38d01981ad3bdf8.js\",\"3111\",\"static/chunks/app/share/chat/page-fbbd66a4d4633438.js\"],\"default\",1]\nb:I[39275,[],\"\"]\nc:I[61343,[],\"\"]\ne:I[76130,[],\"\"]\nf:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L7\",null,{\"buildId\":\"-g-BSlwy2eTVtQIJDFFXi\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"share\",\"chat\",\"\"],\"initialTree\":[\"\",{\"children\":[\"share\",{\"children\":[\"chat\",{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"share\",{\"children\":[\"chat\",{\"children\":[\"__PAGE__\",{},[[\"$L8\",[\"$\",\"$L9\",null,{\"props\":{\"params\":{},\"searchParams\":{}},\"Component\":\"$a\"}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c808691c459e3887.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/2de69f0be774c768.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/2272c73fc7a3b571.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]]],null],null]},[[null,[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"meta\",null,{\"httpEquiv\":\"Content-Security-Policy\",\"content\":\"default-src 'self' https://assets.khoj.dev; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' blob: https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: blob: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';\"}],[\"$\",\"body\",null,{\"className\":\"__className_90df87\",\"children\":[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"share\",\"children\",\"chat\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lc\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]}]]}]],null],null]},[null,[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"share\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lc\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1538cedb321e3a97.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/7a2b0a2d7c3d86eb.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"meta\",null,{\"httpEquiv\":\"Content-Security-Policy\",\"content\":\"default-src 'self' https://assets.khoj.dev; media-src * blob:; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' blob: https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: blob: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';\"}],[\"$\",\"body\",null,{\"className\":\"__className_90df87\",\"children\":[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lc\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$Ld\"],\"globalErrorComponent\":\"$e\",\"missingSlots\":\"$Wf\"}]\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Khoj AI - Chat\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Use this page to view a chat with Khoj AI.\"}],[\"$\",\"link\",\"4\",{\"rel\":\"manifest\",\"href\":\"/static/khoj.webmanifest\",\"crossOrigin\":\"use-credentials\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:title\",\"content\":\"Khoj AI - Home\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:description\",\"content\":\"Your Second Brain.\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:url\",\"content\":\"https://app.khoj.dev/\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:site_name\",\"content\":\"Khoj AI\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_256x256.png\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:image:width\",\"content\":\"256\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:image:height\",\"content\":\"256\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:title\",\"content\":\"Khoj AI - Home\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:description\",\"content\":\"Your Second Brain.\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_256x256.png\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:image:width\",\"content\":\"256\"}],[\"$\",\"meta\",\"21\",{\"name\":\"twitter:image:height\",\"content\":\"256\"}],[\"$\",\"meta\",\"22\",{\"name\":\"twitter:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png\"}],[\"$\",\"meta\",\"23\",{\"name\":\"twitter:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"24\",{\"name\":\"twitter:image:height\",\"content\":\"630\"}],[\"$\",\"link\",\"25\",{\"rel\":\"icon\",\"href\":\"/static/assets/icons/khoj_lantern.ico\"}],[\"$\",\"link\",\"26\",{\"rel\":\"apple-touch-icon\",\"href\":\"/static/assets/icons/khoj_lantern_256x256.png\"}],[\"$\",\"meta\",\"27\",{\"name\":\"next-size-adjust\"}]]\n"])</script><script>self.__next_f.push([1,"8:null\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/0e790e04fd40ad16-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/1538cedb321e3a97.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/7a2b0a2d7c3d86eb.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/c808691c459e3887.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/2de69f0be774c768.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/2272c73fc7a3b571.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-2651a68f46ac3cb7.js"/><script src="/_next/static/chunks/fd9d1056-2b978342deb60015.js" async=""></script><script src="/_next/static/chunks/7023-a5bf5744d19b3bd3.js" async=""></script><script src="/_next/static/chunks/main-app-6d6ee3495efe03d4.js" async=""></script><script src="/_next/static/chunks/d3ac728e-a9e3522eef9b6b28.js" async=""></script><script src="/_next/static/chunks/9001-3b27af6d5f21df44.js" async=""></script><script src="/_next/static/chunks/3062-71ed4b46ac2bb87c.js" async=""></script><script src="/_next/static/chunks/4086-2c74808ba38a5a0f.js" async=""></script><script src="/_next/static/chunks/121-7024f479c297aef0.js" async=""></script><script src="/_next/static/chunks/3110-ef2cacd1b8d79ad8.js" async=""></script><script src="/_next/static/chunks/4051-2cf66369d6ca0f1d.js" async=""></script><script src="/_next/static/chunks/1603-67a89278e2c5dbe6.js" async=""></script><script src="/_next/static/chunks/9417-29502e39c3e7d60c.js" async=""></script><script src="/_next/static/chunks/9178-899fe9a6b754ecfe.js" async=""></script><script src="/_next/static/chunks/9479-7eed36fc954ef804.js" async=""></script><script src="/_next/static/chunks/2697-a38d01981ad3bdf8.js" async=""></script><script src="/_next/static/chunks/app/share/chat/page-fbbd66a4d4633438.js" async=""></script><meta http-equiv="Content-Security-Policy" content="default-src &#x27;self&#x27; https://assets.khoj.dev; media-src * blob:; script-src &#x27;self&#x27; https://assets.khoj.dev &#x27;unsafe-inline&#x27; &#x27;unsafe-eval&#x27;; connect-src &#x27;self&#x27; blob: https://ipapi.co/json ws://localhost:42110; style-src &#x27;self&#x27; https://assets.khoj.dev &#x27;unsafe-inline&#x27; https://fonts.googleapis.com; img-src &#x27;self&#x27; data: blob: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src &#x27;self&#x27; https://assets.khoj.dev https://fonts.gstatic.com; child-src &#x27;none&#x27;; object-src &#x27;none&#x27;;"/><meta http-equiv="Content-Security-Policy" content="default-src &#x27;self&#x27; https://assets.khoj.dev; script-src &#x27;self&#x27; https://assets.khoj.dev &#x27;unsafe-inline&#x27; &#x27;unsafe-eval&#x27;; connect-src &#x27;self&#x27; blob: https://ipapi.co/json ws://localhost:42110; style-src &#x27;self&#x27; https://assets.khoj.dev &#x27;unsafe-inline&#x27; https://fonts.googleapis.com; img-src &#x27;self&#x27; data: blob: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src &#x27;self&#x27; https://assets.khoj.dev https://fonts.gstatic.com; child-src &#x27;none&#x27;; object-src &#x27;none&#x27;;"/><title>Khoj AI - Chat</title><meta name="description" content="Use this page to view a chat with Khoj AI."/><link rel="manifest" href="/static/khoj.webmanifest" crossorigin="use-credentials"/><meta property="og:title" content="Khoj AI - Home"/><meta property="og:description" content="Your Second Brain."/><meta property="og:url" content="https://app.khoj.dev/"/><meta property="og:site_name" content="Khoj AI"/><meta property="og:image" content="https://assets.khoj.dev/khoj_lantern_256x256.png"/><meta property="og:image:width" content="256"/><meta property="og:image:height" content="256"/><meta property="og:image" content="https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Khoj AI - Home"/><meta name="twitter:description" content="Your Second Brain."/><meta name="twitter:image" content="https://assets.khoj.dev/khoj_lantern_256x256.png"/><meta name="twitter:image:width" content="256"/><meta name="twitter:image:height" content="256"/><meta name="twitter:image" content="https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png"/><meta name="twitter:image:width" content="1200"/><meta name="twitter:image:height" content="630"/><link rel="icon" href="/static/assets/icons/khoj_lantern.ico"/><link rel="apple-touch-icon" href="/static/assets/icons/khoj_lantern_256x256.png"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js" noModule=""></script></head><body class="__className_90df87"><html lang="en"><body class="__className_90df87"><div class="bg-background opacity-50 flex items-center justify-center h-screen"><div>Loading<!-- --> <span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="inline animate-spin h-5 w-5"><path d="M232,128a104,104,0,0,1-208,0c0-41,23.81-78.36,60.66-95.27a8,8,0,0,1,6.68,14.54C60.15,61.59,40,93.27,40,128a88,88,0,0,0,176,0c0-34.73-20.15-66.41-51.34-80.73a8,8,0,0,1,6.68-14.54C208.19,49.64,232,87,232,128Z"></path></svg></span></div></div><script src="/_next/static/chunks/webpack-2651a68f46ac3cb7.js" async=""></script></body></html><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/media/0e790e04fd40ad16-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/css/1538cedb321e3a97.css\",\"style\"]\n3:HL[\"/_next/static/css/7a2b0a2d7c3d86eb.css\",\"style\"]\n4:HL[\"/_next/static/css/c808691c459e3887.css\",\"style\"]\n5:HL[\"/_next/static/css/2de69f0be774c768.css\",\"style\"]\n6:HL[\"/_next/static/css/2272c73fc7a3b571.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"7:I[95751,[],\"\"]\n9:I[66513,[],\"ClientPageRoot\"]\na:I[5506,[\"3954\",\"static/chunks/d3ac728e-a9e3522eef9b6b28.js\",\"9001\",\"static/chunks/9001-3b27af6d5f21df44.js\",\"3062\",\"static/chunks/3062-71ed4b46ac2bb87c.js\",\"4086\",\"static/chunks/4086-2c74808ba38a5a0f.js\",\"121\",\"static/chunks/121-7024f479c297aef0.js\",\"3110\",\"static/chunks/3110-ef2cacd1b8d79ad8.js\",\"4051\",\"static/chunks/4051-2cf66369d6ca0f1d.js\",\"1603\",\"static/chunks/1603-67a89278e2c5dbe6.js\",\"9417\",\"static/chunks/9417-29502e39c3e7d60c.js\",\"9178\",\"static/chunks/9178-899fe9a6b754ecfe.js\",\"9479\",\"static/chunks/9479-7eed36fc954ef804.js\",\"2697\",\"static/chunks/2697-a38d01981ad3bdf8.js\",\"3111\",\"static/chunks/app/share/chat/page-fbbd66a4d4633438.js\"],\"default\",1]\nb:I[39275,[],\"\"]\nc:I[61343,[],\"\"]\ne:I[76130,[],\"\"]\nf:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L7\",null,{\"buildId\":\"lHwFhwhZGEZT4IMv1TNBH\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"share\",\"chat\",\"\"],\"initialTree\":[\"\",{\"children\":[\"share\",{\"children\":[\"chat\",{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"share\",{\"children\":[\"chat\",{\"children\":[\"__PAGE__\",{},[[\"$L8\",[\"$\",\"$L9\",null,{\"props\":{\"params\":{},\"searchParams\":{}},\"Component\":\"$a\"}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c808691c459e3887.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/2de69f0be774c768.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/2272c73fc7a3b571.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]]],null],null]},[[null,[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"meta\",null,{\"httpEquiv\":\"Content-Security-Policy\",\"content\":\"default-src 'self' https://assets.khoj.dev; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' blob: https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: blob: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';\"}],[\"$\",\"body\",null,{\"className\":\"__className_90df87\",\"children\":[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"share\",\"children\",\"chat\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lc\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]}]]}]],null],null]},[null,[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"share\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lc\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1538cedb321e3a97.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/7a2b0a2d7c3d86eb.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"meta\",null,{\"httpEquiv\":\"Content-Security-Policy\",\"content\":\"default-src 'self' https://assets.khoj.dev; media-src * blob:; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' blob: https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: blob: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';\"}],[\"$\",\"body\",null,{\"className\":\"__className_90df87\",\"children\":[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lc\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$Ld\"],\"globalErrorComponent\":\"$e\",\"missingSlots\":\"$Wf\"}]\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Khoj AI - Chat\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Use this page to view a chat with Khoj AI.\"}],[\"$\",\"link\",\"4\",{\"rel\":\"manifest\",\"href\":\"/static/khoj.webmanifest\",\"crossOrigin\":\"use-credentials\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:title\",\"content\":\"Khoj AI - Home\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:description\",\"content\":\"Your Second Brain.\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:url\",\"content\":\"https://app.khoj.dev/\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:site_name\",\"content\":\"Khoj AI\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_256x256.png\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:image:width\",\"content\":\"256\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:image:height\",\"content\":\"256\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:title\",\"content\":\"Khoj AI - Home\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:description\",\"content\":\"Your Second Brain.\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_256x256.png\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:image:width\",\"content\":\"256\"}],[\"$\",\"meta\",\"21\",{\"name\":\"twitter:image:height\",\"content\":\"256\"}],[\"$\",\"meta\",\"22\",{\"name\":\"twitter:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png\"}],[\"$\",\"meta\",\"23\",{\"name\":\"twitter:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"24\",{\"name\":\"twitter:image:height\",\"content\":\"630\"}],[\"$\",\"link\",\"25\",{\"rel\":\"icon\",\"href\":\"/static/assets/icons/khoj_lantern.ico\"}],[\"$\",\"link\",\"26\",{\"rel\":\"apple-touch-icon\",\"href\":\"/static/assets/icons/khoj_lantern_256x256.png\"}],[\"$\",\"meta\",\"27\",{\"name\":\"next-size-adjust\"}]]\n"])</script><script>self.__next_f.push([1,"8:null\n"])</script></body></html>
@@ -1,7 +1,7 @@
1
1
  2:I[66513,[],"ClientPageRoot"]
2
- 3:I[5506,["3954","static/chunks/d3ac728e-a9e3522eef9b6b28.js","9001","static/chunks/9001-3b27af6d5f21df44.js","3062","static/chunks/3062-71ed4b46ac2bb87c.js","4086","static/chunks/4086-2c74808ba38a5a0f.js","121","static/chunks/121-7024f479c297aef0.js","3110","static/chunks/3110-ef2cacd1b8d79ad8.js","4051","static/chunks/4051-2cf66369d6ca0f1d.js","1603","static/chunks/1603-67a89278e2c5dbe6.js","9417","static/chunks/9417-1d158bf46d3a0dc9.js","9178","static/chunks/9178-f208a3e6404714a9.js","9479","static/chunks/9479-563e4d61f91d5a7c.js","2697","static/chunks/2697-a38d01981ad3bdf8.js","3111","static/chunks/app/share/chat/page-fbbd66a4d4633438.js"],"default",1]
2
+ 3:I[5506,["3954","static/chunks/d3ac728e-a9e3522eef9b6b28.js","9001","static/chunks/9001-3b27af6d5f21df44.js","3062","static/chunks/3062-71ed4b46ac2bb87c.js","4086","static/chunks/4086-2c74808ba38a5a0f.js","121","static/chunks/121-7024f479c297aef0.js","3110","static/chunks/3110-ef2cacd1b8d79ad8.js","4051","static/chunks/4051-2cf66369d6ca0f1d.js","1603","static/chunks/1603-67a89278e2c5dbe6.js","9417","static/chunks/9417-29502e39c3e7d60c.js","9178","static/chunks/9178-899fe9a6b754ecfe.js","9479","static/chunks/9479-7eed36fc954ef804.js","2697","static/chunks/2697-a38d01981ad3bdf8.js","3111","static/chunks/app/share/chat/page-fbbd66a4d4633438.js"],"default",1]
3
3
  4:I[39275,[],""]
4
4
  5:I[61343,[],""]
5
- 0:["-g-BSlwy2eTVtQIJDFFXi",[[["",{"children":["share",{"children":["chat",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["share",{"children":["chat",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/c808691c459e3887.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/2de69f0be774c768.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","2",{"rel":"stylesheet","href":"/_next/static/css/2272c73fc7a3b571.css","precedence":"next","crossOrigin":"$undefined"}]]],null],null]},[[null,["$","html",null,{"lang":"en","children":[["$","meta",null,{"httpEquiv":"Content-Security-Policy","content":"default-src 'self' https://assets.khoj.dev; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' blob: https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: blob: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';"}],["$","body",null,{"className":"__className_90df87","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","share","children","chat","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]}]]}]],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","share","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/1538cedb321e3a97.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/7a2b0a2d7c3d86eb.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":[["$","meta",null,{"httpEquiv":"Content-Security-Policy","content":"default-src 'self' https://assets.khoj.dev; media-src * blob:; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' blob: https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: blob: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';"}],["$","body",null,{"className":"__className_90df87","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]]}]],null],null],["$L6",null]]]]
5
+ 0:["lHwFhwhZGEZT4IMv1TNBH",[[["",{"children":["share",{"children":["chat",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["share",{"children":["chat",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/c808691c459e3887.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/2de69f0be774c768.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","2",{"rel":"stylesheet","href":"/_next/static/css/2272c73fc7a3b571.css","precedence":"next","crossOrigin":"$undefined"}]]],null],null]},[[null,["$","html",null,{"lang":"en","children":[["$","meta",null,{"httpEquiv":"Content-Security-Policy","content":"default-src 'self' https://assets.khoj.dev; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' blob: https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: blob: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';"}],["$","body",null,{"className":"__className_90df87","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","share","children","chat","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]}]]}]],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","share","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/1538cedb321e3a97.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/7a2b0a2d7c3d86eb.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":[["$","meta",null,{"httpEquiv":"Content-Security-Policy","content":"default-src 'self' https://assets.khoj.dev; media-src * blob:; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' blob: https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: blob: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';"}],["$","body",null,{"className":"__className_90df87","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]]}]],null],null],["$L6",null]]]]
6
6
  6:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Khoj AI - Chat"}],["$","meta","3",{"name":"description","content":"Use this page to view a chat with Khoj AI."}],["$","link","4",{"rel":"manifest","href":"/static/khoj.webmanifest","crossOrigin":"use-credentials"}],["$","meta","5",{"property":"og:title","content":"Khoj AI - Home"}],["$","meta","6",{"property":"og:description","content":"Your Second Brain."}],["$","meta","7",{"property":"og:url","content":"https://app.khoj.dev/"}],["$","meta","8",{"property":"og:site_name","content":"Khoj AI"}],["$","meta","9",{"property":"og:image","content":"https://assets.khoj.dev/khoj_lantern_256x256.png"}],["$","meta","10",{"property":"og:image:width","content":"256"}],["$","meta","11",{"property":"og:image:height","content":"256"}],["$","meta","12",{"property":"og:image","content":"https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png"}],["$","meta","13",{"property":"og:image:width","content":"1200"}],["$","meta","14",{"property":"og:image:height","content":"630"}],["$","meta","15",{"property":"og:type","content":"website"}],["$","meta","16",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","17",{"name":"twitter:title","content":"Khoj AI - Home"}],["$","meta","18",{"name":"twitter:description","content":"Your Second Brain."}],["$","meta","19",{"name":"twitter:image","content":"https://assets.khoj.dev/khoj_lantern_256x256.png"}],["$","meta","20",{"name":"twitter:image:width","content":"256"}],["$","meta","21",{"name":"twitter:image:height","content":"256"}],["$","meta","22",{"name":"twitter:image","content":"https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png"}],["$","meta","23",{"name":"twitter:image:width","content":"1200"}],["$","meta","24",{"name":"twitter:image:height","content":"630"}],["$","link","25",{"rel":"icon","href":"/static/assets/icons/khoj_lantern.ico"}],["$","link","26",{"rel":"apple-touch-icon","href":"/static/assets/icons/khoj_lantern_256x256.png"}],["$","meta","27",{"name":"next-size-adjust"}]]
7
7
  1:null
@@ -9,6 +9,7 @@ from langchain.schema import ChatMessage
9
9
  from khoj.database.models import Agent, KhojUser
10
10
  from khoj.processor.conversation import prompts
11
11
  from khoj.processor.conversation.google.utils import (
12
+ format_messages_for_gemini,
12
13
  gemini_chat_completion_with_backoff,
13
14
  gemini_completion_with_backoff,
14
15
  )
@@ -79,7 +80,6 @@ def extract_questions_gemini(
79
80
  model_name=model,
80
81
  temperature=temperature,
81
82
  api_key=api_key,
82
- max_tokens=max_tokens,
83
83
  model_kwargs=model_kwargs,
84
84
  )
85
85
 
@@ -106,15 +106,7 @@ def gemini_send_message_to_model(messages, api_key, model, response_type="text")
106
106
  """
107
107
  Send message to model
108
108
  """
109
- system_prompt = None
110
- if len(messages) == 1:
111
- messages[0].role = "user"
112
- else:
113
- system_prompt = ""
114
- for message in messages.copy():
115
- if message.role == "system":
116
- system_prompt += message.content
117
- messages.remove(message)
109
+ messages, system_prompt = format_messages_for_gemini(messages)
118
110
 
119
111
  model_kwargs = {}
120
112
  if response_type == "json_object":
@@ -164,6 +156,7 @@ def converse_gemini(
164
156
  day_of_week=current_date.strftime("%A"),
165
157
  )
166
158
 
159
+ system_prompt += f"{system_prompt}\n\n{prompts.gemini_verbose_language_personality}"
167
160
  if location_data:
168
161
  location_prompt = prompts.user_location.format(location=f"{location_data}")
169
162
  system_prompt = f"{system_prompt}\n{location_prompt}"
@@ -196,14 +189,7 @@ def converse_gemini(
196
189
  tokenizer_name=tokenizer_name,
197
190
  )
198
191
 
199
- for message in messages:
200
- if message.role == "assistant":
201
- message.role = "model"
202
-
203
- for message in messages.copy():
204
- if message.role == "system":
205
- system_prompt += message.content
206
- messages.remove(message)
192
+ messages, system_prompt = format_messages_for_gemini(messages, system_prompt)
207
193
 
208
194
  truncated_messages = "\n".join({f"{message.content[:40]}..." for message in messages})
209
195
  logger.debug(f"Conversation Context for Gemini: {truncated_messages}")
@@ -218,5 +204,4 @@ def converse_gemini(
218
204
  api_key=api_key,
219
205
  system_prompt=system_prompt,
220
206
  completion_func=completion_func,
221
- max_prompt_size=max_prompt_size,
222
207
  )
@@ -4,15 +4,13 @@ from threading import Thread
4
4
 
5
5
  import google.generativeai as genai
6
6
  from google.generativeai.types.answer_types import FinishReason
7
- from google.generativeai.types.generation_types import (
8
- GenerateContentResponse,
9
- StopCandidateException,
10
- )
7
+ from google.generativeai.types.generation_types import StopCandidateException
11
8
  from google.generativeai.types.safety_types import (
12
9
  HarmBlockThreshold,
13
10
  HarmCategory,
14
11
  HarmProbability,
15
12
  )
13
+ from langchain.schema import ChatMessage
16
14
  from tenacity import (
17
15
  before_sleep_log,
18
16
  retry,
@@ -22,11 +20,12 @@ from tenacity import (
22
20
  )
23
21
 
24
22
  from khoj.processor.conversation.utils import ThreadedGenerator
23
+ from khoj.utils.helpers import is_none_or_empty
25
24
 
26
25
  logger = logging.getLogger(__name__)
27
26
 
28
27
 
29
- DEFAULT_MAX_TOKENS_GEMINI = 8192
28
+ MAX_OUTPUT_TOKENS_GEMINI = 8192
30
29
 
31
30
 
32
31
  @retry(
@@ -36,13 +35,12 @@ DEFAULT_MAX_TOKENS_GEMINI = 8192
36
35
  reraise=True,
37
36
  )
38
37
  def gemini_completion_with_backoff(
39
- messages, system_prompt, model_name, temperature=0, api_key=None, model_kwargs=None, max_tokens=None
38
+ messages, system_prompt, model_name, temperature=0, api_key=None, model_kwargs=None
40
39
  ) -> str:
41
40
  genai.configure(api_key=api_key)
42
- max_tokens = max_tokens or DEFAULT_MAX_TOKENS_GEMINI
43
41
  model_kwargs = model_kwargs or dict()
44
42
  model_kwargs["temperature"] = temperature
45
- model_kwargs["max_output_tokens"] = max_tokens
43
+ model_kwargs["max_output_tokens"] = MAX_OUTPUT_TOKENS_GEMINI
46
44
  model = genai.GenerativeModel(
47
45
  model_name,
48
46
  generation_config=model_kwargs,
@@ -88,28 +86,24 @@ def gemini_chat_completion_with_backoff(
88
86
  temperature,
89
87
  api_key,
90
88
  system_prompt,
91
- max_prompt_size=None,
92
89
  completion_func=None,
93
90
  model_kwargs=None,
94
91
  ):
95
92
  g = ThreadedGenerator(compiled_references, online_results, completion_func=completion_func)
96
93
  t = Thread(
97
94
  target=gemini_llm_thread,
98
- args=(g, messages, system_prompt, model_name, temperature, api_key, max_prompt_size, model_kwargs),
95
+ args=(g, messages, system_prompt, model_name, temperature, api_key, model_kwargs),
99
96
  )
100
97
  t.start()
101
98
  return g
102
99
 
103
100
 
104
- def gemini_llm_thread(
105
- g, messages, system_prompt, model_name, temperature, api_key, max_prompt_size=None, model_kwargs=None
106
- ):
101
+ def gemini_llm_thread(g, messages, system_prompt, model_name, temperature, api_key, model_kwargs=None):
107
102
  try:
108
103
  genai.configure(api_key=api_key)
109
- max_tokens = max_prompt_size or DEFAULT_MAX_TOKENS_GEMINI
110
104
  model_kwargs = model_kwargs or dict()
111
105
  model_kwargs["temperature"] = temperature
112
- model_kwargs["max_output_tokens"] = max_tokens
106
+ model_kwargs["max_output_tokens"] = MAX_OUTPUT_TOKENS_GEMINI
113
107
  model_kwargs["stop_sequences"] = ["Notes:\n["]
114
108
  model = genai.GenerativeModel(
115
109
  model_name,
@@ -190,3 +184,23 @@ def generate_safety_response(safety_ratings):
190
184
  return safety_response_choice.format(
191
185
  category=max_safety_category, probability=max_safety_rating.probability.name, discomfort_level=discomfort_level
192
186
  )
187
+
188
+
189
+ def format_messages_for_gemini(messages: list[ChatMessage], system_prompt: str = None) -> tuple[list[str], str]:
190
+ if len(messages) == 1:
191
+ messages[0].role = "user"
192
+ return messages, system_prompt
193
+
194
+ for message in messages:
195
+ if message.role == "assistant":
196
+ message.role = "model"
197
+
198
+ # Extract system message
199
+ system_prompt = system_prompt or ""
200
+ for message in messages.copy():
201
+ if message.role == "system":
202
+ system_prompt += message.content
203
+ messages.remove(message)
204
+ system_prompt = None if is_none_or_empty(system_prompt) else system_prompt
205
+
206
+ return messages, system_prompt
@@ -45,6 +45,13 @@ Instructions:\n{bio}
45
45
  """.strip()
46
46
  )
47
47
 
48
+ # To make Gemini be more verbose and match language of user's query.
49
+ # Prompt forked from https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models
50
+ gemini_verbose_language_personality = """
51
+ All questions should be answered comprehensively with details, unless the user requests a concise response specifically.
52
+ Respond in the same language as the query.
53
+ """.strip()
54
+
48
55
  ## General Conversation
49
56
  ## --
50
57
  general_conversation = PromptTemplate.from_template(
@@ -404,6 +411,10 @@ Tell the user exactly what the document says in response to their query, while a
404
411
  extract_relevant_summary = PromptTemplate.from_template(
405
412
  """
406
413
  {personality_context}
414
+
415
+ Conversation History:
416
+ {chat_history}
417
+
407
418
  Target Query: {query}
408
419
 
409
420
  Document Contents:
@@ -415,10 +426,10 @@ Collate only relevant information from the document to answer the target query.
415
426
 
416
427
  personality_context = PromptTemplate.from_template(
417
428
  """
418
- Here's some additional context about you:
419
- {personality}
429
+ Here's some additional context about you:
430
+ {personality}
420
431
 
421
- """
432
+ """
422
433
  )
423
434
 
424
435
  pick_relevant_output_mode = PromptTemplate.from_template(
@@ -223,7 +223,7 @@ def truncate_messages(
223
223
  ) -> list[ChatMessage]:
224
224
  """Truncate messages to fit within max prompt size supported by model"""
225
225
 
226
- default_tokenizer = "hf-internal-testing/llama-tokenizer"
226
+ default_tokenizer = "gpt-4o"
227
227
 
228
228
  try:
229
229
  if loaded_model:
@@ -240,13 +240,9 @@ def truncate_messages(
240
240
  else:
241
241
  encoder = download_model(model_name).tokenizer()
242
242
  except:
243
- if default_tokenizer in state.pretrained_tokenizers:
244
- encoder = state.pretrained_tokenizers[default_tokenizer]
245
- else:
246
- encoder = AutoTokenizer.from_pretrained(default_tokenizer)
247
- state.pretrained_tokenizers[default_tokenizer] = encoder
243
+ encoder = tiktoken.encoding_for_model(default_tokenizer)
248
244
  logger.debug(
249
- f"Fallback to default chat model tokenizer: {tokenizer_name}.\nConfigure tokenizer for unsupported model: {model_name} in Khoj settings to improve context stuffing."
245
+ f"Fallback to default chat model tokenizer: {default_tokenizer}.\nConfigure tokenizer for model: {model_name} in Khoj settings to improve context stuffing."
250
246
  )
251
247
 
252
248
  # Extract system message from messages
@@ -13,7 +13,7 @@ from tenacity import (
13
13
  )
14
14
  from torch import nn
15
15
 
16
- from khoj.utils.helpers import get_device, merge_dicts
16
+ from khoj.utils.helpers import get_device, merge_dicts, timer
17
17
  from khoj.utils.rawconfig import SearchResponse
18
18
 
19
19
  logger = logging.getLogger(__name__)
@@ -37,7 +37,8 @@ class EmbeddingsModel:
37
37
  self.model_name = model_name
38
38
  self.inference_endpoint = embeddings_inference_endpoint
39
39
  self.api_key = embeddings_inference_endpoint_api_key
40
- self.embeddings_model = SentenceTransformer(self.model_name, **self.model_kwargs)
40
+ with timer(f"Loaded embedding model {self.model_name}", logger):
41
+ self.embeddings_model = SentenceTransformer(self.model_name, **self.model_kwargs)
41
42
 
42
43
  def inference_server_enabled(self) -> bool:
43
44
  return self.api_key is not None and self.inference_endpoint is not None
@@ -101,7 +102,8 @@ class CrossEncoderModel:
101
102
  self.inference_endpoint = cross_encoder_inference_endpoint
102
103
  self.api_key = cross_encoder_inference_endpoint_api_key
103
104
  self.model_kwargs = merge_dicts(model_kwargs, {"device": get_device()})
104
- self.cross_encoder_model = CrossEncoder(model_name=self.model_name, **self.model_kwargs)
105
+ with timer(f"Loaded cross-encoder model {self.model_name}", logger):
106
+ self.cross_encoder_model = CrossEncoder(model_name=self.model_name, **self.model_kwargs)
105
107
 
106
108
  def inference_server_enabled(self) -> bool:
107
109
  return self.api_key is not None and self.inference_endpoint is not None
khoj/routers/api_chat.py CHANGED
@@ -209,14 +209,17 @@ def chat_history(
209
209
 
210
210
  agent_metadata = None
211
211
  if conversation.agent:
212
- agent_metadata = {
213
- "slug": conversation.agent.slug,
214
- "name": conversation.agent.name,
215
- "isCreator": conversation.agent.creator == user,
216
- "color": conversation.agent.style_color,
217
- "icon": conversation.agent.style_icon,
218
- "persona": conversation.agent.personality,
219
- }
212
+ if conversation.agent.privacy_level == Agent.PrivacyLevel.PRIVATE:
213
+ conversation.agent = None
214
+ else:
215
+ agent_metadata = {
216
+ "slug": conversation.agent.slug,
217
+ "name": conversation.agent.name,
218
+ "isCreator": conversation.agent.creator == user,
219
+ "color": conversation.agent.style_color,
220
+ "icon": conversation.agent.style_icon,
221
+ "persona": conversation.agent.personality,
222
+ }
220
223
 
221
224
  meta_log = conversation.conversation_log
222
225
  meta_log.update(
@@ -265,14 +268,17 @@ def get_shared_chat(
265
268
 
266
269
  agent_metadata = None
267
270
  if conversation.agent:
268
- agent_metadata = {
269
- "slug": conversation.agent.slug,
270
- "name": conversation.agent.name,
271
- "isCreator": conversation.agent.creator == user,
272
- "color": conversation.agent.style_color,
273
- "icon": conversation.agent.style_icon,
274
- "persona": conversation.agent.personality,
275
- }
271
+ if conversation.agent.privacy_level == Agent.PrivacyLevel.PRIVATE:
272
+ conversation.agent = None
273
+ else:
274
+ agent_metadata = {
275
+ "slug": conversation.agent.slug,
276
+ "name": conversation.agent.name,
277
+ "isCreator": conversation.agent.creator == user,
278
+ "color": conversation.agent.style_color,
279
+ "icon": conversation.agent.style_icon,
280
+ "persona": conversation.agent.personality,
281
+ }
276
282
 
277
283
  meta_log = conversation.conversation_log
278
284
  scrubbed_title = conversation.title if conversation.title else conversation.slug
@@ -758,7 +764,12 @@ async def chat(
758
764
  yield result
759
765
 
760
766
  response = await extract_relevant_summary(
761
- q, contextual_data, subscribed=subscribed, uploaded_image_url=uploaded_image_url, agent=agent
767
+ q,
768
+ contextual_data,
769
+ conversation_history=meta_log,
770
+ subscribed=subscribed,
771
+ uploaded_image_url=uploaded_image_url,
772
+ agent=agent,
762
773
  )
763
774
  response_log = str(response)
764
775
  async for result in send_llm_response(response_log):
@@ -1238,7 +1249,11 @@ async def get_chat(
1238
1249
  yield result
1239
1250
 
1240
1251
  response = await extract_relevant_summary(
1241
- q, contextual_data, subscribed=subscribed, uploaded_image_url=uploaded_image_url
1252
+ q,
1253
+ contextual_data,
1254
+ conversation_history=meta_log,
1255
+ subscribed=subscribed,
1256
+ uploaded_image_url=uploaded_image_url,
1242
1257
  )
1243
1258
  response_log = str(response)
1244
1259
  async for result in send_llm_response(response_log):
khoj/routers/helpers.py CHANGED
@@ -208,7 +208,7 @@ def get_next_url(request: Request) -> str:
208
208
  def construct_chat_history(conversation_history: dict, n: int = 4, agent_name="AI") -> str:
209
209
  chat_history = ""
210
210
  for chat in conversation_history.get("chat", [])[-n:]:
211
- if chat["by"] == "khoj" and chat["intent"].get("type") in ["remember", "reminder"]:
211
+ if chat["by"] == "khoj" and chat["intent"].get("type") in ["remember", "reminder", "summarize"]:
212
212
  chat_history += f"User: {chat['intent']['query']}\n"
213
213
  chat_history += f"{agent_name}: {chat['message']}\n"
214
214
  elif chat["by"] == "khoj" and ("text-to-image" in chat["intent"].get("type")):
@@ -351,7 +351,7 @@ async def aget_relevant_information_sources(
351
351
  if len(agent_tools) == 0:
352
352
  final_response = [ConversationCommand.Default]
353
353
  else:
354
- final_response = agent_tools
354
+ final_response = [ConversationCommand.General]
355
355
  return final_response
356
356
  except Exception as e:
357
357
  logger.error(f"Invalid response for determining relevant tools: {response}")
@@ -574,7 +574,12 @@ async def extract_relevant_info(q: str, corpus: str, subscribed: bool, agent: Ag
574
574
 
575
575
 
576
576
  async def extract_relevant_summary(
577
- q: str, corpus: str, subscribed: bool = False, uploaded_image_url: str = None, agent: Agent = None
577
+ q: str,
578
+ corpus: str,
579
+ conversation_history: dict,
580
+ subscribed: bool = False,
581
+ uploaded_image_url: str = None,
582
+ agent: Agent = None,
578
583
  ) -> Union[str, None]:
579
584
  """
580
585
  Extract relevant information for a given query from the target corpus
@@ -587,8 +592,11 @@ async def extract_relevant_summary(
587
592
  prompts.personality_context.format(personality=agent.personality) if agent and agent.personality else ""
588
593
  )
589
594
 
595
+ chat_history = construct_chat_history(conversation_history)
596
+
590
597
  extract_relevant_information = prompts.extract_relevant_summary.format(
591
598
  query=q,
599
+ chat_history=chat_history,
592
600
  corpus=corpus.strip(),
593
601
  personality_context=personality_context,
594
602
  )
khoj/utils/helpers.py CHANGED
@@ -321,7 +321,7 @@ command_descriptions = {
321
321
  ConversationCommand.Notes: "Only talk about information that is available in your knowledge base.",
322
322
  ConversationCommand.Default: "The default command when no command specified. It intelligently auto-switches between general and notes mode.",
323
323
  ConversationCommand.Online: "Search for information on the internet.",
324
- ConversationCommand.Webpage: "Get information from webpage links provided by you.",
324
+ ConversationCommand.Webpage: "Get information from webpage suggested by you.",
325
325
  ConversationCommand.Image: "Generate images by describing your imagination in words.",
326
326
  ConversationCommand.Automation: "Automatically run your query at a specified time or interval.",
327
327
  ConversationCommand.Help: "Get help with how to use or setup Khoj from the documentation",
@@ -329,11 +329,11 @@ command_descriptions = {
329
329
  }
330
330
 
331
331
  command_descriptions_for_agent = {
332
- ConversationCommand.General: "Respond without any outside information or personal knowledge.",
333
- ConversationCommand.Notes: "Search through the knowledge base. Required if the agent expects context from the knowledge base.",
334
- ConversationCommand.Online: "Search for the latest, up-to-date information from the internet.",
335
- ConversationCommand.Webpage: "Scrape specific web pages for information.",
336
- ConversationCommand.Summarize: "Retrieve an answer that depends on the entire document or a large text. Knowledge base must be a single document.",
332
+ ConversationCommand.General: "Agent can use the agents knowledge base and general knowledge.",
333
+ ConversationCommand.Notes: "Agent can search the users knowledge base for information.",
334
+ ConversationCommand.Online: "Agent can search the internet for information.",
335
+ ConversationCommand.Webpage: "Agent can read suggested web pages for information.",
336
+ ConversationCommand.Summarize: "Agent can read an entire document. Agents knowledge base must be a single document.",
337
337
  }
338
338
 
339
339
  tool_descriptions_for_llm = {
@@ -352,8 +352,8 @@ mode_descriptions_for_llm = {
352
352
  }
353
353
 
354
354
  mode_descriptions_for_agent = {
355
- ConversationCommand.Image: "Allow the agent to generate images.",
356
- ConversationCommand.Text: "Allow the agent to generate text.",
355
+ ConversationCommand.Image: "Agent can generate image in response.",
356
+ ConversationCommand.Text: "Agent can generate text in response.",
357
357
  }
358
358
 
359
359
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: khoj
3
- Version: 1.24.2.dev19
3
+ Version: 1.24.2.dev33
4
4
  Summary: Your Second Brain
5
5
  Project-URL: Homepage, https://khoj.dev
6
6
  Project-URL: Documentation, https://docs.khoj.dev