ailia_llm
1.3.1.0
|
クラス | |
class | AILIAChatMessage |
公開メンバ関数 | |
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 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_UNIMPLEMENTED = (-15) |
const int | AILIA_LLM_STATUS_OTHER_ERROR = (-128) |
static int ailiaLLM.AiliaLLM.ailiaLLMCreate | ( | ref IntPtr | llm | ) |
LLMオブジェクトを作成します。
llm | LLMオブジェクトポインタへのポインタ |
LLMオブジェクトを作成します。
static void ailiaLLM.AiliaLLM.ailiaLLMDestroy | ( | IntPtr | llm | ) |
LLMオブジェクトを破棄します。
llm | LLMオブジェクトポインタ |
static int ailiaLLM.AiliaLLM.ailiaLLMGenerate | ( | IntPtr | llm, |
ref uint | done | ||
) |
生成を行います。
llm | LLMオブジェクトポインタ |
done | 生成が完了したか |
デコードした結果はailiaLLMGetDeltaText APIで取得します。 ailiaLLMGenerateを呼び出すたびに1トークンずつデコードします。 doneは0か1を取ります。doneが1の場合、生成完了となります。
static int ailiaLLM.AiliaLLM.ailiaLLMGetDeltaText | ( | IntPtr | llm, |
IntPtr | text, | ||
uint | len | ||
) |
テキストを取得します。
llm | LLMオブジェクトポインタ |
text | テキスト(UTF8) |
len | バッファサイズ |
ailiaLLMGenerate() を一度も実行していない場合は AILIA_STATUS_INVALID_STATE が返ります。
static int ailiaLLM.AiliaLLM.ailiaLLMGetDeltaTextSize | ( | IntPtr | llm, |
ref uint | len | ||
) |
テキストの長さを取得します。(NULL文字含む)
llm | LLMオブジェクトポインタ |
len | テキストの長さ |
static int ailiaLLM.AiliaLLM.ailiaLLMGetGeneratedTokenCount | ( | IntPtr | llm, |
ref uint | cnt | ||
) |
生成したトークンの数を取得します。
llm | LLMオブジェクトポインタ |
cnt | 生成したトークンの数 |
ailiaLLMGenerateを呼び出した後に呼び出し可能です。
static int ailiaLLM.AiliaLLM.ailiaLLMGetPromptTokenCount | ( | IntPtr | llm, |
ref uint | cnt | ||
) |
プロンプトトークンの数を取得します。
llm | LLMオブジェクトポインタ |
cnt | プロンプトトークンの数 |
ailiaLLMSetPromptを呼び出した後に呼び出し可能です。
static int ailiaLLM.AiliaLLM.ailiaLLMGetTokenCount | ( | IntPtr | llm, |
ref uint | cnt, | ||
IntPtr | text | ||
) |
トークンの数を取得します。
llm | LLMオブジェクトポインタ |
cnt | トークンの数 |
text | テキスト(UTF8) |
static int ailiaLLM.AiliaLLM.ailiaLLMOpenModelFile | ( | IntPtr | llm, |
string | path, | ||
uint | n_ctx | ||
) |
モデルファイルを読み込みます。
llm | LLMオブジェクトポインタへのポインタ |
path | GGUFファイルのパス |
n_ctx | コンテキスト長(0でモデルのデフォルト) |
GGUFのモデルファイルを読み込みます。
static int ailiaLLM.AiliaLLM.ailiaLLMSetPrompt | ( | IntPtr | llm, |
IntPtr | messages, | ||
uint | messages_len | ||
) |
プロンプトを設定します。
llm | LLMオブジェクトポインタへのポインタ |
message | メッセージの配列 |
message_cnt | メッセージの数 |
LLMに問い合わせるプロンプトを設定します。 ChatHistoryもmessageに含めてください。
static int ailiaLLM.AiliaLLM.ailiaLLMSetSamplingParams | ( | IntPtr | llm, |
uint | top_k, | ||
float | top_p, | ||
float | temp, | ||
uint | dist | ||
) |
サンプリングのパラメータを設定します。
llm | LLMオブジェクトポインタへのポインタ |
top_k | サンプリングする確率値の上位個数、デフォルト40 |
top_p | サンプリングする確率値の範囲、デフォルト0.9(0.9〜1.0) |
temp | 温度パラメータ、デフォルト0.4 |
dist | シード、デフォルト1234 |
LLMのサンプリングの設定を行います。ailiaLLMSetPromptの前に実行する必要があります。
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |