Ollama 도구 지원 출시
Ollama는 이제 도구 호출(tool calling)을 지원하여, 호환 가능한 모델이 함수를 실행하고, API에 액세스하며, 코드 인터프리터를 사용하여 외부 세계와 상호작용할 수 있도록 합니다. 이번 업데이트를 통해 로컬 모델은 정적인 텍스트 생성을 넘어 복잡한 실제 작업을 수행할 수 있게 되었습니다.
도구 호출 구현
Ollama는 사용자가 Ollama API의 tools 필드를 통해 사용 가능한 도구 목록을 제공할 수 있도록 함으로써 도구 호출을 구현합니다. 모델이 프롬프트에 답변하기 위해 도구가 필요하다고 판단하면, 표준 텍스트 응답 대신 tool_calls 응답을 반환합니다.
루프를 완성하기 위해, 도구의 출력은 tool 역할을 할당받은 메시지를 사용하여 모델로 다시 전송됩니다. 이 메커니즘을 통해 모델은 외부 데이터를 처리하고 사용자에게 최종적이고 근거 있는 답변을 제공할 수 있습니다.
지원되는 모델
도구 호출은 Ollama를 통해 사용할 수 있는 특정 모델 하위 집합에서 지원됩니다. 사용자는 최신 버전을 확보하기 위해 ollama pull <model>을 실행할 것을 권장합니다. 지원되는 모델은 다음과 같습니다:
- Llama 3.1
- Mistral Nemo
- Firefunction v2
- Command-R +
OpenAI API 호환성
Ollama의 OpenAI 호환 엔드포인트는 이제 도구를 지원합니다. 이를 통해 개발자는 base_url을 로컬 Ollama 인스턴스(예: http://localhost:11434/v1)로 업데이트하는 것만으로 기존의 OpenAI 기반 도구 호출 구현을 Llama 3.1과 같은 로컬 모델로 전환할 수 있습니다.
향후 로드맵
Ollama는 도구 지원에 대한 향후 개선을 위한 두 가지 주요 영역을 식별했습니다:
- Streaming Tool Calls: 이 기능은 시스템이 애플리케이션으로 도구 호출을 스트리밍하여 반환할 수 있게 하여, 여러 도구가 요청될 때 작업을 더 빠르게 시작할 수 있도록 합니다.
- Tool Choice: 이 기능은 개발자가 모델의 내부 의사 결정 과정과 관계없이 특정 도구를 사용하도록 강제할 수 있게 합니다.
Sources
- OriginalTool support
관련
- 프로젝트
- Dispatch
- Dispatch
- Dispatch
- Dispatch