|
import { transformInput } from '$lib/utils/transformInput'; |
|
import { Template } from '@huggingface/jinja'; |
|
|
|
const variations = { |
|
variation1_with_system_prompt: { |
|
description: 'Variation with system prompt', |
|
example: { |
|
messages: [ |
|
{ |
|
role: 'system', |
|
content: 'You are a helpful assistant.' |
|
}, |
|
{ |
|
role: 'user', |
|
content: 'What is the capital of France?' |
|
}, |
|
{ |
|
role: 'assistant', |
|
content: |
|
'<think>The user is asking for the capital of France. This is a factual question. I know this information.</think>The capital of France is Paris.' |
|
}, |
|
{ |
|
role: 'user', |
|
content: 'What about Chile?' |
|
} |
|
], |
|
add_generation_prompt: true |
|
} |
|
}, |
|
variation2_without_system_prompt: { |
|
description: 'Variation without system prompt', |
|
example: { |
|
messages: [ |
|
{ |
|
role: 'user', |
|
content: 'What is the capital of France?' |
|
}, |
|
{ |
|
role: 'assistant', |
|
content: |
|
'<think>The user is asking for the capital of France. This is a factual question. I know this information.</think>The capital of France is Paris.' |
|
}, |
|
{ |
|
role: 'user', |
|
content: 'What about Chile?' |
|
} |
|
], |
|
add_generation_prompt: true |
|
} |
|
} |
|
}; |
|
|
|
export function getExampleReasoning(templateStr: string): Record<string, unknown> | undefined { |
|
if (!templateStr.includes('think>')) { |
|
return; |
|
} |
|
const template = new Template(templateStr); |
|
const variationSystemPrompt = variations.variation1_with_system_prompt.example; |
|
const variationSystemPromptRendered = template.render( |
|
transformInput(variationSystemPrompt, templateStr) |
|
); |
|
if (variationSystemPromptRendered.includes('You are a helpful assistant.')) { |
|
return variations.variation1_with_system_prompt.example; |
|
} |
|
return variations.variation2_without_system_prompt.example; |
|
} |
|
|