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 지원도 제공됩니다.
시작 방법
- App Store 또는 Google Play에서 설치 (README에 링크 있음).
- 앱 열기 → 메뉴 ☰ → Models → 기기의 RAM/저장공간에 맞는 모델 선택 후 Download 탭 (또는 Hugging Face에서 추가).
- Load 탭 후 Chat 화면에서 대화 시작.
개발자 중심 정보
- 스택 – React‑Native(v0.82.1) + TypeScript, UI는 React‑Native‑Paper, 상태 관리는 MobX, 지속성은 WatermelonDB. 네이티브 브리지로 JavaScript와 다음을 연결:
llama.rn(llama.cppGGUF 추론용 JSI 바인딩)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 파일을 추가할 수 있습니다. - 빌드 지침 –
PR 제출 전에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 androidyarn lint && yarn typecheck && yarn test를 실행하세요. - 품질 보증 – ESLint, TypeScript 타입 체크, Jest 테스트, 로케일 검증, Husky를 통한 Conventional‑Commit 강제.
커뮤니티 및 지원
- 논의, 버그 보고, 기능 요청은 GitHub Discussions 및 Issues에서 진행됩니다.
- 번역은 Weblate에서 조율됩니다.
- GitHub Sponsors를 통한 후원은 앱의 광고 없는 상태를 유지하는 데 도움이 됩니다.
라이선스 – MIT (LICENSE 참조).
결론 – PocketPal AI는 완전히 오프라인이고 개인정보를 최우선으로 하는 모바일 AI 어시스턴트로, 이미 소유하고 있는 스마트폰에 실제 LLM 추론과 신경망 음성 합성을 제공하며, 개발자들이 기기 내 에이전트, 도구 사용, 사용자 정의 캐릭터를 실험할 수 있는 깔끔하고 확장 가능한 코드베이스를 제공합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- Dispatch