내용으로 건너뛰기

시작하기

터미널 창
bun add @capgo/capacitor-llm
bunx cap sync
import { CapgoLLM } from '@capgo/capacitor-llm';

새로운 채팅 세션을 생성합니다.

import { CapgoLLM } from '@capgo/capacitor-llm';
await CapgoLLM.createChat();

특정 채팅 세션에서 AI에게 메시지를 전송합니다.

import { CapgoLLM } from '@capgo/capacitor-llm';
await CapgoLLM.sendMessage({} as { chatId: string; message: string });

LLM의 준비 상태를 가져옵니다.

import { CapgoLLM } from '@capgo/capacitor-llm';
await CapgoLLM.getReadiness();

모델 구성 설정

  • iOS: 시스템 모델을 위한 "Apple Intelligence" 경로를 사용하거나 MediaPipe 모델 경로를 제공합니다.
  • Android: MediaPipe 모델 파일 경로 (자산 또는 파일 디렉토리)
import { CapgoLLM } from '@capgo/capacitor-llm';
await CapgoLLM.setModel({} as ModelOptions);

URL에서 모델을 다운로드하고 적절한 위치에 저장합니다.

  • iOS: 앱의 문서 디렉토리에 다운로드
  • Android: 앱의 파일 디렉토리에 다운로드
import { CapgoLLM } from '@capgo/capacitor-llm';
await CapgoLLM.downloadModel({} as DownloadModelOptions);

모델 구성 옵션.

export interface ModelOptions {
/** Model path or "Apple Intelligence" for iOS system model */
path: string;
/** Model file type/extension (e.g., "task", "bin", "litertlm"). If not provided, will be extracted from path. */
modelType?: string;
/** Maximum number of tokens the model handles */
maxTokens?: number;
/** Number of tokens the model considers at each step */
topk?: number;
/** Amount of randomness in generation (0.0-1.0) */
temperature?: number;
/** Random seed for generation */
randomSeed?: number;
}

DownloadModelOptions

다운로드 모델 옵션

다운로드 모델을 위한 옵션.

export interface DownloadModelOptions {
/** URL of the model file to download */
url: string;
/** Optional: URL of companion file (e.g., .litertlm for Android) */
companionUrl?: string;
/** Optional: Custom filename (defaults to filename from URL) */
filename?: string;
}

DownloadModelResult

다운로드 모델 결과

다운로드 모델 결과.

export interface DownloadModelResult {
/** Path where the model was saved */
path: string;
/** Path where the companion file was saved (if applicable) */
companionPath?: string;
}

복사

export interface TextFromAiEvent {
/** The text content from AI - this is an incremental chunk, not the full text */
text: string;
/** The chat session ID */
chatId: string;
/** Whether this is a complete chunk (true) or partial streaming data (false) */
isChunk?: boolean;
}

AiFinishedEvent

복사

AI 완료 이벤트 데이터.

export interface AiFinishedEvent {
/** The chat session ID that finished */
chatId: string;
}

DownloadProgressEvent

다운로드 진행 이벤트

다운로드 진행 이벤트 데이터.

export interface DownloadProgressEvent {
/** Percentage of download completed (0-100) */
progress: number;
/** Total bytes to download */
totalBytes?: number;
/** Bytes downloaded so far */
downloadedBytes?: number;
}

ReadinessChangeEvent

준비 상태 변경 이벤트

준비 상태 변경 이벤트 데이터.

export interface ReadinessChangeEvent {
/** The readiness status */
readiness: string;
}

이 페이지는 플러그인의 src/definitions.ts. 업스트림의 공공 API이 변경되었을 때 다시 싱크를 실행하세요.