feat: option to toggle auto title generation

This commit is contained in:
Timothy J. Baek 2023-11-22 13:20:41 -08:00
parent 1196fa886a
commit cfb3f307b4
3 changed files with 89 additions and 52 deletions

View file

@ -38,6 +38,7 @@
let pullProgress = null; let pullProgress = null;
// Addons // Addons
let titleAutoGenerate = true;
let speechAutoSend = false; let speechAutoSend = false;
let gravatarEmail = ''; let gravatarEmail = '';
let OPENAI_API_KEY = ''; let OPENAI_API_KEY = '';
@ -91,6 +92,11 @@
saveSettings({ speechAutoSend: speechAutoSend }); saveSettings({ speechAutoSend: speechAutoSend });
}; };
const toggleTitleAutoGenerate = async () => {
titleAutoGenerate = !titleAutoGenerate;
saveSettings({ titleAutoGenerate: titleAutoGenerate });
};
const toggleAuthHeader = async () => { const toggleAuthHeader = async () => {
authEnabled = !authEnabled; authEnabled = !authEnabled;
}; };
@ -226,6 +232,7 @@
top_k = settings.top_k ?? 40; top_k = settings.top_k ?? 40;
top_p = settings.top_p ?? 0.9; top_p = settings.top_p ?? 0.9;
titleAutoGenerate = settings.titleAutoGenerate ?? true;
speechAutoSend = settings.speechAutoSend ?? false; speechAutoSend = settings.speechAutoSend ?? false;
gravatarEmail = settings.gravatarEmail ?? ''; gravatarEmail = settings.gravatarEmail ?? '';
OPENAI_API_KEY = settings.OPENAI_API_KEY ?? ''; OPENAI_API_KEY = settings.OPENAI_API_KEY ?? '';
@ -851,6 +858,28 @@
}} }}
> >
<div class=" space-y-3"> <div class=" space-y-3">
<div>
<div class=" py-1 flex w-full justify-between">
<div class=" self-center text-sm font-medium">Title Auto Generation</div>
<button
class="p-1 px-3 text-xs flex rounded transition"
on:click={() => {
toggleTitleAutoGenerate();
}}
type="button"
>
{#if titleAutoGenerate === true}
<span class="ml-2 self-center">On</span>
{:else}
<span class="ml-2 self-center">Off</span>
{/if}
</button>
</div>
</div>
<hr class=" dark:border-gray-700" />
<div> <div>
<div class=" py-1 flex w-full justify-between"> <div class=" py-1 flex w-full justify-between">
<div class=" self-center text-sm font-medium">Voice Input Auto-Send</div> <div class=" self-center text-sm font-medium">Voice Input Auto-Send</div>

View file

@ -415,6 +415,7 @@
}; };
const generateChatTitle = async (_chatId, userPrompt) => { const generateChatTitle = async (_chatId, userPrompt) => {
if ($settings.titleAutoGenerate ?? true) {
console.log('generateChatTitle'); console.log('generateChatTitle');
const res = await fetch(`${$settings?.API_BASE_URL ?? OLLAMA_API_BASE_URL}/generate`, { const res = await fetch(`${$settings?.API_BASE_URL ?? OLLAMA_API_BASE_URL}/generate`, {
@ -445,6 +446,9 @@
if (res) { if (res) {
await setChatTitle(_chatId, res.response === '' ? 'New Chat' : res.response); await setChatTitle(_chatId, res.response === '' ? 'New Chat' : res.response);
} }
} else {
await setChatTitle(_chatId, `${userPrompt}`);
}
}; };
const setChatTitle = async (_chatId, _title) => { const setChatTitle = async (_chatId, _title) => {

View file

@ -451,6 +451,7 @@
}; };
const generateChatTitle = async (_chatId, userPrompt) => { const generateChatTitle = async (_chatId, userPrompt) => {
if ($settings.titleAutoGenerate ?? true) {
console.log('generateChatTitle'); console.log('generateChatTitle');
const res = await fetch(`${$settings?.API_BASE_URL ?? OLLAMA_API_BASE_URL}/generate`, { const res = await fetch(`${$settings?.API_BASE_URL ?? OLLAMA_API_BASE_URL}/generate`, {
@ -481,6 +482,9 @@
if (res) { if (res) {
await setChatTitle(_chatId, res.response === '' ? 'New Chat' : res.response); await setChatTitle(_chatId, res.response === '' ? 'New Chat' : res.response);
} }
} else {
await setChatTitle(_chatId, `${userPrompt}`);
}
}; };
const setChatTitle = async (_chatId, _title) => { const setChatTitle = async (_chatId, _title) => {