ailia_llm  1.4.0.0
クラス | 公開メンバ関数 | 静的公開変数類 | 全メンバ一覧
ailiaLLM.AiliaLLM クラス

クラス

class  AILIAChatMessage
 
class  AILIALLMMediaData
 マルチモーダル用のメディアデータ構造体 [詳解]
 
class  AILIALLMMultimodalChatMessage
 マルチモーダル対応チャットメッセージ [詳解]
 

公開メンバ関数

static int ailiaLLMCreate (ref IntPtr llm)
 LLMオブジェクトを作成します。 [詳解]
 
static int ailiaLLMOpenModelFile (IntPtr llm, string path, uint n_ctx)
 モデルファイルを読み込みます。 [詳解]
 
static int ailiaLLMSetSamplingParams (IntPtr llm, uint top_k, float top_p, float temp, uint dist)
 サンプリングのパラメータを設定します。 [詳解]
 
static int ailiaLLMSetPrompt (IntPtr llm, IntPtr messages, uint messages_len)
 プロンプトを設定します。 [詳解]
 
static int ailiaLLMGenerate (IntPtr llm, ref uint done)
 生成を行います。 [詳解]
 
static int ailiaLLMGetDeltaTextSize (IntPtr llm, ref uint len)
 テキストの長さを取得します。(NULL文字含む) [詳解]
 
static int ailiaLLMGetDeltaText (IntPtr llm, IntPtr text, uint len)
 テキストを取得します。 [詳解]
 
static int ailiaLLMGetTokenCount (IntPtr llm, ref uint cnt, IntPtr text)
 トークンの数を取得します。 [詳解]
 
static int ailiaLLMGetPromptTokenCount (IntPtr llm, ref uint cnt)
 プロンプトトークンの数を取得します。 [詳解]
 
static int ailiaLLMGetGeneratedTokenCount (IntPtr llm, ref uint cnt)
 生成したトークンの数を取得します。 [詳解]
 
static int ailiaLLMGetContextSize (IntPtr llm, ref uint context_size)
 コンテキストの長さを取得します。 [詳解]
 
static int ailiaLLMOpenMultimodalProjectorFile (IntPtr llm, string mmproj_path)
 マルチモーダルプロジェクタファイルを読み込みます。 [詳解]
 
static int ailiaLLMGetMultimodalCapabilities (IntPtr llm, ref uint vision_support, ref uint audio_support)
 マルチモーダル機能がサポートされているかを確認します。 [詳解]
 
static int ailiaLLMSetMultimodalPrompt (IntPtr llm, IntPtr messages, uint messages_len)
 マルチモーダルプロンプトを設定します。 [詳解]
 
static int ailiaLLMGetBackendCount (ref uint env_count)
 利用可能な計算環境(CPU, GPU)の数を取得します [詳解]
 
static int ailiaLLMGetBackendName (ref IntPtr env, uint env_idx)
 計算環境の一覧を取得します [詳解]
 
static void ailiaLLMDestroy (IntPtr llm)
 LLMオブジェクトを破棄します。 [詳解]
 

静的公開変数類

const String LIBRARY_NAME ="ailia_llm"
 
const int AILIA_LLM_STATUS_SUCCESS = (0)
 
const int AILIA_LLM_STATUS_INVALID_ARGUMENT = (-1)
 
const int AILIA_LLM_STATUS_ERROR_FILE_API = (-2)
 
const int AILIA_LLM_STATUS_INVALID_VERSION = (-3)
 
const int AILIA_LLM_STATUS_BROKEN = (-4)
 
const int AILIA_LLM_STATUS_MEMORY_INSUFFICIENT = (-5)
 
const int AILIA_LLM_STATUS_THREAD_ERROR = (-6)
 
const int AILIA_LLM_STATUS_INVALID_STATE = (-7)
 
const int AILIA_LLM_STATUS_CONTEXT_FULL = (-8)
 
const int AILIA_LLM_STATUS_ERROR_BUFFER_API = (-9)
 
const int AILIA_LLM_STATUS_UNIMPLEMENTED = (-15)
 
const int AILIA_LLM_STATUS_OTHER_ERROR = (-128)
 

関数詳解

◆ ailiaLLMCreate()

static int ailiaLLM.AiliaLLM.ailiaLLMCreate ( ref IntPtr  llm)

LLMオブジェクトを作成します。

引数
llmLLMオブジェクトポインタへのポインタ
戻り値
成功した場合は AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。

LLMオブジェクトを作成します。

◆ ailiaLLMDestroy()

static void ailiaLLM.AiliaLLM.ailiaLLMDestroy ( IntPtr  llm)

LLMオブジェクトを破棄します。

引数
llmLLMオブジェクトポインタ

◆ ailiaLLMGenerate()

static int ailiaLLM.AiliaLLM.ailiaLLMGenerate ( IntPtr  llm,
ref uint  done 
)

生成を行います。

引数
llmLLMオブジェクトポインタ
done生成が完了したか
戻り値
成功した場合は AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。

デコードした結果はailiaLLMGetDeltaText APIで取得します。 ailiaLLMGenerateを呼び出すたびに1トークンずつデコードします。 doneは0か1を取ります。doneが1の場合、生成完了となります。

◆ ailiaLLMGetBackendCount()

static int ailiaLLM.AiliaLLM.ailiaLLMGetBackendCount ( ref uint  env_count)

利用可能な計算環境(CPU, GPU)の数を取得します

引数
env_count計算環境情報の数の格納先
戻り値
成功した場合は AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaLLMGetBackendName()

static int ailiaLLM.AiliaLLM.ailiaLLMGetBackendName ( ref IntPtr  env,
uint  env_idx 
)

計算環境の一覧を取得します

引数
env計算環境情報の格納先(AILIANetworkインスタンスを破棄するまで有効)
env_idx計算環境情報のインデックス(0~ ailiaLLMGetBackendCount() -1)
戻り値
成功した場合は AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaLLMGetContextSize()

static int ailiaLLM.AiliaLLM.ailiaLLMGetContextSize ( IntPtr  llm,
ref uint  context_size 
)

コンテキストの長さを取得します。

引数
llmLLMオブジェクトポインタ
context_sizeコンテキストの長さ
戻り値
成功した場合は AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaLLMGetDeltaText()

static int ailiaLLM.AiliaLLM.ailiaLLMGetDeltaText ( IntPtr  llm,
IntPtr  text,
uint  len 
)

テキストを取得します。

引数
llmLLMオブジェクトポインタ
textテキスト(UTF8)
lenバッファサイズ
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

ailiaLLMGenerate() を一度も実行していない場合は AILIA_STATUS_INVALID_STATE が返ります。

◆ ailiaLLMGetDeltaTextSize()

static int ailiaLLM.AiliaLLM.ailiaLLMGetDeltaTextSize ( IntPtr  llm,
ref uint  len 
)

テキストの長さを取得します。(NULL文字含む)

引数
llmLLMオブジェクトポインタ
lenテキストの長さ
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaLLMGetGeneratedTokenCount()

static int ailiaLLM.AiliaLLM.ailiaLLMGetGeneratedTokenCount ( IntPtr  llm,
ref uint  cnt 
)

生成したトークンの数を取得します。

引数
llmLLMオブジェクトポインタ
cnt生成したトークンの数
戻り値
成功した場合は AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。

ailiaLLMGenerateを呼び出した後に呼び出し可能です。

◆ ailiaLLMGetMultimodalCapabilities()

static int ailiaLLM.AiliaLLM.ailiaLLMGetMultimodalCapabilities ( IntPtr  llm,
ref uint  vision_support,
ref uint  audio_support 
)

マルチモーダル機能がサポートされているかを確認します。

引数
llmLLMオブジェクトポインタ
vision_support画像処理をサポートしているか
audio_support音声処理をサポートしているか
戻り値
成功した場合は AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。

ailiaLLMOpenMultimodalProjectorFileの後に呼び出し可能です。

◆ ailiaLLMGetPromptTokenCount()

static int ailiaLLM.AiliaLLM.ailiaLLMGetPromptTokenCount ( IntPtr  llm,
ref uint  cnt 
)

プロンプトトークンの数を取得します。

引数
llmLLMオブジェクトポインタ
cntプロンプトトークンの数
戻り値
成功した場合は AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。

ailiaLLMSetPromptを呼び出した後に呼び出し可能です。

◆ ailiaLLMGetTokenCount()

static int ailiaLLM.AiliaLLM.ailiaLLMGetTokenCount ( IntPtr  llm,
ref uint  cnt,
IntPtr  text 
)

トークンの数を取得します。

引数
llmLLMオブジェクトポインタ
cntトークンの数
textテキスト(UTF8)
戻り値
成功した場合は AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaLLMOpenModelFile()

static int ailiaLLM.AiliaLLM.ailiaLLMOpenModelFile ( IntPtr  llm,
string  path,
uint  n_ctx 
)

モデルファイルを読み込みます。

引数
llmLLMオブジェクトポインタへのポインタ
pathGGUFファイルのパス
n_ctxコンテキスト長(0でモデルのデフォルト)
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

GGUFのモデルファイルを読み込みます。

◆ ailiaLLMOpenMultimodalProjectorFile()

static int ailiaLLM.AiliaLLM.ailiaLLMOpenMultimodalProjectorFile ( IntPtr  llm,
string  mmproj_path 
)

マルチモーダルプロジェクタファイルを読み込みます。

引数
llmLLMオブジェクトポインタ
mmproj_pathMMPROJファイルのパス(GGUF形式)
戻り値
成功した場合は AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。

マルチモーダル機能を使用するには、先にailiaLLMOpenModelFileでテキストモデルを読み込み、 その後でこの関数でマルチモーダルプロジェクタを読み込む必要があります。

◆ ailiaLLMSetMultimodalPrompt()

static int ailiaLLM.AiliaLLM.ailiaLLMSetMultimodalPrompt ( IntPtr  llm,
IntPtr  messages,
uint  messages_len 
)

マルチモーダルプロンプトを設定します。

引数
llmLLMオブジェクトポインタ
messageマルチモーダルメッセージの配列
message_cntメッセージの数
戻り値
成功した場合は AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。

マルチモーダル対応のプロンプトを設定します。メッセージのcontentに<media>プレースホルダーを含め、 対応するメディアデータをmedia_dataに設定してください。 例: "この画像について説明してください: <__media__>"

◆ ailiaLLMSetPrompt()

static int ailiaLLM.AiliaLLM.ailiaLLMSetPrompt ( IntPtr  llm,
IntPtr  messages,
uint  messages_len 
)

プロンプトを設定します。

引数
llmLLMオブジェクトポインタへのポインタ
messageメッセージの配列
message_cntメッセージの数
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

LLMに問い合わせるプロンプトを設定します。 ChatHistoryもmessageに含めてください。

◆ ailiaLLMSetSamplingParams()

static int ailiaLLM.AiliaLLM.ailiaLLMSetSamplingParams ( IntPtr  llm,
uint  top_k,
float  top_p,
float  temp,
uint  dist 
)

サンプリングのパラメータを設定します。

引数
llmLLMオブジェクトポインタへのポインタ
top_kサンプリングする確率値の上位個数、デフォルト40
top_pサンプリングする確率値の範囲、デフォルト0.9(0.9〜1.0)
temp温度パラメータ、デフォルト0.4
distシード、デフォルト1234
戻り値
成功した場合は AILIA_LLM_STATUS_SUCCESS 、そうでなければエラーコードを返す。

LLMのサンプリングの設定を行います。ailiaLLMSetPromptの前に実行する必要があります。

メンバ詳解

◆ AILIA_LLM_STATUS_BROKEN

const int ailiaLLM.AiliaLLM.AILIA_LLM_STATUS_BROKEN = (-4)
static

◆ AILIA_LLM_STATUS_CONTEXT_FULL

const int ailiaLLM.AiliaLLM.AILIA_LLM_STATUS_CONTEXT_FULL = (-8)
static

◆ AILIA_LLM_STATUS_ERROR_BUFFER_API

const int ailiaLLM.AiliaLLM.AILIA_LLM_STATUS_ERROR_BUFFER_API = (-9)
static

◆ AILIA_LLM_STATUS_ERROR_FILE_API

const int ailiaLLM.AiliaLLM.AILIA_LLM_STATUS_ERROR_FILE_API = (-2)
static

◆ AILIA_LLM_STATUS_INVALID_ARGUMENT

const int ailiaLLM.AiliaLLM.AILIA_LLM_STATUS_INVALID_ARGUMENT = (-1)
static

◆ AILIA_LLM_STATUS_INVALID_STATE

const int ailiaLLM.AiliaLLM.AILIA_LLM_STATUS_INVALID_STATE = (-7)
static

◆ AILIA_LLM_STATUS_INVALID_VERSION

const int ailiaLLM.AiliaLLM.AILIA_LLM_STATUS_INVALID_VERSION = (-3)
static

◆ AILIA_LLM_STATUS_MEMORY_INSUFFICIENT

const int ailiaLLM.AiliaLLM.AILIA_LLM_STATUS_MEMORY_INSUFFICIENT = (-5)
static

◆ AILIA_LLM_STATUS_OTHER_ERROR

const int ailiaLLM.AiliaLLM.AILIA_LLM_STATUS_OTHER_ERROR = (-128)
static

◆ AILIA_LLM_STATUS_SUCCESS

const int ailiaLLM.AiliaLLM.AILIA_LLM_STATUS_SUCCESS = (0)
static

◆ AILIA_LLM_STATUS_THREAD_ERROR

const int ailiaLLM.AiliaLLM.AILIA_LLM_STATUS_THREAD_ERROR = (-6)
static

◆ AILIA_LLM_STATUS_UNIMPLEMENTED

const int ailiaLLM.AiliaLLM.AILIA_LLM_STATUS_UNIMPLEMENTED = (-15)
static

◆ LIBRARY_NAME

const String ailiaLLM.AiliaLLM.LIBRARY_NAME ="ailia_llm"
static

このクラス詳解は次のファイルから抽出されました: