中文环境下使用 huggingface 模型替换 OpenAI的Embedding 接口
💡
原文中文,约3400字,阅读约需8分钟。
📝
内容提要
本文介绍了OpenAI的文本嵌入及其在搜索、聚类、推荐、异常检测、多样性测量和分类等方面的应用。然而,OpenAI的文本嵌入接口对中文的支持并不好,社区经过实践,对中文支持比较好的模型是Hugging face上的ganymedenil/text2vec-large-chinese。通过在本地运行Huggingface模型,可以使用Nuget包Microsoft.SemanticKernel.Connectors.AI.HuggingFace进行文本嵌入。具体用法可以参考单元测试代码HuggingFaceEmbeddingGenerationTests。
🎯
关键要点
- OpenAI的文本嵌入用于衡量文本字符串的相关性,应用于搜索、聚类、推荐、异常检测、多样性测量和分类等领域。
- 嵌入是浮点数的向量,两个向量之间的距离表示它们的相关性,距离小表示高相关性。
- OpenAI的文本嵌入接口对中文支持不佳,推荐使用Hugging face上的ganymedenil/text2vec-large-chinese模型。
- 该模型使用中文STS-B数据集进行训练,将句子映射到768维密集向量空间。
- 可以通过Semantic Kernel的示例项目在本地运行Huggingface模型,使用Docker构建和运行模型服务器。
- 使用Nuget包Microsoft.SemanticKernel.Connectors.AI.HuggingFace进行文本嵌入,具体用法可参考单元测试代码HuggingFaceEmbeddingGenerationTests。
➡️