[詳解]
9 #ifndef INCLUDED_AILIA_TOKENIZER
10 #define INCLUDED_AILIA_TOKENIZER
18 #if defined(_WIN64) || defined(_M_X64) || defined(__amd64__) || defined(__x86_64__) || defined(__APPLE__) || \
19 defined(__ANDROID__) || defined(ANDROID) || defined(__linux__) || defined(NN_NINTENDO_SDK)
22 #define AILIA_API __stdcall
42 #define AILIA_TOKENIZER_TYPE_WHISPER (0)
53 #define AILIA_TOKENIZER_TYPE_CLIP (1)
64 #define AILIA_TOKENIZER_TYPE_XLM_ROBERTA (2)
75 #define AILIA_TOKENIZER_TYPE_MARIAN (3)
90 #define AILIA_TOKENIZER_TYPE_BERT_JAPANESE_WORDPIECE (4)
105 #define AILIA_TOKENIZER_TYPE_BERT_JAPANESE_CHARACTER (5)
122 #define AILIA_TOKENIZER_TYPE_T5 (6)
133 #define AILIA_TOKENIZER_TYPE_ROBERTA (7)
144 #define AILIA_TOKENIZER_TYPE_BERT (8)
155 #define AILIA_TOKENIZER_TYPE_GPT2 (9)
166 #define AILIA_TOKENIZER_TYPE_LLAMA (10)
181 #define AILIA_TOKENIZER_FLAG_NONE (0)
192 #define AILIA_TOKENIZER_FLAG_UTF8_SAFE (1)
198 struct AILIATokenizer;
745 #define ailiaTokenizerOpenModelFile ailiaTokenizerOpenModelFileW
746 #define ailiaTokenizerOpenDictionaryFile ailiaTokenizerOpenDictionaryFileW
747 #define ailiaTokenizerOpenVocabFile ailiaTokenizerOpenVocabFileW
748 #define ailiaTokenizerOpenMergeFile ailiaTokenizerOpenMergeFileW
749 #define ailiaTokenizerOpenAddedTokensFile ailiaTokenizerOpenAddedTokensFileW
750 #define ailiaTokenizerOpenConfigFile ailiaTokenizerOpenConfigFileW
752 #define ailiaTokenizerOpenModelFile ailiaTokenizerOpenModelFileA
753 #define ailiaTokenizerOpenDictionaryFile ailiaTokenizerOpenDictionaryFileA
754 #define ailiaTokenizerOpenVocabFile ailiaTokenizerOpenVocabFileA
755 #define ailiaTokenizerOpenMergeFile ailiaTokenizerOpenMergeFileA
756 #define ailiaTokenizerOpenAddedTokensFile ailiaTokenizerOpenAddedTokensFileA
757 #define ailiaTokenizerOpenTokenizerConfigFile ailiaTokenizerOpenTokenizerConfigFileA
int AILIA_API ailiaTokenizerGetTextLength(struct AILIATokenizer *net, unsigned int *len)
テキストの長さを取得します。(NULL文字含む)
int AILIA_API ailiaTokenizerOpenAddedTokensFileA(struct AILIATokenizer *net, const char *path)
追加トークンファイルを読み込みます。
int AILIA_API ailiaTokenizerOpenVocabFileA(struct AILIATokenizer *net, const char *path)
単語ファイルを読み込みます。
int AILIA_API ailiaTokenizerUtf8ToUtf32(unsigned int *utf32, unsigned int *processed_byte, const char *utf8, unsigned int utf8_len)
UTF8の文字をUTF32の文字に変換します。
int AILIA_API ailiaTokenizerCreate(struct AILIATokenizer **net, int type, int flags)
トークナイズオブジェクトを作成します。
int AILIA_API ailiaTokenizerGetText(struct AILIATokenizer *net, char *text, unsigned int len)
テキストを取得します。
void AILIA_API ailiaTokenizerDestroy(struct AILIATokenizer *net)
トークナイズオブジェクトを破棄します。
int AILIA_API ailiaTokenizerDecode(struct AILIATokenizer *net, const int *tokens, unsigned int token_count)
デコードを行います。
int AILIA_API ailiaTokenizerEncode(struct AILIATokenizer *net, const char *utf8)
エンコードを行います。
int AILIA_API ailiaTokenizerUtf32ToUtf8(char *utf8, unsigned int *processed_byte, unsigned int utf32)
UTF32の文字をUTF8の文字に変換します。
int AILIA_API ailiaTokenizerOpenModelFileW(struct AILIATokenizer *net, const wchar_t *path)
int AILIA_API ailiaTokenizerGetVocabSize(struct AILIATokenizer *net, unsigned int *size)
Vocabの数を取得します。
int AILIA_API ailiaTokenizerOpenVocabFileW(struct AILIATokenizer *net, const wchar_t *path)
int AILIA_API ailiaTokenizerGetVocab(struct AILIATokenizer *net, int token, const char **vocab)
Vocabの取得を行います。
int AILIA_API ailiaTokenizerOpenTokenizerConfigFileW(struct AILIATokenizer *net, const wchar_t *path)
int AILIA_API ailiaTokenizerGetTokens(struct AILIATokenizer *net, int *tokens, unsigned int count)
トークンを取得します。
int AILIA_API ailiaTokenizerGetCharStarts(struct AILIATokenizer *net, int *char_starts, unsigned int count)
開始文字位置を取得します。
int AILIA_API ailiaTokenizerOpenTokenizerConfigFileA(struct AILIATokenizer *net, const char *path)
コンフィグファイルを読み込みます。
int AILIA_API ailiaTokenizerOpenDictionaryFileW(struct AILIATokenizer *net, const wchar_t *path)
#define AILIA_API
Definition: ailia_tokenizer.h:22
int AILIA_API ailiaTokenizerGetWordIDs(struct AILIATokenizer *net, int *word_ids, unsigned int count)
ワードIDを取得します。
int AILIA_API ailiaTokenizerOpenMergeFileA(struct AILIATokenizer *net, const char *path)
マージファイルを読み込みます。
int AILIA_API ailiaTokenizerOpenModelFileA(struct AILIATokenizer *net, const char *path)
モデルファイルを読み込みます。
int AILIA_API ailiaTokenizerOpenAddedTokensFileW(struct AILIATokenizer *net, const wchar_t *path)
int AILIA_API ailiaTokenizerGetTokenCount(struct AILIATokenizer *net, unsigned int *count)
トークンの数を取得します。
int AILIA_API ailiaTokenizerOpenDictionaryFileA(struct AILIATokenizer *net, const char *path)
辞書ファイルを読み込みます。
int AILIA_API ailiaTokenizerEncodeWithSpecialTokens(struct AILIATokenizer *net, const char *utf8)
スペシャルトークンを含んだエンコードを行います。
int AILIA_API ailiaTokenizerOpenMergeFileW(struct AILIATokenizer *net, const wchar_t *path)
int AILIA_API ailiaTokenizerGetCharEnds(struct AILIATokenizer *net, int *char_ends, unsigned int count)
終了文字位置を取得します。
int AILIA_API ailiaTokenizerDecodeWithSpecialTokens(struct AILIATokenizer *net, const int *tokens, unsigned int token_count)
スペシャルトークンを含んだデコードを行います。
int AILIA_API ailiaTokenizerAddSpecialTokens(struct AILIATokenizer *net, const char **tokens, unsigned int count)
SpecialTokenの追加を行います。