thinking-levels.ts 829 B

123456789101112131415161718192021222324252627282930313233343536
  1. import ollama from 'ollama'
  2. function printHeading(text: string) {
  3. console.log(text)
  4. console.log('='.repeat(text.length))
  5. }
  6. async function main() {
  7. const messages = [{ role: 'user', content: 'What is 10 + 23?' }]
  8. // gpt-oss supports 'low', 'medium', 'high'
  9. const thinkingLevels = ['low', 'medium', 'high'] as const
  10. for (const [index, level] of thinkingLevels.entries()) {
  11. const response = await ollama.chat({
  12. model: 'gpt-oss:20b',
  13. messages,
  14. think: level,
  15. })
  16. printHeading(`Thinking (${level})`)
  17. console.log(response.message.thinking ?? '')
  18. console.log('\n')
  19. printHeading('Response')
  20. console.log(response.message.content)
  21. console.log('\n')
  22. if (index < thinkingLevels.length - 1) {
  23. console.log('-'.repeat(20))
  24. console.log('\n')
  25. }
  26. }
  27. }
  28. main()