
Hugging Face全面拥抱LangChain:全新官方合作包
通过Hugging Face官方包的加持,开发小伙伴们通过简单的api调用就能在langchain中轻松使用Hugging Face上各类流行的开源大语言模型以及各类AI工具。
以下是笔者在测试使用后,总结的在LangChain中无缝安装和使用Hugging Face最佳实践。
如何安装
要使用Hugging Face平台的功能,首先需要安装langchain-huggingface包,这是一个专门为Hugging Face平台集成的Python包。
大型语言模型(LLM)
LLM是Langchain对大语言模型的核心抽象,Hugging Face中则将类似能力称之为Pipeline。因而Hugging Face平台使用HuggingFacePipeline类来启动开源大语言模型的本地启动
- 使用示例:https://python.langchain.com/v0.2/docs/integrations/llms/huggingface_pipelines/
- API参考文档:https://api.python.langchain.com/en/latest/llms/langchain_huggingface.llms.huggingface_pipeline.HuggingFacePipeline.html
聊天模型(Chat modal)
Chat作为Langchain集成与交互的核心入口,Hugging Face平台也提供了多种开源聊天模型作为对应支持。你可以直接使用ChatHuggingFace类来快速集成开源LLM。
- 使用示例:https://python.langchain.com/v0.2/docs/integrations/chat/huggingface/
- API参考文档:https://api.python.langchain.com/en/latest/chat_models/langchain_huggingface.chat_models.huggingface.ChatHuggingFace.html
嵌入模型(embedding)
RAG应用开发过程中必不可少的embedding模型,Hugging Face也提供了各类开源嵌入模型的选择,包括:
HuggingFaceEmbeddings
- 通用开源embedding模型加载
- 使用示例:https://python.langchain.com/v0.2/docs/integrations/text_embedding/huggingfacehub/
- API参考文档:https://api.python.langchain.com/en/latest/embeddings/langchain_huggingface.embeddings.huggingface.HuggingFaceEmbeddings.html
HuggingFaceInstructEmbeddings
- 指令型开源embedding模型加载
- 使用示例:https://python.langchain.com/v0.2/docs/integrations/text_embedding/instruct_embeddings/
- API参考文档:https://api.python.langchain.com/en/latest/embeddings/langchain_community.embeddings.huggingface.HuggingFaceInstructEmbeddings.html
HuggingFaceBgeEmbeddings
由北京人工智能研究院(BAAI)创建的BGE模型,是开源嵌入模型中的佼佼者。
- 使用示例:https://python.langchain.com/v0.2/docs/integrations/text_embedding/bge_huggingface/
- API参考文档:https://api.python.langchain.com/en/latest/embeddings/langchain_community.embeddings.huggingface.HuggingFaceBgeEmbeddings.html
Hugging Face Text Embeddings Inference (TEI)
Hugging Face文本嵌入推理(TEI) 是一个部署和提供开源文本嵌入和序列分类模型的工具包,支持包括FlagEmbedding、Ember、GTE和E5在内的流行模型。部署后,可以通过本地的http端口来调用Embedding能力。
- 使用示例:https://python.langchain.com/v0.2/docs/integrations/text_embedding/text_embeddings_inference/
- API参考文档:https://api.python.langchain.com/en/latest/embeddings/langchain_community.embeddings.huggingface_hub.HuggingFaceHubEmbeddings.html
文档加载器
Hugging Face平台拥有超过75,000个数据集,涵盖100多种语言,适用于NLP、计算机视觉和音频领域的多种任务。通过HuggingFaceDatasetLoader,我们可以直接将这些数据集应用于LangChain系统的构建与测试。
Hugging Face Dataset
- 使用示例:https://python.langchain.com/v0.2/docs/integrations/document_loaders/hugging_face_dataset/
- API参考文档:https://api.python.langchain.com/en/latest/document_loaders/langchain_community.document_loaders.hugging_face_dataset.HuggingFaceDatasetLoader.html
工具
Hugging Face Hub Tools
Hugging Face工具 支持文本输入输出,可以通过load_huggingface_tool函数加载。
- 使用示例:https://python.langchain.com/v0.2/docs/integrations/tools/huggingface_tools/
- API参考文档:https://api.python.langchain.com/en/latest/agent_toolkits/langchain_community.agent_toolkits.load_tools.load_huggingface_tool.html
总结
通过上述介绍,相信你已经可以轻松地在你的LangChain项目中集成Hugging Face平台的强大功能。无论是聊天机器人、文本嵌入还是数据集加载,Hugging Face平台都能为你提供更多的开源模型的支持。
