コンテンツにジャンプ

はじめに

ターミナル画面
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;
}

モデルをダウンロードするためのオプション。

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;
}

モデルダウンロードの結果。

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

AIから受信されたテキストのイベントデータ。

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完了イベント

AI完了のイベントデータ。

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

ダウンロード進行のイベントデータ。

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

有効性の変更のイベントデータ。

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

このページはプラグインの src/definitions.tsパブリック API がアップストリームで変更された場合に再度同期を実行してください。