a-ghorbani/pocketpal-ai

An app that brings language models directly to your phone.

PocketPal AI – 스마트폰에서 사용하는 개인적이고 오프라인 AI

무엇인가요 – PocketPal AI는 무료로 오픈소스인 React‑Native 모바일 앱으로, 대규모 언어 모델(LLM)과 신경망 텍스트 음성 변환을 iOS 또는 안드로이드 기기에서 완전히 로컬에서 실행할 수 있습니다. 모델을 다운로드한 후에는 계정, 클라우드 엔드포인트, 인터넷 연결이 전혀 필요하지 않습니다.

주요 기능

  • 기기 내 채팅llama.cpp 엔진(llama.rn 브리지)을 통해 GGUF 양자화 모델(Gemma, Qwen, Phi, Llama 등)을 지원합니다. 추론은 스마트폰의 CPU, GPU(Metal / OpenCL), 또는 Qualcomm Hexagon NPU에서 실행되며, 백엔드가 사용 불가능할 경우 안전하게 포알백됩니다.
  • 신경망 TTS – ONNX Runtime(Kokoro 및 기타 음성 모델)을 사용한 기기 내 음성 합성. 외부 API 호출이 필요 없습니다.
  • Pals 및 PalsHub – 사용자 정의 시스템 프롬프트와 모델 선택으로 "개성(보조자 또는 역할극)"을 만들 수 있습니다. 커뮤니티가 만든 Pals를 앱 내 마켓플레이스에서 공유하거나 구매할 수 있습니다. palshub.ai
  • 도구(Talent) 사용 – 내장된 AgentRunner를 통해 대화 중에 계산기, 날짜/시간, HTML 렌더러 등의 도구를 호출할 수 있어 간단한 에이전트 루프를 가능하게 합니다.
  • 모델 관리 – Hugging Face에서 GGUF 모델을 직접 브라우징하고 다운로드 가능(개인 토큰을 통해 게이트 모델도 지원)하며, 로컬에 저장할 수 있습니다.
  • 벤치마킹 및 랭킹 – 토큰/초 및 메모리 사용량을 측정할 수 있으며, 결과를 공개된 AI-Phone 랭킹에 제출할 수도 있습니다.
  • 로컬라이제이션 – UI는 11개 언어로 제공되며, 완전한 iPad 지원도 제공됩니다.

시작 방법

  1. App Store 또는 Google Play에서 설치 (README에 링크 있음).
  2. 앱 열기 → 메뉴 ☰ → Models → 기기의 RAM/저장공간에 맞는 모델 선택 후 Download 탭 (또는 Hugging Face에서 추가).
  3. Load 탭 후 Chat 화면에서 대화 시작.

개발자 중심 정보

  • 스택 – React‑Native(v0.82.1) + TypeScript, UI는 React‑Native‑Paper, 상태 관리는 MobX, 지속성은 WatermelonDB. 네이티브 브리지로 JavaScript와 다음을 연결:
    • llama.rn (llama.cpp GGUF 추론용 J​SI 바인딩)
    • react-native-speech + ONNX Runtime (TTS용)
  • 하드웨어 백엔드 – CPU(포알백), GPU(iOS: Metal, Android: OpenCL), NPU(Qualcomm Hexagon). 엔진은 자동으로 가장 빠른 경로를 선택합니다.
  • 앱 확장하기src/services/talents/TalentEngine을 구현하고 등록하여 새로운 Talent(도구)를 추가할 수 있습니다. src/services/tts/engines/에 새로운 TTS 엔진 또는 src/locales/에 새로운 로케일 JSON 파일을 추가할 수 있습니다.
  • 빌드 지침
    git clone https://github.com/a-ghorbani/pocketpal-ai
    cd pocketpal-ai
    nvm use               # Node 22.21.0 (.nvmrc에 고정)
    yarn install          # JS 종속성 설치
    (cd ios && pod install)   # iOS 전용
    yarn start            # Metro 번들러
    yarn ios   # 또는 yarn android
    
    PR 제출 전에 yarn lint && yarn typecheck && yarn test를 실행하세요.
  • 품질 보증 – ESLint, TypeScript 타입 체크, Jest 테스트, 로케일 검증, Husky를 통한 Conventional‑Commit 강제.

커뮤니티 및 지원

  • 논의, 버그 보고, 기능 요청은 GitHub DiscussionsIssues에서 진행됩니다.
  • 번역은 Weblate에서 조율됩니다.
  • GitHub Sponsors를 통한 후원은 앱의 광고 없는 상태를 유지하는 데 도움이 됩니다.

라이선스 – MIT (LICENSE 참조).


결론 – PocketPal AI는 완전히 오프라인이고 개인정보를 최우선으로 하는 모바일 AI 어시스턴트로, 이미 소유하고 있는 스마트폰에 실제 LLM 추론과 신경망 음성 합성을 제공하며, 개발자들이 기기 내 에이전트, 도구 사용, 사용자 정의 캐릭터를 실험할 수 있는 깔끔하고 확장 가능한 코드베이스를 제공합니다.

관련

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