khoj 1.30.11.dev73__py3-none-any.whl → 1.31.1.dev13__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 +51 -51
- khoj/database/admin.py +8 -8
- khoj/database/migrations/0077_chatmodel_alter_agent_chat_model_and_more.py +62 -0
- khoj/database/models/__init__.py +7 -7
- khoj/interface/compiled/404/index.html +1 -1
- khoj/interface/compiled/_next/static/chunks/app/agents/layout-1878cc328ea380bd.js +1 -0
- khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-592e8c470f2c2084.js +1 -0
- khoj/interface/compiled/_next/static/chunks/{webpack-a72e892f6afa93ae.js → webpack-062298330010d2aa.js} +1 -1
- khoj/interface/compiled/_next/static/css/f172a0fb3eb177e1.css +1 -0
- khoj/interface/compiled/agents/index.html +1 -1
- khoj/interface/compiled/agents/index.txt +1 -1
- khoj/interface/compiled/automations/index.html +1 -1
- khoj/interface/compiled/automations/index.txt +1 -1
- khoj/interface/compiled/chat/index.html +1 -1
- khoj/interface/compiled/chat/index.txt +1 -1
- khoj/interface/compiled/index.html +1 -1
- khoj/interface/compiled/index.txt +1 -1
- khoj/interface/compiled/search/index.html +1 -1
- khoj/interface/compiled/search/index.txt +1 -1
- khoj/interface/compiled/settings/index.html +1 -1
- khoj/interface/compiled/settings/index.txt +1 -1
- khoj/interface/compiled/share/chat/index.html +1 -1
- khoj/interface/compiled/share/chat/index.txt +1 -1
- khoj/migrations/migrate_server_pg.py +7 -7
- khoj/processor/conversation/anthropic/anthropic_chat.py +3 -3
- khoj/processor/conversation/google/gemini_chat.py +3 -3
- khoj/processor/conversation/offline/chat_model.py +12 -12
- khoj/processor/conversation/openai/gpt.py +4 -4
- khoj/processor/conversation/openai/utils.py +18 -10
- khoj/processor/conversation/utils.py +4 -4
- khoj/routers/api.py +22 -27
- khoj/routers/api_agents.py +4 -4
- khoj/routers/api_chat.py +6 -6
- khoj/routers/api_model.py +4 -4
- khoj/routers/helpers.py +106 -102
- khoj/utils/helpers.py +5 -3
- khoj/utils/initialization.py +28 -26
- {khoj-1.30.11.dev73.dist-info → khoj-1.31.1.dev13.dist-info}/METADATA +1 -1
- {khoj-1.30.11.dev73.dist-info → khoj-1.31.1.dev13.dist-info}/RECORD +44 -43
- khoj/interface/compiled/_next/static/chunks/app/agents/layout-f2ea2b26fc0e78b1.js +0 -1
- khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-f662c9e5091603cf.js +0 -1
- khoj/interface/compiled/_next/static/css/0dff1a59259ff945.css +0 -1
- /khoj/interface/compiled/_next/static/{ruEWgIV3qd6RPykTrcoyc → 7K5OLB23CafMhZBFHh4NG}/_buildManifest.js +0 -0
- /khoj/interface/compiled/_next/static/{ruEWgIV3qd6RPykTrcoyc → 7K5OLB23CafMhZBFHh4NG}/_ssgManifest.js +0 -0
- {khoj-1.30.11.dev73.dist-info → khoj-1.31.1.dev13.dist-info}/WHEEL +0 -0
- {khoj-1.30.11.dev73.dist-info → khoj-1.31.1.dev13.dist-info}/entry_points.txt +0 -0
- {khoj-1.30.11.dev73.dist-info → khoj-1.31.1.dev13.dist-info}/licenses/LICENSE +0 -0
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html lang="en" class="__variable_f36179 __variable_702545"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/1d8a05b60287ae6c-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/77c207b095007c34-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/82ef96de0e8f4d8c-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/a6ecd16fa044d500-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/bd82c78e5b7b3fe9-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/c4250770ab8708b6-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e098aaaecc9cfbb2-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/089de1d8526b96e9.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/fd628f01a581ec3c.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/3cf13271869a4aeb.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/0dff1a59259ff945.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/1f293605f2871853.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a72e892f6afa93ae.js"/><script src="/_next/static/chunks/fd9d1056-2e6c8140e79afc3b.js" async=""></script><script src="/_next/static/chunks/7023-e8de2bded4df6539.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/3072-be830e4f8412b9d2.js" async=""></script><script src="/_next/static/chunks/4200-ea75740bb3c6ae60.js" async=""></script><script src="/_next/static/chunks/7592-a09c39a38e60634b.js" async=""></script><script src="/_next/static/chunks/3690-51312931ba1eae30.js" async=""></script><script src="/_next/static/chunks/3463-081c031e873b7966.js" async=""></script><script src="/_next/static/chunks/1603-f8ef9930c1f4eaef.js" async=""></script><script src="/_next/static/chunks/8423-1dda16bc56236523.js" async=""></script><script src="/_next/static/chunks/5538-0ea2d3944ca051e1.js" async=""></script><script src="/_next/static/chunks/app/share/chat/page-f625859c1a122441.js" async=""></script><meta http-equiv="Content-Security-Policy" content="default-src 'self' https://assets.khoj.dev; media-src * blob:; script-src 'self' https://assets.khoj.dev https://app.chatwoot.com '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 'self' https://app.chatwoot.com; object-src 'none';"/><meta http-equiv="Content-Security-Policy" content="default-src 'self' https://assets.khoj.dev; media-src * blob:; script-src 'self' https://assets.khoj.dev https://app.chatwoot.com '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 'self' https://app.chatwoot.com; object-src 'none';"/><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"/><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"/><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><html lang="en" class="__variable_f36179 __variable_702545"><body><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>window.EXCALIDRAW_ASSET_PATH = 'https://assets.khoj.dev/@excalidraw/excalidraw/dist/';</script><script src="/_next/static/chunks/webpack-a72e892f6afa93ae.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/1d8a05b60287ae6c-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/media/77c207b095007c34-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n3:HL[\"/_next/static/media/82ef96de0e8f4d8c-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n4:HL[\"/_next/static/media/a6ecd16fa044d500-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n5:HL[\"/_next/static/media/bd82c78e5b7b3fe9-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n6:HL[\"/_next/static/media/c4250770ab8708b6-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n7:HL[\"/_next/static/media/e098aaaecc9cfbb2-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n8:HL[\"/_next/static/css/089de1d8526b96e9.css\",\"style\"]\n9:HL[\"/_next/static/css/fd628f01a581ec3c.css\",\"style\"]\na:HL[\"/_next/static/css/3cf13271869a4aeb.css\",\"style\"]\nb:HL[\"/_next/static/css/0dff1a59259ff945.css\",\"style\"]\nc:HL[\"/_next/static/css/1f293605f2871853.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"d:I[95751,[],\"\"]\nf:I[66513,[],\"ClientPageRoot\"]\n10:I[5506,[\"3954\",\"static/chunks/d3ac728e-a9e3522eef9b6b28.js\",\"3072\",\"static/chunks/3072-be830e4f8412b9d2.js\",\"4200\",\"static/chunks/4200-ea75740bb3c6ae60.js\",\"7592\",\"static/chunks/7592-a09c39a38e60634b.js\",\"3690\",\"static/chunks/3690-51312931ba1eae30.js\",\"3463\",\"static/chunks/3463-081c031e873b7966.js\",\"1603\",\"static/chunks/1603-f8ef9930c1f4eaef.js\",\"8423\",\"static/chunks/8423-1dda16bc56236523.js\",\"5538\",\"static/chunks/5538-0ea2d3944ca051e1.js\",\"3111\",\"static/chunks/app/share/chat/page-f625859c1a122441.js\"],\"default\",1]\n11:I[39275,[],\"\"]\n12:I[61343,[],\"\"]\n14:I[76130,[],\"\"]\n15:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$Ld\",null,{\"buildId\":\"ruEWgIV3qd6RPykTrcoyc\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"share\",\"chat\",\"\"],\"initialTree\":[\"\",{\"children\":[\"share\",{\"children\":[\"chat\",{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"share\",{\"children\":[\"chat\",{\"children\":[\"__PAGE__\",{},[[\"$Le\",[\"$\",\"$Lf\",null,{\"props\":{\"params\":{},\"searchParams\":{}},\"Component\":\"$10\"}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/3cf13271869a4aeb.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/0dff1a59259ff945.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1f293605f2871853.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]]],null],null]},[[null,[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_f36179 __variable_702545\",\"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 https://app.chatwoot.com '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 'self' https://app.chatwoot.com; object-src 'none';\"}],[\"$\",\"body\",null,{\"children\":[[\"$\",\"$L11\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"share\",\"children\",\"chat\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L12\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"window.EXCALIDRAW_ASSET_PATH = 'https://assets.khoj.dev/@excalidraw/excalidraw/dist/';\"}}]]}]]}]],null],null]},[null,[\"$\",\"$L11\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"share\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L12\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/089de1d8526b96e9.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/fd628f01a581ec3c.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_f36179 __variable_702545\",\"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 https://app.chatwoot.com '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 'self' https://app.chatwoot.com; object-src 'none';\"}],[\"$\",\"body\",null,{\"children\":[\"$\",\"$L11\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L12\",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,\"$L13\"],\"globalErrorComponent\":\"$14\",\"missingSlots\":\"$W15\"}]\n"])</script><script>self.__next_f.push([1,"13:[[\"$\",\"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\"}],[\"$\",\"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\"}],[\"$\",\"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,"e:null\n"])</script></body></html>
|
1
|
+
<!DOCTYPE html><html lang="en" class="__variable_f36179 __variable_702545"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/1d8a05b60287ae6c-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/77c207b095007c34-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/82ef96de0e8f4d8c-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/a6ecd16fa044d500-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/bd82c78e5b7b3fe9-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/c4250770ab8708b6-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e098aaaecc9cfbb2-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/089de1d8526b96e9.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/fd628f01a581ec3c.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/3cf13271869a4aeb.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/f172a0fb3eb177e1.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/1f293605f2871853.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-062298330010d2aa.js"/><script src="/_next/static/chunks/fd9d1056-2e6c8140e79afc3b.js" async=""></script><script src="/_next/static/chunks/7023-e8de2bded4df6539.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/3072-be830e4f8412b9d2.js" async=""></script><script src="/_next/static/chunks/4200-ea75740bb3c6ae60.js" async=""></script><script src="/_next/static/chunks/7592-a09c39a38e60634b.js" async=""></script><script src="/_next/static/chunks/3690-51312931ba1eae30.js" async=""></script><script src="/_next/static/chunks/3463-081c031e873b7966.js" async=""></script><script src="/_next/static/chunks/1603-f8ef9930c1f4eaef.js" async=""></script><script src="/_next/static/chunks/8423-1dda16bc56236523.js" async=""></script><script src="/_next/static/chunks/5538-0ea2d3944ca051e1.js" async=""></script><script src="/_next/static/chunks/app/share/chat/page-f625859c1a122441.js" async=""></script><meta http-equiv="Content-Security-Policy" content="default-src 'self' https://assets.khoj.dev; media-src * blob:; script-src 'self' https://assets.khoj.dev https://app.chatwoot.com '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 'self' https://app.chatwoot.com; object-src 'none';"/><meta http-equiv="Content-Security-Policy" content="default-src 'self' https://assets.khoj.dev; media-src * blob:; script-src 'self' https://assets.khoj.dev https://app.chatwoot.com '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 'self' https://app.chatwoot.com; object-src 'none';"/><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"/><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"/><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><html lang="en" class="__variable_f36179 __variable_702545"><body><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>window.EXCALIDRAW_ASSET_PATH = 'https://assets.khoj.dev/@excalidraw/excalidraw/dist/';</script><script src="/_next/static/chunks/webpack-062298330010d2aa.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/1d8a05b60287ae6c-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/media/77c207b095007c34-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n3:HL[\"/_next/static/media/82ef96de0e8f4d8c-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n4:HL[\"/_next/static/media/a6ecd16fa044d500-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n5:HL[\"/_next/static/media/bd82c78e5b7b3fe9-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n6:HL[\"/_next/static/media/c4250770ab8708b6-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n7:HL[\"/_next/static/media/e098aaaecc9cfbb2-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n8:HL[\"/_next/static/css/089de1d8526b96e9.css\",\"style\"]\n9:HL[\"/_next/static/css/fd628f01a581ec3c.css\",\"style\"]\na:HL[\"/_next/static/css/3cf13271869a4aeb.css\",\"style\"]\nb:HL[\"/_next/static/css/f172a0fb3eb177e1.css\",\"style\"]\nc:HL[\"/_next/static/css/1f293605f2871853.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"d:I[95751,[],\"\"]\nf:I[66513,[],\"ClientPageRoot\"]\n10:I[5506,[\"3954\",\"static/chunks/d3ac728e-a9e3522eef9b6b28.js\",\"3072\",\"static/chunks/3072-be830e4f8412b9d2.js\",\"4200\",\"static/chunks/4200-ea75740bb3c6ae60.js\",\"7592\",\"static/chunks/7592-a09c39a38e60634b.js\",\"3690\",\"static/chunks/3690-51312931ba1eae30.js\",\"3463\",\"static/chunks/3463-081c031e873b7966.js\",\"1603\",\"static/chunks/1603-f8ef9930c1f4eaef.js\",\"8423\",\"static/chunks/8423-1dda16bc56236523.js\",\"5538\",\"static/chunks/5538-0ea2d3944ca051e1.js\",\"3111\",\"static/chunks/app/share/chat/page-f625859c1a122441.js\"],\"default\",1]\n11:I[39275,[],\"\"]\n12:I[61343,[],\"\"]\n14:I[76130,[],\"\"]\n15:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$Ld\",null,{\"buildId\":\"7K5OLB23CafMhZBFHh4NG\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"share\",\"chat\",\"\"],\"initialTree\":[\"\",{\"children\":[\"share\",{\"children\":[\"chat\",{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"share\",{\"children\":[\"chat\",{\"children\":[\"__PAGE__\",{},[[\"$Le\",[\"$\",\"$Lf\",null,{\"props\":{\"params\":{},\"searchParams\":{}},\"Component\":\"$10\"}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/3cf13271869a4aeb.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/f172a0fb3eb177e1.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1f293605f2871853.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]]],null],null]},[[null,[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_f36179 __variable_702545\",\"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 https://app.chatwoot.com '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 'self' https://app.chatwoot.com; object-src 'none';\"}],[\"$\",\"body\",null,{\"children\":[[\"$\",\"$L11\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"share\",\"children\",\"chat\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L12\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"window.EXCALIDRAW_ASSET_PATH = 'https://assets.khoj.dev/@excalidraw/excalidraw/dist/';\"}}]]}]]}]],null],null]},[null,[\"$\",\"$L11\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"share\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L12\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/089de1d8526b96e9.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/fd628f01a581ec3c.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_f36179 __variable_702545\",\"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 https://app.chatwoot.com '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 'self' https://app.chatwoot.com; object-src 'none';\"}],[\"$\",\"body\",null,{\"children\":[\"$\",\"$L11\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L12\",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,\"$L13\"],\"globalErrorComponent\":\"$14\",\"missingSlots\":\"$W15\"}]\n"])</script><script>self.__next_f.push([1,"13:[[\"$\",\"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\"}],[\"$\",\"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\"}],[\"$\",\"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,"e:null\n"])</script></body></html>
|
@@ -2,6 +2,6 @@
|
|
2
2
|
3:I[5506,["3954","static/chunks/d3ac728e-a9e3522eef9b6b28.js","3072","static/chunks/3072-be830e4f8412b9d2.js","4200","static/chunks/4200-ea75740bb3c6ae60.js","7592","static/chunks/7592-a09c39a38e60634b.js","3690","static/chunks/3690-51312931ba1eae30.js","3463","static/chunks/3463-081c031e873b7966.js","1603","static/chunks/1603-f8ef9930c1f4eaef.js","8423","static/chunks/8423-1dda16bc56236523.js","5538","static/chunks/5538-0ea2d3944ca051e1.js","3111","static/chunks/app/share/chat/page-f625859c1a122441.js"],"default",1]
|
3
3
|
4:I[39275,[],""]
|
4
4
|
5:I[61343,[],""]
|
5
|
-
0:["
|
5
|
+
0:["7K5OLB23CafMhZBFHh4NG",[[["",{"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/3cf13271869a4aeb.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/f172a0fb3eb177e1.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","2",{"rel":"stylesheet","href":"/_next/static/css/1f293605f2871853.css","precedence":"next","crossOrigin":"$undefined"}]]],null],null]},[[null,["$","html",null,{"lang":"en","className":"__variable_f36179 __variable_702545","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 https://app.chatwoot.com '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 'self' https://app.chatwoot.com; object-src 'none';"}],["$","body",null,{"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"}],["$","script",null,{"dangerouslySetInnerHTML":{"__html":"window.EXCALIDRAW_ASSET_PATH = 'https://assets.khoj.dev/@excalidraw/excalidraw/dist/';"}}]]}]]}]],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/089de1d8526b96e9.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/fd628f01a581ec3c.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","className":"__variable_f36179 __variable_702545","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 https://app.chatwoot.com '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 'self' https://app.chatwoot.com; object-src 'none';"}],["$","body",null,{"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"}],["$","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"}],["$","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
|
@@ -60,7 +60,7 @@ import logging
|
|
60
60
|
|
61
61
|
from packaging import version
|
62
62
|
|
63
|
-
from khoj.database.models import AiModelApi,
|
63
|
+
from khoj.database.models import AiModelApi, ChatModel, SearchModelConfig
|
64
64
|
from khoj.utils.yaml import load_config_from_file, save_config_to_file
|
65
65
|
|
66
66
|
logger = logging.getLogger(__name__)
|
@@ -98,11 +98,11 @@ def migrate_server_pg(args):
|
|
98
98
|
|
99
99
|
if "offline-chat" in raw_config["processor"]["conversation"]:
|
100
100
|
offline_chat = raw_config["processor"]["conversation"]["offline-chat"]
|
101
|
-
|
102
|
-
|
101
|
+
ChatModel.objects.create(
|
102
|
+
name=offline_chat.get("chat-model"),
|
103
103
|
tokenizer=processor_conversation.get("tokenizer"),
|
104
104
|
max_prompt_size=processor_conversation.get("max-prompt-size"),
|
105
|
-
model_type=
|
105
|
+
model_type=ChatModel.ModelType.OFFLINE,
|
106
106
|
)
|
107
107
|
|
108
108
|
if (
|
@@ -119,11 +119,11 @@ def migrate_server_pg(args):
|
|
119
119
|
|
120
120
|
openai_model_api = AiModelApi.objects.create(api_key=openai.get("api-key"), name="default")
|
121
121
|
|
122
|
-
|
123
|
-
|
122
|
+
ChatModel.objects.create(
|
123
|
+
name=openai.get("chat-model"),
|
124
124
|
tokenizer=processor_conversation.get("tokenizer"),
|
125
125
|
max_prompt_size=processor_conversation.get("max-prompt-size"),
|
126
|
-
model_type=
|
126
|
+
model_type=ChatModel.ModelType.OPENAI,
|
127
127
|
ai_model_api=openai_model_api,
|
128
128
|
)
|
129
129
|
|
@@ -5,7 +5,7 @@ from typing import Dict, List, Optional
|
|
5
5
|
import pyjson5
|
6
6
|
from langchain.schema import ChatMessage
|
7
7
|
|
8
|
-
from khoj.database.models import Agent,
|
8
|
+
from khoj.database.models import Agent, ChatModel, KhojUser
|
9
9
|
from khoj.processor.conversation import prompts
|
10
10
|
from khoj.processor.conversation.anthropic.utils import (
|
11
11
|
anthropic_chat_completion_with_backoff,
|
@@ -85,7 +85,7 @@ def extract_questions_anthropic(
|
|
85
85
|
prompt = construct_structured_message(
|
86
86
|
message=prompt,
|
87
87
|
images=query_images,
|
88
|
-
model_type=
|
88
|
+
model_type=ChatModel.ModelType.ANTHROPIC,
|
89
89
|
vision_enabled=vision_enabled,
|
90
90
|
attached_file_context=query_files,
|
91
91
|
)
|
@@ -218,7 +218,7 @@ def converse_anthropic(
|
|
218
218
|
tokenizer_name=tokenizer_name,
|
219
219
|
query_images=query_images,
|
220
220
|
vision_enabled=vision_available,
|
221
|
-
model_type=
|
221
|
+
model_type=ChatModel.ModelType.ANTHROPIC,
|
222
222
|
query_files=query_files,
|
223
223
|
generated_files=generated_files,
|
224
224
|
generated_asset_results=generated_asset_results,
|
@@ -5,7 +5,7 @@ from typing import Dict, List, Optional
|
|
5
5
|
import pyjson5
|
6
6
|
from langchain.schema import ChatMessage
|
7
7
|
|
8
|
-
from khoj.database.models import Agent,
|
8
|
+
from khoj.database.models import Agent, ChatModel, KhojUser
|
9
9
|
from khoj.processor.conversation import prompts
|
10
10
|
from khoj.processor.conversation.google.utils import (
|
11
11
|
format_messages_for_gemini,
|
@@ -86,7 +86,7 @@ def extract_questions_gemini(
|
|
86
86
|
prompt = construct_structured_message(
|
87
87
|
message=prompt,
|
88
88
|
images=query_images,
|
89
|
-
model_type=
|
89
|
+
model_type=ChatModel.ModelType.GOOGLE,
|
90
90
|
vision_enabled=vision_enabled,
|
91
91
|
attached_file_context=query_files,
|
92
92
|
)
|
@@ -229,7 +229,7 @@ def converse_gemini(
|
|
229
229
|
tokenizer_name=tokenizer_name,
|
230
230
|
query_images=query_images,
|
231
231
|
vision_enabled=vision_available,
|
232
|
-
model_type=
|
232
|
+
model_type=ChatModel.ModelType.GOOGLE,
|
233
233
|
query_files=query_files,
|
234
234
|
generated_files=generated_files,
|
235
235
|
generated_asset_results=generated_asset_results,
|
@@ -9,7 +9,7 @@ import pyjson5
|
|
9
9
|
from langchain.schema import ChatMessage
|
10
10
|
from llama_cpp import Llama
|
11
11
|
|
12
|
-
from khoj.database.models import Agent,
|
12
|
+
from khoj.database.models import Agent, ChatModel, KhojUser
|
13
13
|
from khoj.processor.conversation import prompts
|
14
14
|
from khoj.processor.conversation.offline.utils import download_model
|
15
15
|
from khoj.processor.conversation.utils import (
|
@@ -96,7 +96,7 @@ def extract_questions_offline(
|
|
96
96
|
model_name=model,
|
97
97
|
loaded_model=offline_chat_model,
|
98
98
|
max_prompt_size=max_prompt_size,
|
99
|
-
model_type=
|
99
|
+
model_type=ChatModel.ModelType.OFFLINE,
|
100
100
|
query_files=query_files,
|
101
101
|
)
|
102
102
|
|
@@ -105,7 +105,7 @@ def extract_questions_offline(
|
|
105
105
|
response = send_message_to_model_offline(
|
106
106
|
messages,
|
107
107
|
loaded_model=offline_chat_model,
|
108
|
-
|
108
|
+
model_name=model,
|
109
109
|
max_prompt_size=max_prompt_size,
|
110
110
|
temperature=temperature,
|
111
111
|
response_type="json_object",
|
@@ -154,7 +154,7 @@ def converse_offline(
|
|
154
154
|
online_results={},
|
155
155
|
code_results={},
|
156
156
|
conversation_log={},
|
157
|
-
|
157
|
+
model_name: str = "bartowski/Meta-Llama-3.1-8B-Instruct-GGUF",
|
158
158
|
loaded_model: Union[Any, None] = None,
|
159
159
|
completion_func=None,
|
160
160
|
conversation_commands=[ConversationCommand.Default],
|
@@ -174,8 +174,8 @@ def converse_offline(
|
|
174
174
|
"""
|
175
175
|
# Initialize Variables
|
176
176
|
assert loaded_model is None or isinstance(loaded_model, Llama), "loaded_model must be of type Llama, if configured"
|
177
|
-
offline_chat_model = loaded_model or download_model(
|
178
|
-
tracer["chat_model"] =
|
177
|
+
offline_chat_model = loaded_model or download_model(model_name, max_tokens=max_prompt_size)
|
178
|
+
tracer["chat_model"] = model_name
|
179
179
|
current_date = datetime.now()
|
180
180
|
|
181
181
|
if agent and agent.personality:
|
@@ -228,18 +228,18 @@ def converse_offline(
|
|
228
228
|
system_prompt,
|
229
229
|
conversation_log,
|
230
230
|
context_message=context_message,
|
231
|
-
model_name=
|
231
|
+
model_name=model_name,
|
232
232
|
loaded_model=offline_chat_model,
|
233
233
|
max_prompt_size=max_prompt_size,
|
234
234
|
tokenizer_name=tokenizer_name,
|
235
|
-
model_type=
|
235
|
+
model_type=ChatModel.ModelType.OFFLINE,
|
236
236
|
query_files=query_files,
|
237
237
|
generated_files=generated_files,
|
238
238
|
generated_asset_results=generated_asset_results,
|
239
239
|
program_execution_context=additional_context,
|
240
240
|
)
|
241
241
|
|
242
|
-
logger.debug(f"Conversation Context for {
|
242
|
+
logger.debug(f"Conversation Context for {model_name}: {messages_to_print(messages)}")
|
243
243
|
|
244
244
|
g = ThreadedGenerator(references, online_results, completion_func=completion_func)
|
245
245
|
t = Thread(target=llm_thread, args=(g, messages, offline_chat_model, max_prompt_size, tracer))
|
@@ -273,7 +273,7 @@ def llm_thread(g, messages: List[ChatMessage], model: Any, max_prompt_size: int
|
|
273
273
|
def send_message_to_model_offline(
|
274
274
|
messages: List[ChatMessage],
|
275
275
|
loaded_model=None,
|
276
|
-
|
276
|
+
model_name="bartowski/Meta-Llama-3.1-8B-Instruct-GGUF",
|
277
277
|
temperature: float = 0.2,
|
278
278
|
streaming=False,
|
279
279
|
stop=[],
|
@@ -282,7 +282,7 @@ def send_message_to_model_offline(
|
|
282
282
|
tracer: dict = {},
|
283
283
|
):
|
284
284
|
assert loaded_model is None or isinstance(loaded_model, Llama), "loaded_model must be of type Llama, if configured"
|
285
|
-
offline_chat_model = loaded_model or download_model(
|
285
|
+
offline_chat_model = loaded_model or download_model(model_name, max_tokens=max_prompt_size)
|
286
286
|
messages_dict = [{"role": message.role, "content": message.content} for message in messages]
|
287
287
|
seed = int(os.getenv("KHOJ_LLM_SEED")) if os.getenv("KHOJ_LLM_SEED") else None
|
288
288
|
response = offline_chat_model.create_chat_completion(
|
@@ -301,7 +301,7 @@ def send_message_to_model_offline(
|
|
301
301
|
|
302
302
|
# Save conversation trace for non-streaming responses
|
303
303
|
# Streamed responses need to be saved by the calling function
|
304
|
-
tracer["chat_model"] =
|
304
|
+
tracer["chat_model"] = model_name
|
305
305
|
tracer["temperature"] = temperature
|
306
306
|
if is_promptrace_enabled():
|
307
307
|
commit_conversation_trace(messages, response_text, tracer)
|
@@ -5,7 +5,7 @@ from typing import Dict, List, Optional
|
|
5
5
|
import pyjson5
|
6
6
|
from langchain.schema import ChatMessage
|
7
7
|
|
8
|
-
from khoj.database.models import Agent,
|
8
|
+
from khoj.database.models import Agent, ChatModel, KhojUser
|
9
9
|
from khoj.processor.conversation import prompts
|
10
10
|
from khoj.processor.conversation.openai.utils import (
|
11
11
|
chat_completion_with_backoff,
|
@@ -83,7 +83,7 @@ def extract_questions(
|
|
83
83
|
prompt = construct_structured_message(
|
84
84
|
message=prompt,
|
85
85
|
images=query_images,
|
86
|
-
model_type=
|
86
|
+
model_type=ChatModel.ModelType.OPENAI,
|
87
87
|
vision_enabled=vision_enabled,
|
88
88
|
attached_file_context=query_files,
|
89
89
|
)
|
@@ -128,7 +128,7 @@ def send_message_to_model(
|
|
128
128
|
# Get Response from GPT
|
129
129
|
return completion_with_backoff(
|
130
130
|
messages=messages,
|
131
|
-
|
131
|
+
model_name=model,
|
132
132
|
openai_api_key=api_key,
|
133
133
|
temperature=temperature,
|
134
134
|
api_base_url=api_base_url,
|
@@ -220,7 +220,7 @@ def converse_openai(
|
|
220
220
|
tokenizer_name=tokenizer_name,
|
221
221
|
query_images=query_images,
|
222
222
|
vision_enabled=vision_available,
|
223
|
-
model_type=
|
223
|
+
model_type=ChatModel.ModelType.OPENAI,
|
224
224
|
query_files=query_files,
|
225
225
|
generated_files=generated_files,
|
226
226
|
generated_asset_results=generated_asset_results,
|
@@ -40,7 +40,13 @@ openai_clients: Dict[str, openai.OpenAI] = {}
|
|
40
40
|
reraise=True,
|
41
41
|
)
|
42
42
|
def completion_with_backoff(
|
43
|
-
messages,
|
43
|
+
messages,
|
44
|
+
model_name: str,
|
45
|
+
temperature=0,
|
46
|
+
openai_api_key=None,
|
47
|
+
api_base_url=None,
|
48
|
+
model_kwargs: dict = {},
|
49
|
+
tracer: dict = {},
|
44
50
|
) -> str:
|
45
51
|
client_key = f"{openai_api_key}--{api_base_url}"
|
46
52
|
client: openai.OpenAI | None = openai_clients.get(client_key)
|
@@ -56,7 +62,7 @@ def completion_with_backoff(
|
|
56
62
|
|
57
63
|
# Update request parameters for compatability with o1 model series
|
58
64
|
# Refer: https://platform.openai.com/docs/guides/reasoning/beta-limitations
|
59
|
-
if
|
65
|
+
if model_name.startswith("o1"):
|
60
66
|
temperature = 1
|
61
67
|
model_kwargs.pop("stop", None)
|
62
68
|
model_kwargs.pop("response_format", None)
|
@@ -66,12 +72,12 @@ def completion_with_backoff(
|
|
66
72
|
|
67
73
|
chat: ChatCompletion | openai.Stream[ChatCompletionChunk] = client.chat.completions.create(
|
68
74
|
messages=formatted_messages, # type: ignore
|
69
|
-
model=
|
75
|
+
model=model_name, # type: ignore
|
70
76
|
stream=stream,
|
71
77
|
stream_options={"include_usage": True} if stream else {},
|
72
78
|
temperature=temperature,
|
73
79
|
timeout=20,
|
74
|
-
**
|
80
|
+
**model_kwargs,
|
75
81
|
)
|
76
82
|
|
77
83
|
aggregated_response = ""
|
@@ -91,10 +97,11 @@ def completion_with_backoff(
|
|
91
97
|
# Calculate cost of chat
|
92
98
|
input_tokens = chunk.usage.prompt_tokens if hasattr(chunk, "usage") and chunk.usage else 0
|
93
99
|
output_tokens = chunk.usage.completion_tokens if hasattr(chunk, "usage") and chunk.usage else 0
|
94
|
-
|
100
|
+
cost = chunk.usage.model_extra.get("estimated_cost") or 0 # Estimated costs returned by DeepInfra API
|
101
|
+
tracer["usage"] = get_chat_usage_metrics(model_name, input_tokens, output_tokens, tracer.get("usage"), cost)
|
95
102
|
|
96
103
|
# Save conversation trace
|
97
|
-
tracer["chat_model"] =
|
104
|
+
tracer["chat_model"] = model_name
|
98
105
|
tracer["temperature"] = temperature
|
99
106
|
if is_promptrace_enabled():
|
100
107
|
commit_conversation_trace(messages, aggregated_response, tracer)
|
@@ -139,11 +146,11 @@ def chat_completion_with_backoff(
|
|
139
146
|
def llm_thread(
|
140
147
|
g,
|
141
148
|
messages,
|
142
|
-
model_name,
|
149
|
+
model_name: str,
|
143
150
|
temperature,
|
144
151
|
openai_api_key=None,
|
145
152
|
api_base_url=None,
|
146
|
-
model_kwargs=
|
153
|
+
model_kwargs: dict = {},
|
147
154
|
tracer: dict = {},
|
148
155
|
):
|
149
156
|
try:
|
@@ -177,7 +184,7 @@ def llm_thread(
|
|
177
184
|
stream_options={"include_usage": True} if stream else {},
|
178
185
|
temperature=temperature,
|
179
186
|
timeout=20,
|
180
|
-
**
|
187
|
+
**model_kwargs,
|
181
188
|
)
|
182
189
|
|
183
190
|
aggregated_response = ""
|
@@ -202,7 +209,8 @@ def llm_thread(
|
|
202
209
|
# Calculate cost of chat
|
203
210
|
input_tokens = chunk.usage.prompt_tokens if hasattr(chunk, "usage") and chunk.usage else 0
|
204
211
|
output_tokens = chunk.usage.completion_tokens if hasattr(chunk, "usage") and chunk.usage else 0
|
205
|
-
|
212
|
+
cost = chunk.usage.model_extra.get("estimated_cost") or 0 # Estimated costs returned by DeepInfra API
|
213
|
+
tracer["usage"] = get_chat_usage_metrics(model_name, input_tokens, output_tokens, tracer.get("usage"), cost)
|
206
214
|
|
207
215
|
# Save conversation trace
|
208
216
|
tracer["chat_model"] = model_name
|
@@ -24,7 +24,7 @@ from llama_cpp.llama import Llama
|
|
24
24
|
from transformers import AutoTokenizer
|
25
25
|
|
26
26
|
from khoj.database.adapters import ConversationAdapters
|
27
|
-
from khoj.database.models import
|
27
|
+
from khoj.database.models import ChatModel, ClientApplication, KhojUser
|
28
28
|
from khoj.processor.conversation import prompts
|
29
29
|
from khoj.processor.conversation.offline.utils import download_model, infer_max_tokens
|
30
30
|
from khoj.search_filter.base_filter import BaseFilter
|
@@ -330,9 +330,9 @@ def construct_structured_message(
|
|
330
330
|
Format messages into appropriate multimedia format for supported chat model types
|
331
331
|
"""
|
332
332
|
if model_type in [
|
333
|
-
|
334
|
-
|
335
|
-
|
333
|
+
ChatModel.ModelType.OPENAI,
|
334
|
+
ChatModel.ModelType.GOOGLE,
|
335
|
+
ChatModel.ModelType.ANTHROPIC,
|
336
336
|
]:
|
337
337
|
if not attached_file_context and not (vision_enabled and images):
|
338
338
|
return message
|
khoj/routers/api.py
CHANGED
@@ -28,12 +28,7 @@ from khoj.database.adapters import (
|
|
28
28
|
get_default_search_model,
|
29
29
|
get_user_photo,
|
30
30
|
)
|
31
|
-
from khoj.database.models import
|
32
|
-
Agent,
|
33
|
-
ChatModelOptions,
|
34
|
-
KhojUser,
|
35
|
-
SpeechToTextModelOptions,
|
36
|
-
)
|
31
|
+
from khoj.database.models import Agent, ChatModel, KhojUser, SpeechToTextModelOptions
|
37
32
|
from khoj.processor.conversation import prompts
|
38
33
|
from khoj.processor.conversation.anthropic.anthropic_chat import (
|
39
34
|
extract_questions_anthropic,
|
@@ -404,15 +399,15 @@ async def extract_references_and_questions(
|
|
404
399
|
# Infer search queries from user message
|
405
400
|
with timer("Extracting search queries took", logger):
|
406
401
|
# If we've reached here, either the user has enabled offline chat or the openai model is enabled.
|
407
|
-
|
408
|
-
vision_enabled =
|
402
|
+
chat_model = await ConversationAdapters.aget_default_chat_model(user)
|
403
|
+
vision_enabled = chat_model.vision_enabled
|
409
404
|
|
410
|
-
if
|
405
|
+
if chat_model.model_type == ChatModel.ModelType.OFFLINE:
|
411
406
|
using_offline_chat = True
|
412
|
-
|
413
|
-
max_tokens =
|
407
|
+
chat_model_name = chat_model.name
|
408
|
+
max_tokens = chat_model.max_prompt_size
|
414
409
|
if state.offline_chat_processor_config is None:
|
415
|
-
state.offline_chat_processor_config = OfflineChatProcessorModel(
|
410
|
+
state.offline_chat_processor_config = OfflineChatProcessorModel(chat_model_name, max_tokens)
|
416
411
|
|
417
412
|
loaded_model = state.offline_chat_processor_config.loaded_model
|
418
413
|
|
@@ -424,18 +419,18 @@ async def extract_references_and_questions(
|
|
424
419
|
should_extract_questions=True,
|
425
420
|
location_data=location_data,
|
426
421
|
user=user,
|
427
|
-
max_prompt_size=
|
422
|
+
max_prompt_size=chat_model.max_prompt_size,
|
428
423
|
personality_context=personality_context,
|
429
424
|
query_files=query_files,
|
430
425
|
tracer=tracer,
|
431
426
|
)
|
432
|
-
elif
|
433
|
-
api_key =
|
434
|
-
base_url =
|
435
|
-
|
427
|
+
elif chat_model.model_type == ChatModel.ModelType.OPENAI:
|
428
|
+
api_key = chat_model.ai_model_api.api_key
|
429
|
+
base_url = chat_model.ai_model_api.api_base_url
|
430
|
+
chat_model_name = chat_model.name
|
436
431
|
inferred_queries = extract_questions(
|
437
432
|
defiltered_query,
|
438
|
-
model=
|
433
|
+
model=chat_model_name,
|
439
434
|
api_key=api_key,
|
440
435
|
api_base_url=base_url,
|
441
436
|
conversation_log=meta_log,
|
@@ -447,13 +442,13 @@ async def extract_references_and_questions(
|
|
447
442
|
query_files=query_files,
|
448
443
|
tracer=tracer,
|
449
444
|
)
|
450
|
-
elif
|
451
|
-
api_key =
|
452
|
-
|
445
|
+
elif chat_model.model_type == ChatModel.ModelType.ANTHROPIC:
|
446
|
+
api_key = chat_model.ai_model_api.api_key
|
447
|
+
chat_model_name = chat_model.name
|
453
448
|
inferred_queries = extract_questions_anthropic(
|
454
449
|
defiltered_query,
|
455
450
|
query_images=query_images,
|
456
|
-
model=
|
451
|
+
model=chat_model_name,
|
457
452
|
api_key=api_key,
|
458
453
|
conversation_log=meta_log,
|
459
454
|
location_data=location_data,
|
@@ -463,17 +458,17 @@ async def extract_references_and_questions(
|
|
463
458
|
query_files=query_files,
|
464
459
|
tracer=tracer,
|
465
460
|
)
|
466
|
-
elif
|
467
|
-
api_key =
|
468
|
-
|
461
|
+
elif chat_model.model_type == ChatModel.ModelType.GOOGLE:
|
462
|
+
api_key = chat_model.ai_model_api.api_key
|
463
|
+
chat_model_name = chat_model.name
|
469
464
|
inferred_queries = extract_questions_gemini(
|
470
465
|
defiltered_query,
|
471
466
|
query_images=query_images,
|
472
|
-
model=
|
467
|
+
model=chat_model_name,
|
473
468
|
api_key=api_key,
|
474
469
|
conversation_log=meta_log,
|
475
470
|
location_data=location_data,
|
476
|
-
max_tokens=
|
471
|
+
max_tokens=chat_model.max_prompt_size,
|
477
472
|
user=user,
|
478
473
|
vision_enabled=vision_enabled,
|
479
474
|
personality_context=personality_context,
|