Disable Chat, Search on Web if Khoj not configured & show next steps

This commit is contained in:
Debanjum Singh Solanky
2023-07-03 16:02:20 -07:00
parent 017e8c1aef
commit ecf9730cd7
3 changed files with 23 additions and 7 deletions

View File

@@ -87,7 +87,14 @@
.then(data => { .then(data => {
if (data.detail) { if (data.detail) {
// If the server returns a 500 error with detail, render it as a message. // If the server returns a 500 error with detail, render it as a message.
renderMessage(data.detail + " You can configure Khoj chat in your <a class='inline-chat-link' href='/config'>settings</a>.", "khoj"); renderMessage("Hi 👋🏾, to get started <br/>1. Get your <a class='inline-chat-link' href='https://platform.openai.com/account/api-keys'>OpenAI API key</a><br/>2. Save it in the Khoj <a class='inline-chat-link' href='/config/processor/conversation'>chat settings</a> <br/>3. Click Configure on the Khoj <a class='inline-chat-link' href='/config'>settings page</a>", "khoj");
// Disable chat input field and update placeholder text
document.getElementById("chat-input").setAttribute("disabled", "disabled");
document.getElementById("chat-input").setAttribute("placeholder", "Configure Khoj to enable chat");
} else {
// Set welcome message on load
renderMessage("Hey 👋🏾, what's up?", "khoj");
} }
return data.response; return data.response;
}) })
@@ -101,9 +108,6 @@
return; return;
}); });
// Set welcome message on load
renderMessage("Hey, what's up?", "khoj");
// Fill query field with value passed in URL query parameters, if any. // Fill query field with value passed in URL query parameters, if any.
var query_via_url = new URLSearchParams(window.location.search).get("q"); var query_via_url = new URLSearchParams(window.location.search).get("q");
if (query_via_url) { if (query_via_url) {

View File

@@ -161,6 +161,14 @@
fetch("/api/config/types") fetch("/api/config/types")
.then(response => response.json()) .then(response => response.json())
.then(enabled_types => { .then(enabled_types => {
// Show warning if no content types are enabled
if (enabled_types.detail) {
document.getElementById("results").innerHTML = "<div id='results-error'>To use Khoj search, setup your content plugins on the Khoj <a class='inline-chat-link' href='/config'>settings page</a>.</div>";
document.getElementById("query").setAttribute("disabled", "disabled");
document.getElementById("query").setAttribute("placeholder", "Configure Khoj to enable search");
return [];
}
document.getElementById("type").innerHTML = document.getElementById("type").innerHTML =
enabled_types enabled_types
.map(type => `<option value="${type}">${type.slice(0,1).toUpperCase() + type.slice(1)}</option>`) .map(type => `<option value="${type}">${type.slice(0,1).toUpperCase() + type.slice(1)}</option>`)
@@ -407,6 +415,7 @@
border-radius: 50%; border-radius: 50%;
} }
div#results-error,
div.results-markdown, div.results-markdown,
div.results-org, div.results-org,
div.results-pdf { div.results-pdf {
@@ -418,6 +427,10 @@
border: 4px solid rgb(229, 229, 229); border: 4px solid rgb(229, 229, 229);
} }
div#results-error {
box-shadow: 2px 2px 2px #FF5722;
}
img { img {
max-width: 90%; max-width: 90%;
} }
@@ -481,8 +494,7 @@
</style> </style>
<script> <script>
var khojBannerSubmit = document.getElementById("khoj-banner-submit"); var khojBannerSubmit = document.getElementById("khoj-banner-submit");
khojBannerSubmit?.addEventListener("click", function(event) {
khojBannerSubmit.addEventListener("click", function(event) {
event.preventDefault(); event.preventDefault();
var email = document.getElementById("khoj-banner-email").value; var email = document.getElementById("khoj-banner-email").value;
fetch("https://lantern.khoj.dev/beta/users/", { fetch("https://lantern.khoj.dev/beta/users/", {

View File

@@ -408,7 +408,7 @@ async def chat(
or state.processor_config.conversation.openai_api_key is None or state.processor_config.conversation.openai_api_key is None
): ):
raise HTTPException( raise HTTPException(
status_code=500, detail="Chat processor not configured. Configure OpenAI API key on server and restart it." status_code=500, detail="Set your OpenAI API key via Khoj settings and restart it to use Khoj Chat."
) )
# Load Conversation History # Load Conversation History