OpenAI 호환 API를 제공하며 GPU, 브라우저, 모바일 기기에서 대규모 언어 모델을 네이티브로 실행하는 머신러닝 컴파일러 및 배포 엔진입니다.
mlc-ai/web-llm
WebGPU와 OpenAI 호환 API를 사용해 브라우저에서 LLM 추론을 전부 실행하는 TypeScript 엔진입니다.
- 스타
- 19,291
- 포크
- 1,401
- 열린 이슈
- 154
- 마지막 커밋
- 10일 전
어떤 프로젝트인가요?
WebLLM은 브라우저에서 대규모 언어 모델을 추론하는 엔진입니다. 서버를 거치지 않고 모든 추론을 클라이언트에서 실행하며, 하드웨어 가속에는 WebGPU를 사용합니다. npm 패키지(@mlc-ai/web-llm)로 배포되며 CDN에서 직접 불러올 수도 있습니다.
엔진은 OpenAI API와 동일한 채팅 완성 인터페이스를 제공하므로, 기존 OpenAI 스타일 코드를 사용해 브라우저에서 로컬로 실행되는 오픈 모델을 호출할 수 있습니다. 스트리밍 응답, JSON 모드 출력, 시드 지정 생성, 로짓 수준 제어를 지원합니다. 함수 호출은 현재 개발 중인 기능으로 안내되어 있습니다.
모델에는 MLC 형식을 사용하며, Llama 3, Phi 3, Gemma, Mistral, Qwen 등의 모델 계열을 지원합니다. 개발자는 전용 Web Worker나 Service Worker, 또는 Chrome 확장 프로그램에서 엔진을 실행할 수 있으며, Cache API, IndexedDB, OPFS 등의 브라우저 캐시 백엔드를 설정할 수 있습니다.
핵심 기능
- 01서버 없이 WebGPU 가속을 활용해 브라우저에서 LLM 추론을 실행합니다.
- 02스트리밍과 JSON 모드를 지원하는 OpenAI 호환 채팅 완성 API를 제공합니다.
- 03MLC 형식의 Llama 3, Phi 3, Gemma, Mistral, Qwen 등의 모델을 지원합니다.
- 04Web Worker, Service Worker 또는 Chrome 확장 프로그램에서 실행할 수 있습니다.
- 05다운로드한 모델 아티팩트의 무결성을 SRI 기반으로 검증할 수 있습니다.
활용 사례
- 프롬프트가 사용자 기기 밖으로 전송되지 않는 프라이버시 보호 챗봇을 구축합니다.
- OpenAI 스타일 클라이언트를 사용해 웹 앱에 로컬 AI 어시스턴트를 추가합니다.
- 언어 모델을 로컬에서 호출하는 Chrome 확장 프로그램을 개발합니다.
- 백엔드 추론 서버를 실행하지 않고 브라우저 기반 LLM 기능을 프로토타이핑합니다.
빠른 시작
- 1
npm으로 패키지를 설치합니다
npm install @mlc-ai/web-llm - 2
코드에서 engine을 가져옵니다
import { CreateMLCEngine } from "@mlc-ai/web-llm"; - 3
model ID를 사용해 engine을 생성합니다(첫 로드 시 모델이 다운로드됩니다)
const engine = await CreateMLCEngine("Llama-3.1-8B-Instruct-q4f32_1-MLC", { initProgressCallback });
사용 전 알아둘 점
- WebGPU를 지원하는 브라우저가 필요합니다.
- 처음 모델을 로드할 때 대용량 모델 파일을 다운로드하므로 시간이 오래 걸릴 수 있습니다.
토픽
자주 묻는 질문
- web-llm은(는) 무엇인가요?
- WebGPU와 OpenAI 호환 API를 사용해 브라우저에서 LLM 추론을 전부 실행하는 TypeScript 엔진입니다. WebLLM은 브라우저에서 대규모 언어 모델을 추론하는 엔진입니다. 서버를 거치지 않고 모든 추론을 클라이언트에서 실행하며, 하드웨어 가속에는 WebGPU를 사용합니다. npm 패키지(@mlc-ai/web-llm)로 배포되며 CDN에서 직접 불러올 수도 있습니다.
- web-llm은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- web-llm은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- web-llm은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. web-llm의 마지막 커밋은 2026년 10월 11일입니다.
- web-llm은(는) 어디에 사용할 수 있나요?
- 프롬프트가 사용자 기기 밖으로 전송되지 않는 프라이버시 보호 챗봇을 구축합니다. OpenAI 스타일 클라이언트를 사용해 웹 앱에 로컬 AI 어시스턴트를 추가합니다. 언어 모델을 로컬에서 호출하는 Chrome 확장 프로그램을 개발합니다. 백엔드 추론 서버를 실행하지 않고 브라우저 기반 LLM 기능을 프로토타이핑합니다.
- web-llm는 어떻게 설치하나요?
- npm으로 패키지를 설치합니다: npm install @mlc-ai/web-llm 코드에서 engine을 가져옵니다: import { CreateMLCEngine } from "@mlc-ai/web-llm"; model ID를 사용해 engine을 생성합니다(첫 로드 시 모델이 다운로드됩니다): const engine = await CreateMLCEngine("Llama-3.1-8B-Instruct-q4f32_1-MLC", { initProgressCallback });
- web-llm은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/mlc-ai/web-llm
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
GPT 트랜스포머처럼 병렬 학습도 가능한 RNN 스타일 언어 모델 아키텍처 RWKV의 공식 학습 및 레퍼런스 코드입니다.
어떤 OpenAI 호환 API와도 연결할 수 있는 SvelteKit 기반 LLM 채팅 인터페이스이자 HuggingChat의 기반 코드베이스입니다.
웹사이트, CSV/Hugging Face 데이터셋, CLI 및 MCP 서버 연동을 제공하는 커뮤니티 큐레이션 오픈소스 AI 채팅 모델 프롬프트 라이브러리입니다.
Jan은 LLM을 로컬에서 다운로드하고 실행할 수 있는 오픈소스 데스크톱 앱으로, ChatGPT와 비슷한 인터페이스를 제공하며 선택적으로 클라우드 모델에 연결할 수 있습니다.
대규모 모델의 분산 학습과 추론을 더 쉽고 효율적으로 지원하는 딥러닝 최적화 라이브러리입니다.