a-ghorbani/pocketpal-ai

An app that brings language models directly to your phone.

PocketPal AI – 온디바이스 AI 채팅 어시스턴트

개요 – PocketPal AI는 무료 오픈소스 모바일 앱(iOS 및 Android)으로, 대규모 언어 모델과 대화하고, 음성을 듣고, 간단한 도구(계산기, 날짜-시간, HTML 렌더링)를 제공할 수 있습니다. 모든 것이 휴대전화를 떠나지 않고 실행됩니다. 앱은 GGUF 형식 모델을 Hugging Face에서 한 번 다운로드한 후, 휴대전화의 CPU, GPU(Metal/OpenCL) 또는 NPU(Qualcomm Hexagon)를 사용하여 로컬에서 추론을 실행합니다. 클라우드 계정, 구독이 필요 없으며, 벤치마크 결과나 피드백을 명시적으로 공유하지 않는 한 모든 것이 비공개로 유지됩니다.


핵심 기능

기능 제공 내용
온디바이스 채팅 인기 있는 LLM(Gemma, Qwen, Phi, Llama 등)을 GGUF 형식으로 오프라인 실행.
신경 TTS 온디바이스 텍스트 음성 변환(Kokoro 및 기타 ONNX 모델) – 인터넷 호출 없음.
Pals 및 PalsHub 맞춤형 프롬프트, 개성, 롤플레이 설정을 갖춘 개인화된 '어시스턴트' 생성 또는 다운로드.
도구 사용(Talents) 모델은 도구 사용 루프를 통해 내장 도구(계산기, 날짜-시간, HTML 렌더러)를 호출할 수 있습니다.
하드웨어 가속 추론은 CPU, GPU(iOS의 Metal, Android의 OpenCL) 또는 NPU를 사용할 수 있으며, 앱은 자동으로 폴백합니다.
벤치마크 및 리더보드 초당 토큰 수와 메모리 사용량을 측정. 선택적으로 결과를 공개 AI-Phone 리더보드에 제출.
현지화 UI는 11개 언어 지원. iPad 완전 지원.
오픈소스 및 무료 MIT 라이선스, 숨겨진 '프로' 티어 없음.

작동 방식(높은 수준)

  1. UI 레이어 – React Native 앱(React Native Paper, MobX 상태, WatermelonDB 채팅 기록). AgentRunner가 모델 토큰을 스트리밍하고 모델이 요청할 때 Talents를 디스패치합니다.
  2. 브리징 레이어 – 네이티브 모듈이 llama.cpp 추론(llama.rn) 및 ONNX-Runtime TTS를 JavaScript에 노출합니다.
  3. 엔진 레이어 – llama.cpp가 양자화된 GGUF LLM을 실행. ONNX Runtime이 신경 TTS 모델을 실행.
  4. 하드웨어 레이어 – 계산은 기기의 CPU, GPU(Metal/OpenCL) 또는 NPU(Qualcomm Hexagon)에서 실행되며 자동 폴백이 있습니다.

사용자 시작하기

  1. App Store 또는 Google Play에서 설치합니다.
  2. 앱 열기 → 메뉴 ☰ → 모델 → 기기 메모리에 맞는 모델을 선택하고 다운로드합니다(또는 개인 토큰으로 Hugging Face에서 추가).
  3. 모델을 로드하고 채팅을 시작합니다. 음성 출력을 활성화하거나, Pals를 전환하거나, 벤치마크 화면을 실행할 수 있습니다.

개발자 시작하기

  • 사전 요구 사항 – Node 22(.nvmrc 사용), Yarn 1, Xcode + CocoaPods(iOS) 또는 Android Studio(Android). 저장소는 표준 React-Native 레이아웃을 따릅니다.
  • 빌드 – git clone … && nvm use && yarn install && (cd ios && pod install) 그런 다음 yarn ios 또는 yarn android.
  • 코드 구조 –
    • src/screens – UI 페이지(채팅, 모델, Pals, 벤치마크, 설정).
    • src/services/agent – AgentRunner가 채팅-도구 루프를 구현.
    • src/services/talents – 내장 도구. TalentEngine을 구현하고 등록하여 추가.
    • src/services/tts – TTS 엔진. 추가 ONNX 모델로 확장 가능.
    • src/store – 모델, 채팅 세션, 설정 등을 위한 MobX 스토어.
  • 품질 게이트 – yarn lint, yarn typecheck, yarn test는 PR 전에 통과해야 합니다.
  • 확장 – 새 Talents, TTS 엔진 또는 로케일(src/locales의 JSON 파일)을 추가합니다.

누가 혜택을 받을 수 있나요?

  • 개인정보 보호에 민감한 사용자 – 데이터를 업로드하지 않는 대화형 AI를 원하는 분.
  • 여행자 / 현장 작업자 – 비행기나 원격지에서 오프라인 AI가 필요한 분.
  • 개발자 – 온디바이스 LLM 추론, 하드웨어 가속 또는 맞춤형 AI 어시스턴트 구축에 관심이 있는 분.

라이선스 및 커뮤니티

  • 라이선스 – MIT.
  • 지원 – GitHub Discussions, Issues, 웹사이트 pocketpal.dev, 선택적 GitHub Sponsors 후원.
  • 감사의 말 – llama.cpp, llama.rn, ONNX Runtime, React-Native, MobX, WatermelonDB 및 기타 많은 오픈소스 라이브러리를 기반으로 합니다.

결론 – PocketPal AI는 최신 양자화 LLM이 스마트폰에서 완전히 오프라인으로 실행될 수 있음을 보여주며, 반복 비용 없이 개인적이고 확장 가능한 AI 어시스턴트를 제공합니다.

관련

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