Task model infrastructure for cheap LLM calls (auto-naming, search rewrite, tags, summaries) via a dedicated llama-server instance at TASK_MODEL_URL, falling back to LLAMA_SWAP_URL with FAST_MODEL when unset. Replaces the inline fetch in auto_name.ts with taskModelCompletion. Adds search query rewriting: on step 0 when web tools are enabled, the user's message is summarized into a search intent hint appended to the system prompt, improving web_search relevance. Schema: tasks table for provider dispatch and arena, sessions.tags column. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
20 lines
643 B
TypeScript
20 lines
643 B
TypeScript
import { taskModelCompletion } from './task-model.js';
|
|
|
|
const SYSTEM_PROMPT =
|
|
'You rewrite user messages into concise web search queries. Reply with ONLY the search query. 3 to 6 words. No quotes, no explanation.';
|
|
|
|
const MAX_INPUT_CHARS = 500;
|
|
const FALLBACK_CHARS = 60;
|
|
|
|
export async function rewriteSearchQuery(userMessage: string): Promise<string> {
|
|
const input = userMessage.slice(0, MAX_INPUT_CHARS);
|
|
const result = await taskModelCompletion({
|
|
system: SYSTEM_PROMPT,
|
|
user: input,
|
|
maxTokens: 20,
|
|
temperature: 0.2,
|
|
});
|
|
if (result.length > 0) return result;
|
|
return userMessage.slice(0, FALLBACK_CHARS).trim();
|
|
}
|