2个不稳定版本
0.2.0 | 2024年4月8日 |
---|---|
0.1.0 | 2024年3月22日 |
#744 in 文本处理
18KB
471 行
BGE小英文嵌入库
这个Rust库提供了一个接口,用于使用Hugging Face的BGE Small English v1.5模型生成嵌入,专为密集检索应用设计。该模型是FlagEmbedding项目的一部分,专注于检索增强型LLM,在嵌入生成方面提供了最先进的性能。
Rust文档: https://docs.rs/bge/latest/bge/struct.Bge.html Crates.io: https://crates.io/crates/bge
功能
- 加载和使用BGE Small English v1.5模型进行嵌入生成。
- 标准化嵌入以进行比较。
- 优雅地处理大型输入和错误。
模型参考
BGE Small English v1.5模型可在Hugging Face上找到:http://hugging-face.cn/BAAI/bge-small-en-v1.5。此模型是FlagEmbedding项目的一部分,该项目包括各种用于检索增强型LLM的工具和模型。更多详情请访问FlagEmbedding GitHub。
入门指南
要使用此库,您首先需要从Hugging Face下载必要的模型和分词器文件
- 分词器文件: tokenizer.json
- 模型文件: model.onnx
这些文件应保存在您的本地机器上的已知目录中。
安装
确保您的系统已安装Rust。然后,将此库添加到项目的Cargo.toml
文件中。
在您的项目中包含bge
要使用bge
,请将以下内容添加到您的Cargo.toml
文件中
[dependencies]
bge = "0.1.0"
# If your project requires `ort` binaries to be automatically downloaded, include `ort` with the `download-binaries` feature enabled:
ort = { version = "2.0.0-rc.1", default-features = false, features = ["download-binaries"] }
用法
加载模型
首先,使用分词器和模型文件的路径初始化Bge
结构
let bge = Bge::from_files("path/to/tokenizer.json", "path/to/model.onnx").unwrap();
生成嵌入
要为给定的输入文本生成嵌入
let input_text = "Your input text here.";
let embeddings = bge.create_embeddings(input_text).unwrap();
println!("Embeddings: {:?}", embeddings);
这将打印模型为输入文本生成的嵌入。
处理错误
库可以在几种情况下返回错误,例如当输入超过模型的令牌限制或加载模型时出现问题。建议在您的应用程序中适当地处理这些错误。
贡献
欢迎为这个库做出贡献。如果您遇到任何问题或有改进建议,请打开一个 issue 或提交一个 pull request。
许可证
本库采用 MIT 许可证授权。Hugging Face 提供的 BGE 模型可免费用于商业目的。
依赖项
~16–29MB
~436K SLoC