Ollama Thinking Feature Release
Ollama는 지원되는 AI 모델의 "thinking" 프로세스를 사용자가 활성화하거나 비활성화할 수 있는 새로운 기능을 도입했습니다. 이번 업데이트는 모델이 정보를 처리하는 방식에 유성을 제공하여, 사용자가 최종 답변과 분리된 내부 추론 단계(thinking)를 확인하거나 추론 오버헤드 없이 직접적인 응답을 받을 수 있도록 합니다.
Supported Models
Ollama는 다음 모델에 대해 이 기능을 구현했습니다:
- DeepSeek R1: 전체 지원.
- Qwen 3: 전체 지원.
- 추가 모델은 thinking models 카테고리에 추가될 예정입니다.
CLI Implementation and Usage
Ollama CLI에서 thinking은 기본적으로 활성화되어 있습니다. 사용자는 특정 플래그와 명령어를 사용하여 이 동작을 제어할 수 있습니다:
Command Line Flags
- Enable Thinking:
--think플래그를 사용하십시오. - Disable Thinking:
--think=false플래그를 사용하십시오.
Interactive Sessions
활성 채팅 세션 내에서 사용자는 다음 슬래시 명령어를 사용하여 thinking을 토글할 수 있습니다:
- Enable:
/set think - Disable:
/set nothink
Scripting and Output Filtering
모델이 추론 프로세스를 수행하기는 하지만 출력 결과에 추론 텍스트가 나타나지 않기를 원하는 사용자를 위해 --hidethinking 명령어를 사용할 수 있습니다. 예시:
ollama run deepseek-r1:8b --hidethinking "is 9.9 bigger or 9.11?"
API Integration
/api/generate와 /api/chat 엔드포인트 모두 새로운 think 파라미터를 포함하도록 업데이트되었습니다. 이 파라미터는 불리언(boolean) 값(true 또는 false)을 받습니다.
think가 true로 설정되면, API 응답은 모델의 thinking 프로세스를 최종 콘텐츠와 분리합니다. 이를 통해 개발자는 GUI에서 thinking 프로세스를 애니메이션으로 표현하거나 게임 내 NPC를 위한 "thinking bubbles"를 만드는 것과 같은 사용자 정의 인터페이스를 구축할 수 있습니다.
think가 false로 설정되면, 모델은 thinking 프로세스를 건너뛰고 콘텐츠를 직접 출력합니다.
Library Support
Ollama는 새로운 thinking 파라미터를 지원하기 위해 공식 라이브러리를 업데이트했습니다:
Python Library
사용자는 chat 함수에 think=True를 전달하여 thinking을 활성화할 수 있습니다. 응답 객체는 response.message.thinking과 response.message.content 필드를 별도로 포함합니다.
JavaScript Library
Python 라이브러리와 유사하게, JavaScript 라이브러리는 chat 메서드에서 think: true 옵션을 지원합니다. 또한 스트리밍 응답을 지원하여, 개발자가 스트림 내의 chunk.message.thinking과 chunk.message.content 필드를 모니터링함으로써 모델이 thinking 상태에서 content 상태로 전환되는 시점을 감지할 수 있습니다.
Sources
- OriginalThinking
관련
- Dispatch
- Dispatch
- Dispatch
- Dispatch