Using llama_tokenize() in tests
This commit is contained in:
parent
d779bab49c
commit
40a66606a8
3 changed files with 10 additions and 10 deletions
|
@ -199,7 +199,7 @@ int main(int argc, char **argv) {
|
||||||
|
|
||||||
printf("\n");
|
printf("\n");
|
||||||
printf("src: '%s'\n", test_kv.first.c_str());
|
printf("src: '%s'\n", test_kv.first.c_str());
|
||||||
printf("res: '%s'\n", llama_detokenize_bpe(ctx, res).c_str());
|
printf("res: '%s'\n", llama_detokenize(ctx, res).c_str());
|
||||||
printf("tok: ");
|
printf("tok: ");
|
||||||
for (const auto & tok : res) {
|
for (const auto & tok : res) {
|
||||||
printf("%d ", tok);
|
printf("%d ", tok);
|
||||||
|
@ -216,8 +216,8 @@ int main(int argc, char **argv) {
|
||||||
if (!correct) {
|
if (!correct) {
|
||||||
fprintf(stderr, "%s : failed test: '%s'\n", __func__, test_kv.first.c_str());
|
fprintf(stderr, "%s : failed test: '%s'\n", __func__, test_kv.first.c_str());
|
||||||
fprintf(stderr, "%s : detokenized to: '%s' instead of '%s'\n", __func__,
|
fprintf(stderr, "%s : detokenized to: '%s' instead of '%s'\n", __func__,
|
||||||
llama_detokenize_bpe(ctx, res).c_str(),
|
llama_detokenize(ctx, res).c_str(),
|
||||||
llama_detokenize_bpe(ctx, test_kv.second).c_str());
|
llama_detokenize(ctx, test_kv.second).c_str());
|
||||||
fprintf(stderr, "%s : expected tokens: ", __func__);
|
fprintf(stderr, "%s : expected tokens: ", __func__);
|
||||||
for (const auto & t : test_kv.second) {
|
for (const auto & t : test_kv.second) {
|
||||||
fprintf(stderr, "%6d '%s', ", t, llama_token_to_piece(ctx, t).c_str());
|
fprintf(stderr, "%6d '%s', ", t, llama_token_to_piece(ctx, t).c_str());
|
||||||
|
@ -272,7 +272,7 @@ int main(int argc, char **argv) {
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const auto & tok : res) {
|
for (const auto & tok : res) {
|
||||||
//ofs << tok << " '" << string_strip(llama_detokenize_bpe(ctx, std::vector<int>{tok})) << "'" << std::endl;
|
//ofs << tok << " '" << string_strip(llama_detokenize(ctx, std::vector<int>{tok})) << "'" << std::endl;
|
||||||
ofs << tok << "\n";
|
ofs << tok << "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,7 +74,7 @@ int main(int argc, char **argv) {
|
||||||
const int n_vocab = llama_n_vocab(model);
|
const int n_vocab = llama_n_vocab(model);
|
||||||
|
|
||||||
for (int i = 0; i < n_vocab; ++i) {
|
for (int i = 0; i < n_vocab; ++i) {
|
||||||
std::string str = llama_detokenize_bpe(ctx, std::vector<int>(1, i));
|
std::string str = llama_detokenize(ctx, std::vector<int>(1, i));
|
||||||
try {
|
try {
|
||||||
auto cps = unicode_cpts_from_utf8(str);
|
auto cps = unicode_cpts_from_utf8(str);
|
||||||
std::vector<llama_token> tokens = llama_tokenize(ctx, str, false, true);
|
std::vector<llama_token> tokens = llama_tokenize(ctx, str, false, true);
|
||||||
|
@ -90,7 +90,7 @@ int main(int argc, char **argv) {
|
||||||
fprintf(stderr, "]\n");
|
fprintf(stderr, "]\n");
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
std::string check = llama_detokenize_bpe(ctx, tokens);
|
std::string check = llama_detokenize(ctx, tokens);
|
||||||
if (check != str) {
|
if (check != str) {
|
||||||
fprintf(stderr, "%s : error: token %d detokenizes to '%s'(%zu) but tokenization of this detokenizes to '%s'(%zu)\n",
|
fprintf(stderr, "%s : error: token %d detokenizes to '%s'(%zu) but tokenization of this detokenizes to '%s'(%zu)\n",
|
||||||
__func__, i, str.c_str(), str.length(), check.c_str(), check.length());
|
__func__, i, str.c_str(), str.length(), check.c_str(), check.length());
|
||||||
|
@ -123,7 +123,7 @@ int main(int argc, char **argv) {
|
||||||
|
|
||||||
std::string str = unicode_cpt_to_utf8(cp);
|
std::string str = unicode_cpt_to_utf8(cp);
|
||||||
std::vector<llama_token> tokens = llama_tokenize(ctx, str, false);
|
std::vector<llama_token> tokens = llama_tokenize(ctx, str, false);
|
||||||
std::string check = llama_detokenize_bpe(ctx, tokens);
|
std::string check = llama_detokenize(ctx, tokens);
|
||||||
if (cp != 9601 && str != check) {
|
if (cp != 9601 && str != check) {
|
||||||
fprintf(stderr, "error: codepoint %x detokenizes to '%s'(%zu) instead of '%s'(%zu)\n",
|
fprintf(stderr, "error: codepoint %x detokenizes to '%s'(%zu) instead of '%s'(%zu)\n",
|
||||||
cp, check.c_str(), check.length(), str.c_str(), str.length());
|
cp, check.c_str(), check.length(), str.c_str(), str.length());
|
||||||
|
|
|
@ -62,9 +62,9 @@ int main(int argc, char ** argv) {
|
||||||
const int n_vocab = llama_n_vocab(model);
|
const int n_vocab = llama_n_vocab(model);
|
||||||
|
|
||||||
for (int i = 0; i < n_vocab; ++i) {
|
for (int i = 0; i < n_vocab; ++i) {
|
||||||
std::string str = llama_detokenize_spm(ctx, std::vector<int>(1, i));
|
std::string str = llama_detokenize(ctx, std::vector<int>(1, i));
|
||||||
std::vector<llama_token> tokens = llama_tokenize(ctx, str, false);
|
std::vector<llama_token> tokens = llama_tokenize(ctx, str, false);
|
||||||
std::string check = llama_detokenize_spm(ctx, tokens);
|
std::string check = llama_detokenize(ctx, tokens);
|
||||||
if (check != str) {
|
if (check != str) {
|
||||||
fprintf(stderr, "%s : error: token %d detokenizes to '%s'(%zu) but tokenization of this detokenizes to '%s'(%zu)\n",
|
fprintf(stderr, "%s : error: token %d detokenizes to '%s'(%zu) but tokenization of this detokenizes to '%s'(%zu)\n",
|
||||||
__func__, i, str.c_str(), str.length(), check.c_str(), check.length());
|
__func__, i, str.c_str(), str.length(), check.c_str(), check.length());
|
||||||
|
@ -87,7 +87,7 @@ int main(int argc, char ** argv) {
|
||||||
|
|
||||||
std::string str = unicode_cpt_to_utf8(cp);
|
std::string str = unicode_cpt_to_utf8(cp);
|
||||||
std::vector<llama_token> tokens = llama_tokenize(ctx, str, false);
|
std::vector<llama_token> tokens = llama_tokenize(ctx, str, false);
|
||||||
std::string check = llama_detokenize_spm(ctx, tokens);
|
std::string check = llama_detokenize(ctx, tokens);
|
||||||
if (cp != 9601 && str != check) {
|
if (cp != 9601 && str != check) {
|
||||||
fprintf(stderr, "error: codepoint %x detokenizes to '%s'(%zu) instead of '%s'(%zu)\n",
|
fprintf(stderr, "error: codepoint %x detokenizes to '%s'(%zu) instead of '%s'(%zu)\n",
|
||||||
cp, check.c_str(), check.length(), str.c_str(), str.length());
|
cp, check.c_str(), check.length(), str.c_str(), str.length());
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue