| 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; | |
| } | |