Refactor API calls for web search context and message regeneration

This commit is contained in:
2026-05-06 03:48:38 +02:00
parent 4408a01126
commit 34da4bd6c5

View File

@@ -578,25 +578,21 @@ async function regenerateFromIndex(index, overrideUserText = null) {
historyForSearch[historyForSearch.length - 1] = { role: 'user', content: promptText } historyForSearch[historyForSearch.length - 1] = { role: 'user', content: promptText }
} }
const resp = await fetch(`${backendApiUrl}/websearch`, { const searchContext = await fetchWebSearchContext({
method: 'POST', apiBase: backendApiUrl,
headers: { 'Content-Type': 'application/json' }, engines: searxEngines,
signal: requestController.signal, historyLimit: 8,
body: JSON.stringify({
prompt: promptText,
model,
messages: historyForSearch, messages: historyForSearch,
history_limit: 8, model,
searx_url: searxUrl || null, prompt: promptText,
engines: Array.isArray(searxEngines) ? searxEngines : null, searxUrl,
signal: requestController.signal,
}) })
}) if (searchContext.contextBlock) {
const data = await resp.json() contextBlocks.push(searchContext.contextBlock)
if (data && typeof data.context_block === 'string' && data.context_block.trim()) {
contextBlocks.push(data.context_block.trim())
} }
if (Array.isArray(data?.sources)) { if (Array.isArray(searchContext.sources)) {
citationSources.push(...data.sources) citationSources.push(...searchContext.sources)
} }
} catch (error) { } catch (error) {
if (isAbortError(error)) throw error if (isAbortError(error)) throw error
@@ -623,19 +619,17 @@ async function regenerateFromIndex(index, overrideUserText = null) {
) )
try { try {
const res = await fetch(`${backendApiUrl}/sessions/${sessionId}/regenerate`, { const res = await postRegenerateMessage({
method: 'POST', apiBase: backendApiUrl,
headers: { 'Content-Type': 'application/json' }, enrichedMessage: enrichedPrompt,
signal: requestController.signal,
body: JSON.stringify({
index, index,
model, model,
stream: true, sessionId,
enriched_message: enrichedPrompt, signal: requestController.signal,
sources: citationSources || [], sources: citationSources || [],
vision_model: visionModel || null, stream: true,
transcription_model: transcriptionModel || null, transcriptionModel,
}) visionModel,
}) })
if (!res.ok) throw new Error(await readBackendErrorText(res)) if (!res.ok) throw new Error(await readBackendErrorText(res))
@@ -679,19 +673,17 @@ async function regenerateFromIndex(index, overrideUserText = null) {
return return
} }
} else { } else {
const res = await fetch(`${backendApiUrl}/sessions/${sessionId}/regenerate`, { const res = await postRegenerateMessage({
method: 'POST', apiBase: backendApiUrl,
headers: { 'Content-Type': 'application/json' }, enrichedMessage: enrichedPrompt,
signal: requestController.signal,
body: JSON.stringify({
index, index,
model, model,
stream: false, sessionId,
enriched_message: enrichedPrompt, signal: requestController.signal,
sources: citationSources || [], sources: citationSources || [],
vision_model: visionModel || null, stream: false,
transcription_model: transcriptionModel || null, transcriptionModel,
}) visionModel,
}) })
if (!res.ok) throw new Error(await readBackendErrorText(res)) if (!res.ok) throw new Error(await readBackendErrorText(res))