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

クラス

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)
 

関数詳解

◆ 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の場合、生成完了となります。

◆ 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を呼び出した後に呼び出し可能です。

◆ 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のモデルファイルを読み込みます。

◆ 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_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

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