PrismML-Eng/Bonsai-demo

Bonsai Demo

Bonsai‑demo란 무엇인가?

Bonsai‑demo는 PrismML이 공개한 Bonsai 2 대규모 언어 모델(LLM) 제품군을 위한 즉시 실행 가능한 로컬 데모입니다. 개인용 컴퓨터(macOS(Metal), Linux, Windows, CPU 전용)에서 2B, 4B, 9B 또는 플래그십 27B 모델을 실행하고, 웹 UI, 간단한 채팅 서버 또는 명령줄을 통해 상호작용할 수 있습니다.

주요 기능

기능 작동 방식
모델 크기 2B, 4B, 9B, 27B(기본값). 모두 3진 양자화(≈1.75비트/가중치)이며 GGUF(llama.cpp용) 및 MLX‑2‑bit(Apple Silicon용)의 두 가지 형식으로 제공됩니다.
비전 이미지, PDF 또는 스크린샷 업로드; 모델의 비전 프로젝터가 이를 처리하고 콘텐츠에 대해 질문할 수 있습니다.
도구 호출 OpenAI 스타일의 tool_calls가 지원됩니다. UI에는 사전 연결된 Hugging Face 및 DeepWiki 도구가 있는 MCP 클라이언트가 포함되며, 직접 추가할 수도 있습니다.
추론("사고") 내장된 "추론 노력" 예산을 통해 모델이 답변 전에 생각할 수 있습니다. UI에서 Off, Low, Medium, High, Max를 선택할 수 있으며, 27B 모델의 기본값은 xhigh입니다.
긴 컨텍스트 하이브리드 어텐션 백본을 통해 최대 262K 토큰의 컨텍스트를 지원합니다. 선택적 4비트 KV 캐시는 메모리를 토큰당 ~18KB로 줄입니다.
크로스 플랫폼 백엔드 GGUF 체크포인트에는 llama.cpp(Metal, CUDA, Vulkan, ROCm, CPU)를 사용하고, Apple Silicon의 2비트 체크포인트에는 MLX를 사용합니다.
에이전트 데모 사전 패키지된 "Hermes" 에이전트가 두 문장의 요약으로 3D 스케이트보드 게임을 생성하여 종단 간 도구 사용을 보여줍니다.
Open WebUI 통합 이미지 지원, 도구 호출 및 서버 측 코드 인터프리터(Jupyter, matplotlib, pandas 등)를 갖춘 선택적 ChatGPT 스타일 UI.

시작 방법(가장 빠른 경로)

  1. 복제 및 설정 실행 – git clone https://github.com/PrismML-Eng/Bonsai-demo.git && cd Bonsai-demo && ./setup.sh – 스크립트가 시스템 종속성, Python 가상 환경을 설치하고 27B PQ2_0 체크포인트(≈7.8GB)와 일치하는 llama.cpp 바이너리를 다운로드합니다.
  2. 채팅 서버 시작 – ./scripts/start_llama_server.sh(또는 PowerShell 버전). 브라우저에서 http://localhost:8080을 엽니다.
  3. 선택 사항 – 터미널에서 단일 프롬프트 실행: ./scripts/run_llama.sh -p "프랑스의 수도는?".

모델 크기 또는 백엔드 전환

  • setup.sh를 실행하기 전에 BONSAI_MODEL=4B(또는 2B/9B)로 설정합니다.
  • Apple Silicon에서는 MLX 백엔드를 사용할 수 있습니다: ./scripts/run_mlx.sh … 또는 ./scripts/start_mlx_server.sh.
  • CPU 전용 추론을 강제하려면 BONSAI_NGL=0으로 설정합니다.

가장 많이 사용할 구성 옵션

변수 기본값 일반적인 용도
BONSAI_THINKING 1(활성화) 속도를 위해 추론 끄기(0).
BONSAI_CTX 자동(RAM 계층) 컨텍스트 길이 재정의(예: BONSAI_CTX=131072).
BONSAI_KV4 0 대규모 컨텍스트를 위해 4비트 KV 캐시 활성화(1).
BONSAI_OPENWEBUI / BONSAI_CODE_INTERPRETER 1 무거운 Open WebUI 또는 코드 인터프리터 설치를 건너뛰려면 0으로 설정합니다.

시작 방법(가장 빠른 경로)

  1. 복제 및 설정 실행 – git clone https://github.com/PrismML-Eng/Bonsai-demo.git && cd Bonsai-demo && ./setup.sh – 스크립트가 시스템 종속성, Python 가상 환경을 설치하고 27B PQ2_0 체크포인트(≈7.8GB)와 일치하는 llama.cpp 바이너리를 다운로드합니다.
  2. 채팅 서버 시작 – ./scripts/start_llama_server.sh(또는 PowerShell 버전). 브라우저에서 http://localhost:8080을 엽니다.
  3. 선택 사항 – 터미널에서 단일 프롬프트 실행: ./scripts/run_llama.sh -p "프랑스의 수도는 무엇인가요?".

모델 크기 또는 백엔드 전환

  • setup.sh를 실행하기 전에 BONSAI_MODEL=4B(또는 2B/9B)를 설정합니다.
  • Apple Silicon에서는 MLX 백엔드를 사용할 수 있습니다: ./scripts/run_mlx.sh … 또는 ./scripts/start_mlx_server.sh.
  • CPU 전용 추론을 강제하려면 BONSAI_NGL=0을 설정합니다.

가장 많이 사용할 구성 옵션

변수 기본값 일반적인 용도
BONSAI_THINKING 1(활성화) 속도를 위해 추론 끄기(0).
BONSAI_CTX 자동(RAM 계층) 컨텍스트 길이 재정의(예: BONSAI_CTX=131072).
BONSAI_KV4 0 대규모 컨텍스트를 위해 4비트 KV 캐시 활성화(1).
BONSAI_OPENWEBUI / BONSAI_CODE_INTERPRETER 1 무거운 Open WebUI 또는 코드 인터프리터 설치를 건너뛰려면 0으로 설정.

저장소 내용

  • 스크립트 – 설정, llama.cpp 소스 빌드, 서버(llama.cpp 또는 MLX) 시작, 일회성 프롬프트 실행용.
  • 문서(README, BACKEND‑SUPPORT.md, MODEL‑FORMATS.md 등) – 모델 형식, 환경 변수, 벤치마킹, 비전, 도구 호출, KV 캐시 등.
  • Docker 스타일 자산 – Bonsai 로고가 있는 작은 assets 폴더.
  • 선택적 통합 – Open WebUI, Jupyter 기반 코드 인터프리터, 사전 시드된 에이전트 데모.

시작 방법(가장 빠른 경로)

  1. 클론 및 설정 실행 – git clone https://github.com/PrismML-Eng/Bonsai-demo.git && cd Bonsai-demo && ./setup.sh – 스크립트가 시스템 종속성, Python 가상 환경, 27B PQ2_0 체크포인트(≈7.8GB) 및 일치하는 llama.cpp 바이너리를 설치합니다.
  2. 채팅 서버 시작 – ./scripts/start_llama_server.sh(또는 PowerShell 버전). 브라우저에서 http://localhost:8080을 엽니다.
  3. 선택 사항 – 터미널에서 단일 프롬프트 실행: ./scripts/run_llama.sh -p "프랑스의 수도는 무엇인가요?".

모델 크기 또는 백엔드 전환

  • setup.sh를 실행하기 전에 BONSAI_MODEL=4B(또는 2B/9B)를 설정합니다.
  • Apple Silicon에서는 MLX 백엔드를 사용할 수 있습니다: ./scripts/run_mlx.sh … 또는 ./scripts/start_mlx_server.sh.
  • CPU 전용 추론을 강제하려면 BONSAI_NGL=0을 설정합니다.

가장 많이 사용할 구성 변수

변수 기본값 일반적인 용도
BONSAI_THINKING 1(활성화) 속도를 위해 추론 끄기(0).
BONSAI_CTX 자동(RAM 계층) 컨텍스트 길이 재정의(예: BONSAI_CTX=131072).
BONSAI_KV4 0 대규모 컨텍스트를 위해 4비트 KV 캐시 활성화(1).
BONSAI_OPENWEBUI / BONSAI_CODE_INTERPRETER 1 무거운 Open WebUI 또는 코드 인터프리터 설치를 건너뛰려면 0으로 설정.

저장소 내용

  • 스크립트 – 설정, llama.cpp 소스 빌드, 서버(llama.cpp 또는 MLX) 시작, 일회성 프롬프트 실행용.
  • 문서(README, BACKEND‑SUPPORT.md, MODEL‑FORMATS.md 등) – 모델 형식, 환경 변수, 벤치마킹, 비전, 도구 호출, KV 캐시 등.
  • Docker 스타일 자산 – Bonsai 로고가 포함된 작은 assets 폴더.
  • 선택적 통합 – Open WebUI, Jupyter 기반 코드 인터프리터, 사전 시드된 에이전트 데모.

시작 방법(가장 빠른 경로)

  1. 클론 및 설정 실행 – git clone https://github.com/PrismML-Eng/Bonsai-demo.git && cd Bonsai-demo && ./setup.sh – 스크립트가 시스템 종속성, Python 가상 환경을 설치하고 27B PQ2_0 체크포인트(≈7.8GB)와 일치하는 llama.cpp 바이너리를 다운로드합니다.
  2. 채팅 서버 시작 – ./scripts/start_llama_server.sh(또는 PowerShell 버전). 브라우저에서 http://localhost:8080을 엽니다.
  3. 선택 사항 – 터미널에서 단일 프롬프트 실행: ./scripts/run_llama.sh -p "프랑스의 수도는 무엇인가요?".

모델 크기 또는 백엔드 전환

  • setup.sh를 실행하기 전에 BONSAI_MODEL=4B(또는 2B/9B)를 설정합니다.
  • Apple Silicon에서는 MLX 백엔드를 사용할 수 있습니다: ./scripts/run_mlx.sh … 또는 ./scripts/start_mlx_server.sh.
  • CPU 전용 추론을 강제하려면 BONSAI_NGL=0을 설정합니다.

가장 많이 사용할 구성 옵션

변수 기본값 일반적인 용도
BONSAI_THINKING 1(활성화) 속도를 위해 추론을 끕니다(0).
BONSAI_CTX 자동(RAM 계층) 컨텍스트 길이 재정의(예: BONSAI_CTX=131072).
BONSAI_KV4 0 대규모 컨텍스트를 위해 4비트 KV 캐시 활성화(1).
BONSAI_OPENWEBUI / BONSAI_CODE_INTERPRETER 1 무거운 Open WebUI 또는 코드 인터프리터 설치를 건너뛰려면 0으로 설정합니다.

저장소 내용

  • 스크립트 – 설정, llama.cpp 소스 빌드, 서버(llama.cpp 또는 MLX) 시작, 일회성 프롬프트 실행용.
  • 문서(README, BACKEND‑SUPPORT.md, MODEL‑FORMATS.md 등) – 모델 형식, 환경 변수, 벤치마킹, 비전, 도구 호출, KV 캐시 등.
  • Docker 스타일 자산 – Bonsai 로고가 있는 작은 assets 폴더.
  • 선택적 통합 – Open WebUI, Jupyter 기반 코드 인터프리터, 사전 시드된 에이전트 데모.

대상 사용자

  • 개발자 또는 연구자 – 클라우드 추론 비용을 지불하지 않고 기기에서 27B 규모의 LLM을 실험하려는 경우.
  • 도구 개발자 – OpenAI 스타일 도구 호출과 비전을 이미 지원하는 로컬 모델을 찾는 경우.
  • 애호가 – 플러그 앤 플레이 채팅 UI(Open WebUI)와 노트북, 데스크톱 또는 Apple Silicon Mac에서 모델을 실행할 수 있는 기능을 원하는 경우.

결론: Bonsai‑demo는 PrismML의 "Bonsai 2" LLM 제품군을 비전, 도구 호출, 긴 컨텍스트, 선택적 에이전트 UI와 함께 로컬에서 실행할 수 있게 해주는 완전한 기능을 갖춘 오픈소스 데모로, 사용하기 쉬운 스크립트로 모두 오케스트레이션됩니다.

관련