Repolode
mlc-ai

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. 1

    npm으로 패키지를 설치합니다

    npm install @mlc-ai/web-llm
  2. 2

    코드에서 engine을 가져옵니다

    import { CreateMLCEngine } from "@mlc-ai/web-llm";
  3. 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 통계는 매일 갱신됩니다.

관련 프로젝트