ailiaLlmFFI class
Written for the FFI article
Constructors
- ailiaLlmFFI.new(DynamicLibrary dynamicLibrary)
-
The symbols are looked up in
dynamicLibrary. -
ailiaLlmFFI.fromLookup(Pointer<
T> lookup<T extends NativeType>(String symbolName) ) -
The symbols are looked up with
lookup.
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
ailiaLLMCreate(
Pointer< Pointer< llm) → intAILIALLM> > - ~japanese @brief LLMオブジェクトを作成します。 @param llm LLMオブジェクトポインタへのポインタ @return 成功した場合は \ref AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details LLMオブジェクトを作成します。
-
ailiaLLMDestroy(
Pointer< AILIALLM> llm) → void - ~japanese @brief LLMオブジェクトを破棄します。 @param llm LLMオブジェクトポインタ
-
ailiaLLMGenerate(
Pointer< AILIALLM> llm, Pointer<UnsignedInt> done) → int - ~japanese @brief 生成を行います。 @param llm LLMオブジェクトポインタ @param done 生成が完了したか @return 成功した場合は \ref AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details デコードした結果はailiaLLMGetDeltaText APIで取得します。 ailiaLLMGenerateを呼び出すたびに1トークンずつデコードします。 doneは0か1を取ります。doneが1の場合、生成完了となります。
-
ailiaLLMGetBackendCount(
Pointer< UnsignedInt> env_count) → int - ~japanese @brief 利用可能な計算環境(CPU, GPU)の数を取得します @param env_count 計算環境情報の数の格納先 @return 成功した場合は \ref AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。
-
ailiaLLMGetBackendName(
Pointer< Pointer< env, int env_idx) → intChar> > - ~japanese @brief 計算環境の一覧を取得します @param env 計算環境情報の格納先(AILIANetworkインスタンスを破棄するまで有効) @param env_idx 計算環境情報のインデックス(0~ ailiaLLMGetBackendCount() -1) @return 成功した場合は \ref AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。
-
ailiaLLMGetContextSize(
Pointer< AILIALLM> llm, Pointer<UnsignedInt> context_size) → int - ~japanese @brief コンテキストの長さを取得します。 @param llm LLMオブジェクトポインタ @param len コンテキストの長さ @return 成功した場合は \ref AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。
-
ailiaLLMGetDeltaText(
Pointer< AILIALLM> llm, Pointer<Char> text, int buf_size) → int - ~japanese @brief テキストを取得します。 @param llm LLMオブジェクトポインタ @param text テキスト(UTF8) @param buf_size バッファサイズ @return 成功した場合は \ref AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details ailiaLLMGenerate() を一度も実行していない場合は \ref AILIA_LLM_STATUS_INVALID_STATE が返ります。
-
ailiaLLMGetDeltaTextSize(
Pointer< AILIALLM> llm, Pointer<UnsignedInt> buf_size) → int - ~japanese @brief テキストの長さを取得します。(NULL文字含む) @param llm LLMオブジェクトポインタ @param buf_size テキストの長さ @return 成功した場合は \ref AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。
-
ailiaLLMGetGeneratedTokenCount(
Pointer< AILIALLM> llm, Pointer<UnsignedInt> cnt) → int - ~japanese @brief 生成したトークンの数を取得します。 @param llm LLMオブジェクトポインタ @param cnt 生成したトークンの数 @return 成功した場合は \ref AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details ailiaLLMGenerateを呼び出した後に呼び出し可能です。
-
ailiaLLMGetMultimodalCapabilities(
Pointer< AILIALLM> llm, Pointer<UnsignedInt> vision_support, Pointer<UnsignedInt> audio_support) → int - ~japanese @brief マルチモーダル機能がサポートされているかを確認します。 @param llm LLMオブジェクトポインタ @param vision_support 画像処理をサポートしているか @param audio_support 音声処理をサポートしているか @return 成功した場合は \ref AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details ailiaLLMOpenMultimodalProjectorFileの後に呼び出し可能です。
-
ailiaLLMGetPromptTokenCount(
Pointer< AILIALLM> llm, Pointer<UnsignedInt> cnt) → int - ~japanese @brief プロンプトトークンの数を取得します。 @param llm LLMオブジェクトポインタ @param cnt プロンプトトークンの数 @return 成功した場合は \ref AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details ailiaLLMSetPromptを呼び出した後に呼び出し可能です。
-
ailiaLLMGetTokenCount(
Pointer< AILIALLM> llm, Pointer<UnsignedInt> cnt, Pointer<Char> text) → int - ~japanese @brief トークンの数を取得します。 @param llm LLMオブジェクトポインタ @param cnt トークンの数 @param text テキスト(UTF8) @return 成功した場合は \ref AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。
-
ailiaLLMOpenModelFileA(
Pointer< AILIALLM> llm, Pointer<Char> path, int n_ctx) → int - ~japanese @brief モデルファイルを読み込みます。 @param llm LLMオブジェクトポインタへのポインタ @param path GGUFファイルのパス @param n_ctx コンテキスト長(0でモデルのデフォルト) @return 成功した場合は \ref AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details GGUFのモデルファイルを読み込みます。
-
ailiaLLMOpenModelFileW(
Pointer< AILIALLM> llm, Pointer<WChar> path, int n_ctx) → int -
ailiaLLMOpenMultimodalProjectorFileA(
Pointer< AILIALLM> llm, Pointer<Char> mmproj_path) → int - ~japanese @brief マルチモーダルプロジェクタファイルを読み込みます。 @param llm LLMオブジェクトポインタ @param mmproj_path MMPROJファイルのパス(GGUF形式) @return 成功した場合は \ref AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details マルチモーダル機能を使用するには、先にailiaLLMOpenModelFileでテキストモデルを読み込み、 その後でこの関数でマルチモーダルプロジェクタを読み込む必要があります。
-
ailiaLLMOpenMultimodalProjectorFileW(
Pointer< AILIALLM> llm, Pointer<WChar> mmproj_path) → int -
ailiaLLMSetMultimodalPrompt(
Pointer< AILIALLM> llm, Pointer<AILIALLMMultimodalChatMessage> message, int message_cnt) → int - ~japanese @brief マルチモーダルプロンプトを設定します。 @param llm LLMオブジェクトポインタ @param message マルチモーダルメッセージの配列 @param message_cnt メッセージの数 @return 成功した場合は \ref AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details マルチモーダル対応のプロンプトを設定します。メッセージのcontentに<media>プレースホルダーを含め、 対応するメディアデータをmedia_dataに設定してください。 例: "この画像について説明してください: <media>" messageの内容は内部でコピーされるため、呼び出し後に開放することができます。raw_data入力は現在未サポートです。
-
ailiaLLMSetPrompt(
Pointer< AILIALLM> llm, Pointer<AILIALLMChatMessage> message, int message_cnt) → int - ~japanese @brief プロンプトを設定します。 @param llm LLMオブジェクトポインタへのポインタ @param message メッセージの配列 @param message_cnt メッセージの数 @return 成功した場合は \ref AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details LLMに問い合わせるプロンプトを設定します。 ChatHistoryもmessageに含めてください。 messageの内容は内部でコピーされるため、呼び出し後に開放することができます。
-
ailiaLLMSetSamplingParams(
Pointer< AILIALLM> llm, int top_k, double top_p, double temp, int dist) → int - ~japanese @brief サンプリングのパラメータを設定します。 @param llm LLMオブジェクトポインタへのポインタ @param top_k サンプリングする確率値の上位個数、デフォルト40 @param top_p サンプリングする確率値の範囲、デフォルト0.9(0.9〜1.0) @param temp 温度パラメータ、デフォルト0.4 @param dist シード、デフォルト1234 @return 成功した場合は \ref AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details LLMのサンプリングの設定を行います。ailiaLLMSetPromptの前に実行する必要があります。
-
btowc(
int _Ch) → int -
calloc(
int _Count, int _Size) → Pointer< Void> -
fgetwc(
Pointer< FILE> _Stream) → int -
fgetws(
Pointer< WChar> _Buffer, int _BufferCount, Pointer<FILE> _Stream) → Pointer<WChar> -
fputwc(
int _Character, Pointer< FILE> _Stream) → int -
fputws(
Pointer< WChar> _Buffer, Pointer<FILE> _Stream) → int -
free(
Pointer< Void> _Block) → void -
getwc(
Pointer< FILE> _Stream) → int -
getwchar(
) → int -
is_wctype(
int _C, int _Type) → int -
isleadbyte(
int _C) → int -
iswalnum(
int _C) → int -
iswalpha(
int _C) → int -
iswascii(
int _C) → int -
iswblank(
int _C) → int -
iswcntrl(
int _C) → int -
iswctype(
int _C, int _Type) → int -
iswdigit(
int _C) → int -
iswgraph(
int _C) → int -
iswlower(
int _C) → int -
iswprint(
int _C) → int -
iswpunct(
int _C) → int -
iswspace(
int _C) → int -
iswupper(
int _C) → int -
iswxdigit(
int _C) → int -
longjmp(
Pointer< _JBTYPE> _Buf, int _Value) → void -
malloc(
int _Size) → Pointer< Void> -
mbrlen(
Pointer< Char> _Ch, int _SizeInBytes, Pointer<mbstate_t> _State) → int -
mbrtowc(
Pointer< WChar> _DstCh, Pointer<Char> _SrcCh, int _SizeInBytes, Pointer<mbstate_t> _State) → int -
mbsrtowcs(
Pointer< WChar> _Dest, Pointer<Pointer< _PSrc, int _Count, Pointer<Char> >mbstate_t> _State) → int -
mbsrtowcs_s(
Pointer< Size> _Retval, Pointer<WChar> _Dst, int _Size, Pointer<Pointer< _PSrc, int _N, Pointer<Char> >mbstate_t> _State) → int -
memchr(
Pointer< Void> _Buf, int _Val, int _MaxCount) → Pointer<Void> -
memcmp(
Pointer< Void> _Buf1, Pointer<Void> _Buf2, int _Size) → int -
memcpy(
Pointer< Void> _Dst, Pointer<Void> _Src, int _Size) → Pointer<Void> -
memmove(
Pointer< Void> _Dst, Pointer<Void> _Src, int _Size) → Pointer<Void> -
memset(
Pointer< Void> _Dst, int _Val, int _Size) → Pointer<Void> -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
putwc(
int _Character, Pointer< FILE> _Stream) → int -
putwchar(
int _Character) → int -
realloc(
Pointer< Void> _Block, int _Size) → Pointer<Void> -
strchr(
Pointer< Char> _Str, int _Val) → Pointer<Char> -
strrchr(
Pointer< Char> _Str, int _Ch) → Pointer<Char> -
strstr(
Pointer< Char> _Str, Pointer<Char> _SubStr) → Pointer<Char> -
toString(
) → String -
A string representation of this object.
inherited
-
towlower(
int _C) → int -
towupper(
int _C) → int -
ungetwc(
int _Character, Pointer< FILE> _Stream) → int -
wcrtomb(
Pointer< Char> _Dest, int _Source, Pointer<mbstate_t> _State) → int -
wcrtomb_s(
Pointer< Size> _Retval, Pointer<Char> _Dst, int _SizeInBytes, int _Ch, Pointer<mbstate_t> _State) → int -
wcscat(
Pointer< WChar> _Destination, Pointer<WChar> _Source) → Pointer<WChar> -
wcscat_s(
Pointer< WChar> _Destination, int _SizeInWords, Pointer<WChar> _Source) → int -
wcschr(
Pointer< WChar> _Str, int _Ch) → Pointer<UnsignedShort> -
wcscmp(
Pointer< WChar> _String1, Pointer<WChar> _String2) → int -
wcscoll(
Pointer< WChar> _String1, Pointer<WChar> _String2) → int -
wcscpy(
Pointer< WChar> _Destination, Pointer<WChar> _Source) → Pointer<WChar> -
wcscpy_s(
Pointer< WChar> _Destination, int _SizeInWords, Pointer<WChar> _Source) → int -
wcscspn(
Pointer< WChar> _String, Pointer<WChar> _Control) → int -
wcsdup(
Pointer< WChar> _String) → Pointer<WChar> -
wcsftime(
Pointer< WChar> _Buffer, int _SizeInWords, Pointer<WChar> _Format, Pointer<tm> _Tm) → int -
wcsicmp(
Pointer< WChar> _String1, Pointer<WChar> _String2) → int -
wcsicoll(
Pointer< WChar> _String1, Pointer<WChar> _String2) → int -
wcslen(
Pointer< WChar> _String) → int -
wcslwr(
Pointer< WChar> _String) → Pointer<WChar> -
wcsncat(
Pointer< WChar> _Destination, Pointer<WChar> _Source, int _Count) → Pointer<WChar> -
wcsncat_s(
Pointer< WChar> _Destination, int _SizeInWords, Pointer<WChar> _Source, int _MaxCount) → int -
wcsncmp(
Pointer< WChar> _String1, Pointer<WChar> _String2, int _MaxCount) → int -
wcsncpy(
Pointer< WChar> _Destination, Pointer<WChar> _Source, int _Count) → Pointer<WChar> -
wcsncpy_s(
Pointer< WChar> _Destination, int _SizeInWords, Pointer<WChar> _Source, int _MaxCount) → int -
wcsnicmp(
Pointer< WChar> _String1, Pointer<WChar> _String2, int _MaxCount) → int -
wcsnlen(
Pointer< WChar> _Source, int _MaxCount) → int -
wcsnset(
Pointer< WChar> _String, int _Value, int _MaxCount) → Pointer<WChar> -
wcspbrk(
Pointer< WChar> _String, Pointer<WChar> _Control) → Pointer<WChar> -
wcsrchr(
Pointer< WChar> _Str, int _Ch) → Pointer<WChar> -
wcsrev(
Pointer< WChar> _String) → Pointer<WChar> -
wcsrtombs(
Pointer< Char> _Dest, Pointer<Pointer< _PSource, int _Count, Pointer<WChar> >mbstate_t> _State) → int -
wcsrtombs_s(
Pointer< Size> _Retval, Pointer<Char> _Dst, int _SizeInBytes, Pointer<Pointer< _Src, int _Size, Pointer<WChar> >mbstate_t> _State) → int -
wcsset(
Pointer< WChar> _String, int _Value) → Pointer<WChar> -
wcsspn(
Pointer< WChar> _String, Pointer<WChar> _Control) → int -
wcsstr(
Pointer< WChar> _Str, Pointer<WChar> _SubStr) → Pointer<WChar> -
wcstod(
Pointer< WChar> _String, Pointer<Pointer< _EndPtr) → doubleWChar> > -
wcstof(
Pointer< WChar> _String, Pointer<Pointer< _EndPtr) → doubleWChar> > -
wcstok(
Pointer< WChar> _String, Pointer<WChar> _Delimiter, Pointer<Pointer< _Context) → Pointer<WChar> >WChar> -
wcstok_s(
Pointer< WChar> _String, Pointer<WChar> _Delimiter, Pointer<Pointer< _Context) → Pointer<WChar> >WChar> -
wcstol(
Pointer< WChar> _String, Pointer<Pointer< _EndPtr, int _Radix) → intWChar> > -
wcstoll(
Pointer< WChar> _String, Pointer<Pointer< _EndPtr, int _Radix) → intWChar> > -
wcstoul(
Pointer< WChar> _String, Pointer<Pointer< _EndPtr, int _Radix) → intWChar> > -
wcstoull(
Pointer< WChar> _String, Pointer<Pointer< _EndPtr, int _Radix) → intWChar> > -
wcsupr(
Pointer< WChar> _String) → Pointer<WChar> -
wcsxfrm(
Pointer< WChar> _Destination, Pointer<WChar> _Source, int _MaxCount) → int -
wctob(
int _WCh) → int -
wmemcpy_s(
Pointer< WChar> _S1, int _N1, Pointer<WChar> _S2, int _N) → int -
wmemmove_s(
Pointer< WChar> _S1, int _N1, Pointer<WChar> _S2, int _N) → int
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited