二、编译
1、修改cmakelists.txt,支持x86和64编译(tokenizers_c库,原始版本windows下只支持64位)
修改顶层CMakeLists.txt文件(77行),支持x86编译
elseif (CMAKE_SYSTEM_NAME STREQUAL "Windows")
#set(TOKENIZERS_CPP_CARGO_TARGET x86_64-pc-windows-msvc)
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(TOKENIZERS_CPP_CARGO_TARGET i686-pc-windows-msvc)
message(STATUS "Targeting 32-bit architecture")
elseif(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(TOKENIZERS_CPP_CARGO_TARGET x86_64-pc-windows-msvc)
message(STATUS "Targeting 64-bit architecture")
else()
message(FATAL_ERROR "Unsupported architecture")
endif()
endif()
2、生成项目以及编译lib
debug
cmake .. -G "Visual Studio 16 2019" -A Win32 -DCMAKE_BUILD_TYPE=Debug
cmake --build . --config Debug
PS: vs2019 win32
release
cmake .. -G "Visual Studio 16 2019" -A Win32 -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release
PS:请采用控制台编译,不然tokenizers_c.lib不可控,可能与预期编译debug/release不匹配
三、demo编写
1、依赖库
ws2_32.lib;Userenv.lib;Ntdll.lib;Bcrypt.lib;
2、模型下
模型下载地址
PS:目前测试的模型,输入的中文逗号,输出都会被转换为英文逗号,所以比较加密后再解密时,数据肯定不一致
模型四:谷歌模型
PS:支持的不友好,输入:你好啊,欢迎来到中国,Nice to meet you
输出有[UNK]标识,Nice无法识别,导致加解密出来数据不一致
模型五:此模型和模型四差不多,但没模型四的问题
3、demo效果