ONNX格式的Transformers嵌入
TransformersEmbeddingClient是一个实现EmbeddingClient接口的类,它使用所选的句子变换器在本地计算句子嵌入。
该类利用预先训练好的转换器模型,以Open Neural Network Exchange (ONNX)格式序列化。
通过应用Deep Java Library和Microsoft ONNX Java Runtime库来运行ONNX模型并在Java中计算嵌入。
序列化Tokenizer和Transformer模型
为了在Java中运行,我们需要将Tokenizer和Transformer模型序列化为ONNX格式。
使用optimum-cli进行序列化
一种快速实现此目的的方法是使用optimum-cli命令行工具。以下代码片段准备了一个Python虚拟环境,安装了所需的包,并使用optimum-cli导出(即导出)指定模型:
python3 -m venv venv
source ./venv/bin/activate
(venv) pip install --upgrade p