~/tools / 모델 파일과 채팅 템플릿 / Ollama Modelfile Generator

Ollama Modelfile Generator — Ollama Modelfile 만들기: FROM, SYSTEM, PARAMETER, MESSAGE 등

폼으로 Ollama Modelfile을 만듭니다. 기반 모델, 시스템 메시지, temperature와 num_ctx 같은 매개변수, 중지 시퀀스, 예시 메시지, 템플릿, 최소 Ollama 버전, 추가 기능, 라이선스를 지정할 수 있습니다. 값은 공식 Modelfile 레퍼런스에 맞춰 검사하고, Ollama가 그대로 다시 읽을 수 있도록 따옴표로 감쌉니다. 입력한 내용은 브라우저 밖으로 나가지 않습니다.

매개변수 (PARAMETER)

비워 둔 항목은 출력되지 않습니다. 회색 숫자는 문서에 나온 기본값입니다.

예시 메시지 (MESSAGE)

모델이 답하는 방식을 안내하는 예시 대화입니다. 빈 행은 출력되지 않습니다.

템플릿, 최소 버전, 추가 기능, 라이선스
추가 기능 (CAPABILITY)

체크한 값은 각각 CAPABILITY 줄 하나로 기록됩니다. 레퍼런스에 따르면 CAPABILITY는 상속되었거나 추론된 기능을 없애지 않고 GGUF 또는 MLX 모델에 기능을 추가하며, decision은 해당 decision 프롬프트로 학습한 가중치에만 선언해야 합니다. Ollama 0.40.11로 테스트한 결과, decision을 제외한 모든 값은 상속된 기능에 추가되었습니다. decision을 쓰면 ollama show에는 선언한 값만 표시되었습니다(completion과 tools는 더 이상 표시되지 않았습니다).

Modelfile

FROM llama3.2

PARAMETER num_ctx 4096
PARAMETER temperature 1

SYSTEM """Answer in one short sentence."""

MESSAGE user Is Toronto in Canada?
MESSAGE assistant yes

명령어

위 텍스트를 현재 디렉터리에 Modelfile이라는 이름의 파일로 저장한 뒤 다음을 실행하세요.

ollama create short-answers -f ./Modelfile
ollama run short-answers

명령어, 매개변수, 기본값은 2026-11-09에 Modelfile 레퍼런스에서 확인한 내용입니다. Ollama Modelfile 레퍼런스

모든 처리는 브라우저에서 이루어집니다. 입력한 내용은 어디로도 전송되지 않습니다.

Modelfile은 Ollama가 ollama create로 모델을 만들 때 쓰는 설계도입니다. FROM으로 기반 모델을 지정하고, 시스템 메시지, 매개변수, 예시 대화, 프롬프트 템플릿, 최소 Ollama 버전, 추가 기능, 라이선스를 추가할 수 있습니다. 형식은 단순하지만 오류를 일으키는 세부 사항이 몇 가지 있습니다. PARAMETER는 레퍼런스에 있는 이름만 받고 각 매개변수는 정수 또는 소수를 요구합니다. 중지 시퀀스는 한 줄에 하나씩 설정하며, 여러 줄에 걸친 텍스트는 큰따옴표 세 개로 감싸야 합니다. 이 도구가 파일을 대신 작성해 줍니다. 공식 Modelfile 레퍼런스에 있는 명령어와 매개변수만 보여 주고, 각 매개변수의 기본값을 입력란 옆에 표시하며, 거부될 값은 미리 알려 주고, 각 값을 Ollama의 파서가 읽는 방식에 맞게 따옴표로 감쌉니다. 출력은 Ollama 0.40.11로 테스트했습니다. 생성한 파일로 모델을 만들고 ollama show --modelfile로 다시 읽어 확인했습니다. REQUIRES와 CAPABILITY도 같은 방식으로 확인했습니다. 정한 모델 이름에 맞는 ollama create와 ollama run 명령어도 함께 제공합니다.

이 도구의 핵심 로직은 MIT 라이선스의 오픈 소스로 공개되어 있습니다. github.com/seigo5555/toolkitbox-lib/src/modelfile.ts

이럴 때 사용

  • 라이브러리 모델을 복사해 나만의 시스템 메시지와 temperature를 넣고 새 이름으로 실행하기
  • VPS에서 서비스하는 모델에 더 큰 컨텍스트 윈도우(num_ctx)나 고정 시드 설정하기
  • 모델에 답하는 방식을 보여 주는 짧은 예시 대화 추가하기

사용법

  1. FROM에 기반 모델을 입력합니다. Ollama 라이브러리의 모델(예: llama3.2), GGUF 파일 경로, 또는 Safetensors 가중치가 있는 디렉터리를 쓸 수 있습니다. 새 모델에 붙일 이름도 입력합니다.
  2. 시스템 메시지를 작성하고 바꾸려는 매개변수만 채웁니다. 비워 둔 항목은 출력되지 않으므로 기반 모델의 값이 그대로 적용됩니다. 필요하면 중지 시퀀스를 한 줄에 하나씩, 그리고 예시 메시지를 추가합니다.
  3. Modelfile 내용을 Modelfile이라는 이름의 파일로 복사한 뒤, 아래에 표시된 두 명령어를 실행합니다. ollama create가 모델을 만들고, ollama run이 모델을 시작합니다.

Modelfile 형식

Modelfile은 한 줄에 명령어 하나와 그 인자를 적는 텍스트 파일입니다. #로 시작하는 줄은 주석입니다. 공식 레퍼런스에 따르면 명령어는 대소문자를 구분하지 않으며 순서도 자유입니다. 필수인 것은 FROM뿐입니다.

값은 보통 그 줄의 끝까지입니다. 여러 줄에 걸친 값은 큰따옴표 세 개(""")로 감쌉니다. Ollama의 파서(parser/parser.go)에는 이스케이프 기능이 없으므로, 텍스트 안에서 """가 줄 끝에 오면 값이 거기서 끝납니다. 이 경우 도구는 오류를 표시합니다.

명령어

명령어역할이 도구
FROM기반 모델: 라이브러리의 모델 이름, GGUF 파일, 또는 Safetensors 가중치가 있는 디렉터리지원
PARAMETER모델을 실행할 때의 매개변수지원(레퍼런스 표에 있는 11개)
TEMPLATE모델에 전달되는 프롬프트 템플릿. Go 템플릿 문법으로 작성지원
SYSTEM템플릿에 설정되는 시스템 메시지지원
LICENSE모델의 라이선스지원
MESSAGE예시 대화. 역할은 system, user, assistant지원
REQUIRES필요한 최소 Ollama 버전지원
CAPABILITYGGUF 또는 MLX 모델에 기능을 추가지원

CAPABILITY에 대해 레퍼런스는 decision을 해당 프롬프트로 학습한 가중치에만 선언하라고 설명합니다. Ollama 0.40.11로 테스트한 결과, 다른 값은 모델의 기존 기능에 추가되었지만 decision을 쓰면 선언한 값만 표시되었습니다.

num_ctx 기본값은 공식 문서 안에서도 서로 다릅니다

입력란 옆에 회색으로 표시하는 기본값은 Modelfile 레퍼런스의 표에서 가져온 것입니다. 여기서 num_ctx(컨텍스트 길이)는 2048이지만, 같은 공식 문서의 다른 페이지에는 다른 값이 적혀 있습니다.

페이지기본 컨텍스트 길이
Modelfile 레퍼런스2048
FAQ4096 토큰
Context lengthVRAM에 따라 결정: 24 GiB 미만은 4k, 24~48 GiB는 32k, 48 GiB 이상은 256k

실제로 사용 중인 값은 모델이 로드된 동안 ollama ps를 실행해 CONTEXT 열에서 확인할 수 있습니다. 값을 고정하려면 PARAMETER num_ctx를 작성하세요.

Ollama 0.40.11에서 확인한 내용

2026년 10월 30일에 이 도구가 생성한 파일로 ollama create를 실행하고, ollama show --modelfile로 다시 읽어 확인했습니다.

  • 정수 매개변수(num_ctx 등)에 1.5 같은 소수를 쓰면 ollama create가 invalid int value로 실패합니다.
  • 소수 매개변수(temperature 등)에 문자를 쓰면 invalid float value로 실패합니다.
  • top_p 1e-1, top_p .5 같은 표기와 seed -1은 받아들여집니다.
  • """로 감싼 SYSTEM 값은 안의 큰따옴표, 줄 끝의 큰따옴표, 들여쓰기가 그대로 남습니다.
  • 큰따옴표로 감싼 stop 시퀀스는 앞뒤의 공백이 그대로 남습니다.
  • SYSTEM을 쓰지 않으면 새 모델은 기반 모델의 시스템 메시지를 그대로 유지합니다.

만든 모델 확인하기

  • ollama create <이름> -f ./Modelfile로 모델을 만듭니다.
  • ollama show --modelfile <이름>을 실행하면 Ollama가 읽은 Modelfile을 볼 수 있습니다. 쓰지 않은 설정이 기반 모델의 값을 이어받았는지도 여기서 알 수 있습니다.
  • ollama run <이름>으로 실행합니다.

출처(2026-11-09 확인): Ollama: Modelfile Reference / Ollama: FAQ / Ollama: Context length / ollama/ollama: parser/parser.go

FAQ

어떤 매개변수를 설정할 수 있나요?

공식 Modelfile 레퍼런스에 나온 num_ctx, repeat_last_n, repeat_penalty, temperature, seed, stop, num_predict, draft_num_predict, top_k, top_p, min_p입니다. 레퍼런스는 각각을 정수, 소수, 문자열 중 하나로 표시합니다. Ollama 0.40.11로 테스트했을 때, 정수 매개변수에 소수를 넣으면 invalid int value로, 소수 매개변수에 텍스트를 넣으면 invalid float value로 실패했습니다. 이 도구는 ollama create를 실행하기 전에 같은 문제를 알려 줍니다.

왜 일부 값은 큰따옴표 세 개로 감싸나요?

Modelfile에서는 값을 따옴표로 감싸지 않으면 그 줄의 끝에서 값이 끝납니다. Ollama의 파서는 큰따옴표 세 개로 시작하는 값을 줄 끝의 큰따옴표 세 개를 만날 때까지 읽으므로, 여러 줄의 텍스트는 이렇게 감싸야 합니다. 이 도구는 시스템 메시지, 템플릿, 라이선스는 항상 감싸고, 예시 메시지는 여러 줄이거나 큰따옴표로 시작하거나 앞뒤가 공백일 때 감쌉니다. 중지 시퀀스는 큰따옴표로 감싸므로 앞뒤의 공백이 유지됩니다.

텍스트에 큰따옴표 세 개를 연속으로 쓸 수 있나요?

쓸 수 없습니다. 이 형식에는 이스케이프 문자가 없어서 줄 끝의 큰따옴표 세 개가 값을 일찍 닫아 버리고, 다음 줄은 명령어로 읽히므로 ollama create가 실패합니다. 이 도구는 이를 오류로 알려 줍니다. 해당 부분을 다시 써 주세요.

비워 둔 설정은 어떻게 되나요?

출력되지 않으며, 새 모델은 기반 모델에서 물려받은 값을 그대로 유지합니다. 예를 들어 qwen2.5:7b로 SYSTEM 없이 만든 모델은 qwen2.5:7b의 시스템 메시지를 그대로 가집니다. 기반 모델이 이미 무엇을 설정하는지 보려면 기반 모델 이름으로 ollama show --modelfile을 실행하세요.

기반 모델이 실제로 있는지 확인하나요?

확인하지 않습니다. Ollama나 라이브러리에 접속하지 않습니다. FROM의 이름이나 경로가 틀렸다면 ollama create가 알려 줍니다. GGUF 경로는 절대 경로를 쓰지 않으면 Modelfile이 있는 위치를 기준으로 읽습니다.

서버로 전송되는 내용이 있나요?

없습니다. Modelfile은 브라우저 안에서 만들어집니다.

관련 도구