CLI 레퍼런스
Ollaya는 단일 바이너리입니다. CLI, 서버, 모델 러너가 모두 그 안에 있습니다. Ollama를 써 봤다면 명령이 익숙하게 느껴질 것입니다.
| 명령 | 하는 일 |
|---|---|
ollaya serve |
127.0.0.1:11435에서 서버를 시작합니다 |
ollaya run MODEL [STATE] |
상태에 대한 질문에 답하거나 프롬프트를 엽니다. 필요하면 모델을 받아 로드합니다 |
ollaya pull MODEL |
레지스트리에서 모델을 내려받습니다 |
ollaya list (ls) |
이 머신의 모델을 나열합니다 |
ollaya ps |
메모리에 로드된 모델을 나열합니다 |
ollaya show MODEL |
모델의 세부 정보, 기능, 라이선스를 표시합니다 |
ollaya stop MODEL |
실행 중인 모델을 언로드합니다 |
ollaya stop |
CLI가 시작한 서버를 중지합니다 |
ollaya mcp [--http [ADDR]] |
MCP를 통해 AI 에이전트에 모델을 제공합니다 (Agents) |
ollaya rm MODEL… |
하나 이상의 모델을 제거합니다 |
ollaya cp SOURCE DESTINATION |
모델을 새 이름으로 복사합니다 |
ollaya create NAME [-f Modelfile] |
Modelfile에서 모델을 만듭니다 |
ollaya update [--check] |
이 버전 위에 최신 릴리스를 설치합니다 |
ollaya -v |
서버(와 클라이언트)의 버전을 출력합니다 |
serve와 update를 제외한 모든 명령은 OLLAYA_HOST의 서버와 통신합니다. 거기서 아무것도 응답하지 않고 주소가 로컬이면, CLI는(모델 없는 ollaya stop을 제외하고) ollaya serve를 백그라운드에서 시작하고 ~/.ollaya/logs/server.log(또는 OLLAYA_LOG_DIR의 server.log)에 기록합니다.
모델 이름
모델은 name:tag로 참조합니다. tag가 없으면 latest를 씁니다. 이름은 대소문자를 구분하지 않습니다.
ollaya run laya # same as laya:latest, a router
ollaya run laya:multilingual
ollaya pull laya:en-fp32
laya:en 같은 모델은 하나의 가중치 파일을 공유하는 fp16 그래프와 fp32 그래프를 가집니다. 정밀도는 모델을 로드할 때 선택합니다. CUDA GPU에서는 fp16, CPU에서는 fp32입니다. -fp16과 -fp32 tag가 그중 하나를 고정합니다.
ollaya run
ollaya run laya --preset triage "Your app crashed during checkout and I was charged twice. Please refund one of the charges."
run은 서버에 연결하고(필요하면 시작하고), 모델이 이 머신에 없으면 받아서 로드하고, 질문마다 한 줄을 출력합니다. 답, 막대, 그 확률입니다.
| 플래그 | 효과 |
|---|---|
--preset NAME |
프리셋을 씁니다. 내장(triage, email, guard, moderation, router, agent)이거나 ollaya preset create로 저장한 것입니다 |
--questions FILE|@FILE|JSON |
이 질문들(질문 id → 질문)을 써서 모델 자체의 것을 덮어씁니다. 파일 경로, @file(stdin이면 @-), 또는 {로 시작하는 인라인 JSON입니다 |
--format text|json |
text(기본)는 표를 출력하고, json은 /api/decide 응답 전체를 출력합니다 |
--keepalive DURATION |
이후 모델을 로드한 채로 두는 시간: 5m, 1h, 0(지금 언로드), -1(로드한 채로 유지) |
--verbose |
각 선택지의 확률, 라우팅 결정, 소요 시간도 출력합니다 |
--state-json |
상태를 JSON으로 파싱합니다. JSON 객체나 배열처럼 보이는 상태는 어차피 감지됩니다 |
--image FILE |
판단할 PNG 이미지로, 비전 모델(decider:2b-vision)용입니다. REPL에서도 모든 상태에 함께 갑니다 |
질문의 출처는 먼저 일치하는 것이 이깁니다. --questions, 그다음 --preset, 그다음 모델에 내장된 질문(qwen3guard의 것, 또는 Modelfile로 추가한 것), 마지막으로 triage 프리셋입니다. run이 triage로 폴백하면 그 사실을 stderr에 알립니다.
--questions는 curl -d처럼 명령줄에서 JSON을 바로 받습니다. {로 시작하는 값은 인라인 JSON이고, 그 밖의 것은 파일 경로입니다. @file은 항상 파일이고(파일 이름이 {로 시작할 때 편리합니다), @-는 stdin에서 질문을 읽으며, 이때 상태는 명령줄에 둡니다.
ollaya run winnow:e4b --questions '{"topic":{"type":"choice","criteria":["billing","access","other"]}}' "..."
ollaya run winnow:e4b --questions @questions.json "..."
cat questions.json | ollaya run winnow:e4b --questions @- "..."
상태는 명령줄의 나머지입니다. 상태가 없으면 run은 파이프된 stdin을 읽습니다.
cat ticket.txt | ollaya run laya --preset triage
상태 없이 터미널에서 실행하면 run은 프롬프트를 엽니다. 상태를 입력하고 Enter를 누릅니다. 여러 줄은 """로 감쌉니다. 명령:
| 명령 | 효과 |
|---|---|
/preset NAME |
내장 질문 세트로 전환합니다 |
/set questions FILE |
JSON 파일의 질문을 씁니다 |
/show |
모델과 현재 질문을 표시합니다 |
/clear |
화면을 지웁니다 |
/bye |
종료합니다(또는 Ctrl+D) |
/?, /help |
도움말 |
ollaya serve
CLI와 애플리케이션이 통신하는 서버를 시작합니다. 네이티브 API(/api/*)와 TypeSafe 호환 API(/v1/*)를 제공합니다. API 레퍼런스를 참고하십시오. Linux 설치 프로그램은 이를 ollaya systemd 서비스로 실행합니다.
ollaya serve
이것이 필요할 일은 드뭅니다. 서버가 실행 중이 아니면 다른 명령이 백그라운드에서 시작합니다. OLLAYA_HOST에 이미 서버가 실행 중이면 ollaya serve는 그 사실을 알리고 종료합니다. 서버를 포그라운드에서 실행하려면 먼저 ollaya stop으로 그 서버를 중지하십시오.
환경 변수로 설정합니다.
| 변수 | 기본값 | 효과 |
|---|---|---|
OLLAYA_HOST |
127.0.0.1:11435 |
바인딩할 주소. CLI의 대상 |
OLLAYA_MODELS |
~/.ollaya/models |
모델 저장소 |
OLLAYA_KEEP_ALIVE |
5m |
마지막 요청 후 모델을 로드한 채로 두는 시간 |
OLLAYA_MAX_LOADED_MODELS |
3 |
동시에 로드한 채로 두는 모델 수 |
OLLAYA_MAX_QUEUE |
512 |
503 QUEUE_FULL이 되기 전 처리 중인 결정 요청 수 |
OLLAYA_LOAD_TIMEOUT |
5m |
모델 로드에 걸릴 수 있는 시간 |
OLLAYA_DEVICE |
auto |
auto(설치 프로그램이 CUDA 라이브러리를 추가했으면 NVIDIA GPU, 아니면 CPU), cpu, cuda, cuda:<n> |
OLLAYA_API_KEY |
미설정 | Authorization: Bearer <key>를 요구합니다. CLI도 이를 보냅니다 |
OLLAYA_ORIGINS |
미설정 | 추가로 허용할 브라우저 오리진. 쉼표로 구분 |
OLLAYA_REGISTRY |
ollaya.dev |
모델 이름의 기본 레지스트리 호스트 |
OLLAYA_LOG |
info |
로그 수준. debug는 모든 요청을 상태와 지속 시간과 함께 기록합니다 |
OLLAYA_LOG_DIR |
미설정 | stderr 대신 <dir>/server.log에 기록합니다(없으면 생성. 덧붙이기만 하고 회전하지 않음) |
systemd 서비스라면 sudo systemctl edit ollaya와 Environment= 줄로 바꿉니다.
ollaya pull
모델을 내려받고 모든 레이어를 sha256으로 검증합니다. 라우터를 받으면 그것이 라우팅하는 모든 모델도 받습니다. 이 머신에 필요한 레이어만 내려받고, 중단된 다운로드는 이어받습니다.
ollaya pull laya
ollaya list와 ollaya ps
list는 이 머신의 모델을 ID, 크기, 받은 시각과 함께 보여줍니다. ps는 로드된 모델, 실행되는 장치(cpu, cuda:0), 정밀도, 언로드될 시각을 보여줍니다.
NAME ID SIZE MODIFIED
laya:latest b87ca1631b11 11 KB 13 seconds ago
laya:multilingual ba7a334675b4 684 MB 13 seconds ago
laya:en bf30e4654e94 854 MB 30 seconds ago
ollaya show
모델의 아키텍처, 파라미터, 컨텍스트 길이, 정밀도, 언어, 기능, 라이선스를 출력합니다. 라우터라면 라우트를 출력합니다.
| 플래그 | 출력 내용 |
|---|---|
--questions |
모델에 내장된 질문 |
--license |
라이선스 |
--modelfile |
모델을 다시 만드는 Modelfile |
--parameters |
파라미터(고정한 정밀도 등) |
ollaya stop
ollaya stop MODEL은 실행 중인 모델을, 처리 중인 요청이 끝나는 대로 언로드합니다. keep-alive가 다 될 때까지 기다리지 않습니다.
모델 없는 ollaya stop은 OLLAYA_HOST의 서버를 중지하고, 그러면 모든 모델이 언로드됩니다. 중지하는 것은 당신이 ollaya serve로, 또는 다른 명령을 실행해 시작한 서버뿐입니다. Linux systemd 서비스처럼 다른 사용자의 서버는 절대 중지하지 않습니다. 그것은 sudo systemctl stop ollaya로 중지합니다.
ollaya rm과 ollaya cp
ollaya cp laya:en my-guardrail
ollaya rm my-guardrail
rm은 다른 어떤 모델도 쓰지 않는 blob도 삭제합니다. 라우터를 제거해도 그것이 라우팅하는 모델은 남습니다. cp는 이미 있는 대상을 덮어씁니다.
ollaya preset
프리셋은 어떤 모델에서든 재사용할 수 있는 이름 붙은 질문 세트입니다. ollaya run MODEL --preset NAME, 또는 /api/decide에서 "preset": "NAME"입니다. 여섯 개가 내장되어 있습니다. 직접 만든 것은 이렇게 저장합니다.
ollaya preset create billing-check --questions billing.json --description "Billing, and how upset the customer is"
ollaya run winnow:e4b --preset billing-check "I was charged twice this month."
| 명령 | 효과 |
|---|---|
ollaya preset list |
내장 및 사용자 정의 프리셋을 질문 id와 함께 |
ollaya preset show NAME |
프리셋의 질문을 JSON으로 |
ollaya preset create NAME --questions FILE|@FILE|JSON [--description TEXT] |
사용자 정의 프리셋을 저장하고 같은 이름의 것을 대체합니다. --questions는 ollaya run과 같은 형식을 받습니다 |
ollaya preset rm NAME... |
사용자 정의 프리셋을 삭제합니다. 내장 프리셋은 삭제할 수 없습니다 |
이름은 소문자, 숫자, -, _입니다. 사용자 정의 프리셋은 서버가 저장하므로(모델 옆의 presets/에), CLI, API, MCP 서버가 모두 그것을 봅니다. 프리셋은 Modelfile의 QUESTIONS로 만든 모델과 다릅니다. 하나의 모델에 묶이지 않고, 아무것도 복사하지 않습니다.
ollaya update
이 버전 위에 최신 릴리스를 설치합니다. 설치 스크립트를 같은 접두사에 다시 실행하므로 모델, 프리셋, systemd 서비스는 그대로입니다.
ollaya update --check # only say whether a newer release exists
ollaya update
데스크톱 앱에 딸려 온 바이너리(macOS 앱, Windows 설치 프로그램, AppImage, 또는 .deb와 .rpm 패키지)는 새 앱을 설치해 업데이트하고, 컨테이너는 새 이미지를 받아 업데이트합니다. ollaya update는 그것을 바꾸지 않고 그 사실을 알립니다.
ollaya create
Modelfile에서 모델을 빌드합니다. 예를 들어 질문 세트, 재적합한 캘리브레이션, 고정한 정밀도를 구워 넣기 위해서입니다. -f의 기본값은 ./Modelfile입니다.
ollaya create triage -f Modelfile