Ollama Python 라이브러리 0.4 릴리스 노트

Ollama Python 라이브러리 0.4는 개발자가 LLM에 직접 Python 함수를 도구로 제공할 수 있게 해주며, 수동으로 JSON 스키마를 정의할 필요가 없게 되었습니다. 이 업데이트는 수학 연산이나 API 요청과 같은 외부 기능을 모델 워크플로우에 간편하게 통합할 수 있도록 합니다.

Python 함수를 직접 도구로 통합하기

개발자는 이제 ollama.chat 메서드의 tools 필드에 실제 Python 함수 참조를 전달할 수 있습니다. 이를 통해 모델은 사용자의 프롬프트에 따라 특정 함수의 실행을 요청할 수 있습니다.

구현 워크플로우

함수를 도구로 통합하는 과정은 세 단계로 이루어집니다:

  1. 함수 정의: 일반적인 Python 함수를 정의합니다. 모델 성능을 최적화하기 위해 개발자는 매개변수 및 반환값의 타입을 주석 처리하고 Google 스타일의 docstring을 포함하여 모델이 필요한 맥락을 제공해야 합니다.
  2. 도구 전달: ollama.chat를 호출할 때 함수 참조를 tools 목록에 포함합니다.
  3. 실행: response.message.tool_calls를 반복하여 요청된 함수를 식별하고, 모델이 제공한 인수를 사용하여 실행합니다.

외부 라이브러리 지원

이 기능은 기존 Python 라이브러리 및 SDK에도 확장됩니다. 예를 들어, requests 라이브러리의 request 함수를 도구로 전달할 수 있으며, 모델이 외부 웹 콘텐츠를 가져오기 위해 HTTP 요청을 트리거할 수 있습니다.

자동 JSON 스키마 생성

Ollama Python 라이브러리 0.4는 모델이 필요로 하는 도구 정의를 자동으로 생성합니다. 이전에는 이러한 JSON 스키마를 수동으로 제공해야 했습니다.

이제 라이브러리는 Pydanticdocstring 파싱을 활용하여 Python 함수의 시그니처와 문서화에서 자동으로 JSON 스키마를 생성합니다. 이 과정은 함수 이름, 설명, 매개변수 타입(예: Python int를 JSON integer로 매핑)을 추출하여 LLM용 유효한 도구 정의를 생성합니다.

라이브러리 추가 개선 사항

함수 호출 개선 외에도 0.4 릴리스는 다음과 같은 업데이트를 포함합니다:

  • 완전한 타이핑 지원: 라이브러리는 이제 포괄적인 타이핑 지원을 제공하여 기존 기능과의 호환성을 유지하면서 직접 객체에 접근할 수 있게 합니다.
  • 업데이트된 예제: 공식 Ollama Python GitHub 저장소에서 새로운 및 업데이트된 구현 예제를 확인할 수 있습니다.

Sources

관련

  • Dispatch
  • Dispatch
  • 프로젝트
  • Dispatch
  • Dispatch