Embedding模型作为大语言模型(Large Language Model,LLM)的一个重要辅助,是很多LLM应用必不可少的部分。但是,现实中开源的Emebdding模型却很少。北京智源人工智能研究院(BAAI)开源了BGE系列Embedding模型,不仅在MTEB排行榜中登顶冠军,还是免费商用授权的大模型,支持中文,可以满足大多数大模型应用场景的需求。同时它还支持商用许可,真是太棒了!官网:GitHub - FlagOpen/FlagEmbedding: Retrieval and Retrieval-augmented LLMs
知道BGE模型是在OpenDevin软件里第一次见到它,在配置embedding向量化的时候看到提示"Enter your LLM Embedding Model\nChoices are openai, azureopenai, llama2 or leave blank to default to 'BAAI/bge-small-en-v1.5' via huggingface”,后来查资料才发现它那么优秀,怪不得在OpenDevin里配置的四个向量模型里竟然占据了一个位置,而且还是默认模型。OpenDevin默认使用BAAI/bge-small-en-v1.5模型,地址:bge-small-en-v1.5: Mirror of https://huggingface.co/BAAI/bge-small-en-v1.5
中文的话可以使用这个模型:bge-small-zh-v1.5: Mirror of https://huggingface.co/BAAI/bge-small-zh-v1.5
当然BGE也有较大的模型,比如bge-large-zh
bge-large-zh: Mirror of https://huggingface.co/BAAI/bge-large-zh
设置好之后,都可以在huggingface里面自动下载下来。当然,如果官网不通,可以使用镜像站:HF-Mirror - Huggingface 镜像站
使用export设置环境变量:
export HF_ENDPOINT=https://hf-mirror.com
当前最新的bge-m3模型介绍
Hugging Face 模型镜像/bge-m3
BGE-M3(Paper, Code)
在这个项目中,我们发布了BGE-M3,它是第一个具有多功能、多语言和多粒度特性的文本检索模型。
- 多功能:可以同时执行三种检索功能:单向量检索、多向量检索和稀疏检索。
- 多语言:支持100多种工作语言。
- 多粒度:它能够处理不同粒度的输入,从短句子到长达8192个词汇的长文档。
在本项目中,为了提高单一检索模式的性能,提出了一种新的自知识蒸馏方法。 我们优化了批处理策略,支持大批处理大小,这可以在对长文本或大型语言模型进行向量微调时简单使用。 我们还构建了一个用于文档检索的数据集,并提出了一个简单的策略来提高长文本的建模能力。 训练代码和微调数据将在不久的将来开源。