hybridgroup/yzma

Go with your own intelligence - Write Go applications that directly integrate llama.cpp for local inference using hardware acceleration on Linux, macOS, Windows, & WebAssembly.

해결하는 문제

yzma는 Go 개발자가 C 컴파일러(CGo)나 외부 모델 서버 없이 로컬 LLM 및 비전 언어 모델(VLM) 추론을 애플리케이션에 직접 통합할 수 있는 방법을 제공합니다. 데스크톱 OS와 웹 브라우저를 포함한 다양한 플랫폼에서 고성능, 하드웨어 가속 AI 모델을 실행하는 과정을 단순화합니다.

작동 방식

이 프로젝트는 llama.cpp의 Go 래퍼로, purego 및 ffi 패키지를 사용하여 동일한 프로세스에서 llama.cpp 라이브러리를 호출합니다. 이를 통해 애플리케이션은 CGo 없이 하드웨어 가속(CUDA, Metal, Vulkan, OpenVINO 등)을 활용할 수 있습니다. 또한 TinyGo를 통해 WebAssembly(WASM)를 지원하여 CPU 또는 WebGPU를 사용하여 모델을 브라우저에서 완전히 실행할 수 있습니다.

대상 사용자

외부 종속성이나 C 기반 빌드 체인을 관리하는 복잡성 없이 여러 플랫폼(Linux, macOS, Windows, 브라우저)에서 임베디드 로컬 AI 기능(텍스트 및 비전)을 갖춘 애플리케이션을 구축하려는 Go 개발자.

주요 특징

  • CGo 없는 통합: purego 및 ffi를 사용하여 빌드 시 C 컴파일러가 필요 없습니다.
  • 광범위한 하드웨어 가속: CUDA, Metal, OpenVINO, Vulkan, HIP, ROCm, SYCL을 지원합니다.
  • 멀티모달 기능: 텍스트 기반 LLM과 비전 언어 모델(VLM)을 모두 지원합니다.
  • 브라우저 지원: TinyGo를 사용하여 WebAssembly 및 WebGPU를 통해 브라우저에서 실행됩니다.
  • 직접 프로세스 실행: 외부 서버의 필요성을 제거하여 지연 시간을 줄이고 성능을 높입니다.
  • C 라이브러리 관리: 사전 빌드된 llama.cpp 라이브러리를 다운로드하고 검증하는 CLI 도구를 포함합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • Dispatch