ailia_llm  1.3.1.0
APIの使用方法

ailia LLMのAPIの概要

基本的な使用方法

ailia LLMの使用例です。

#include "ailia_llm.h"
int main(int argc, char *argv[]){
struct AILIALLM* llm;
unsigned int n_ctx = 512;
ailiaLLMOpenModelFileA(llm, "../models/gemma-2-2b-it-Q4_K_M.gguf", n_ctx);
std::vector<AILIALLMChatMessage> messages;
message.role = "system";
message.content = "語尾に「くま」をつけて回答してください。";
messages.push_back(message);
message.role = "user";
message.content = "こんにちは。";
messages.push_back(message);
ailiaLLMSetPrompt(llm, &messages[0], messages.size());
std::string text = "";
while(true) {
unsigned int done = 0;
int status = ailiaLLMGenerate(llm, &done);
if (done == 1 || status != AILIA_LLM_STATUS_SUCCESS){
break;
}
unsigned int size = 0;
std::vector<char> delta(size);
ailiaLLMGetDeltaText(llm, &delta[0], delta.size());
text = text + std::string(&delta[0]);
}
return 0;
}
ailiaLLMDestroy
AILIA_LLM_API void ailiaLLMDestroy(struct AILIALLM *llm)
LLMオブジェクトを破棄します。
ailiaLLMOpenModelFileA
AILIA_LLM_API int ailiaLLMOpenModelFileA(struct AILIALLM *llm, const char *path, unsigned int n_ctx)
モデルファイルを読み込みます。
ailiaLLMGenerate
AILIA_LLM_API int ailiaLLMGenerate(struct AILIALLM *llm, unsigned int *done)
生成を行います。
ailiaLLMSetPrompt
AILIA_LLM_API int ailiaLLMSetPrompt(struct AILIALLM *llm, const AILIALLMChatMessage *message, unsigned int message_cnt)
プロンプトを設定します。
_AILIALLMChatMessage::role
const char * role
Represent the role. (system, user, assistant)
Definition: ailia_llm.h:172
_AILIALLMChatMessage
Definition: ailia_llm.h:166
AILIA_LLM_STATUS_SUCCESS
#define AILIA_LLM_STATUS_SUCCESS
成功
Definition: ailia_llm.h:38
ailiaLLMGetDeltaText
AILIA_LLM_API int ailiaLLMGetDeltaText(struct AILIALLM *llm, char *text, unsigned int buf_size)
テキストを取得します。
ailiaLLMCreate
AILIA_LLM_API int ailiaLLMCreate(struct AILIALLM **llm)
LLMオブジェクトを作成します。
ailia_llm.h
LLM推論ライブラリ
ailiaLLMGetDeltaTextSize
AILIA_LLM_API int ailiaLLMGetDeltaTextSize(struct AILIALLM *llm, unsigned int *buf_size)
テキストの長さを取得します。(NULL文字含む)
_AILIALLMChatMessage::content
const char * content
Represent the content of the message.
Definition: ailia_llm.h:176