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<AILIALLM>> llm) int
~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<Char>> env, int env_idx) int
~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<Char>> _PSrc, int _Count, Pointer<mbstate_t> _State) int
mbsrtowcs_s(Pointer<Size> _Retval, Pointer<WChar> _Dst, int _Size, Pointer<Pointer<Char>> _PSrc, int _N, Pointer<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<WChar>> _PSource, int _Count, Pointer<mbstate_t> _State) int
wcsrtombs_s(Pointer<Size> _Retval, Pointer<Char> _Dst, int _SizeInBytes, Pointer<Pointer<WChar>> _Src, int _Size, Pointer<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<WChar>> _EndPtr) double
wcstof(Pointer<WChar> _String, Pointer<Pointer<WChar>> _EndPtr) double
wcstok(Pointer<WChar> _String, Pointer<WChar> _Delimiter, Pointer<Pointer<WChar>> _Context) Pointer<WChar>
wcstok_s(Pointer<WChar> _String, Pointer<WChar> _Delimiter, Pointer<Pointer<WChar>> _Context) Pointer<WChar>
wcstol(Pointer<WChar> _String, Pointer<Pointer<WChar>> _EndPtr, int _Radix) int
wcstoll(Pointer<WChar> _String, Pointer<Pointer<WChar>> _EndPtr, int _Radix) int
wcstoul(Pointer<WChar> _String, Pointer<Pointer<WChar>> _EndPtr, int _Radix) int
wcstoull(Pointer<WChar> _String, Pointer<Pointer<WChar>> _EndPtr, int _Radix) int
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