ollama, 도구 호출 기능(tool support) 추가

ollama의 tool support 기능 소개

Ollama는 이제 Llama 3.1과 같은 인기 모델과 함께 도구 호출을 지원합니다. 이를 통해 모델이 주어진 프롬프트에 대해 알고 있는 도구를 사용하여 더 복잡한 작업을 수행하거나 외부 세계와 상호작용할 수 있습니다. 예를 들어, 다음과 같은 도구들을 사용할 수 있습니다:

  • 함수와 API 호출(Functions and APIs)
  • 웹 브라우징 (Web browsing)
  • 코드 해석기 (Code interpreter)
  • 기타 다양한 도구들

https://github.com/user-attachments/assets/aea4d7c1-f1be-41fd-9077-023d37a9d052

도구 호출 예시

도구 호출을 활성화하려면 Ollama의 API에서 tools 필드를 통해 사용 가능한 도구 목록을 제공해야 합니다. 아래는 예시 코드입니다:

import ollama

response = ollama.chat(
    model='llama3.1',
    messages=[{'role': 'user', 'content': 'What is the weather in Toronto?'}],
    tools=[{
        'type': 'function',
        'function': {
            'name': 'get_current_weather',
            'description': 'Get the current weather for a city',
            'parameters': {
                'type': 'object',
                'properties': {
                    'city': {
                        'type': 'string',
                        'description': 'The name of the city',
                    },
                },
                'required': ['city'],
            },
        },
    }],
)
print(response['message']['tool_calls'])

도구 호출 기능을 지원하는 모델은 tool_calls 응답과 함께 도구를 사용하여 대답할 수 있습니다. 도구 응답은 tool 역할을 가진 메시지를 통해 제공될 수 있습니다. 자세한 내용은 Ollama의 API 문서를 참조하세요. 또한, Ollama의 OpenAI 호환 엔드포인트에서도 도구 호출 기능을 지원합니다.

도구 호출 기능을 지원하는 모델의 목록은 모델 페이지의 Tools 카테고리에서 확인할 수 있습니다. 현재까지 아래 모델들이 도구 호출 기능을 제공합니다:

:llama: 도구 호출 기능 공지 블로그

:package: 도구 호출 기능을 지원하는 모델 목록

:framed_picture: 도구 호출 기능 사용을 위한 예시 코드




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:kr:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:gift: 아래:arrow_lower_right:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck:

2개의 좋아요