【Hugging Face全面拥抱LangChain:全新官方合作包】

文末有福利!

最近Hugging Face官宣发布langchain_huggingface,这是一个由 Hugging Face 和 LangChain 共同维护的 LangChain 合作伙伴包。这个新的 Python 包旨在将 Hugging Face 最新功能引入 LangChain 并保持同步。

通过Hugging Face官方包的加持,开发小伙伴们通过简单的api调用就能在langchain中轻松使用Hugging Face上各类流行的开源大语言模型以及各类AI工具。

以下是笔者在测试使用后,总结的在LangChain中无缝安装和使用Hugging Face最佳实践。

如何安装

要使用Hugging Face平台的功能,首先需要安装langchain-huggingface包,这是一个专门为Hugging Face平台集成的Python包。

pip install langchain-huggingface   

大型语言模型(LLM)

LLM是Langchain对大语言模型的核心抽象,Hugging Face中则将类似能力称之为Pipeline。因而Hugging Face平台使用HuggingFacePipeline类来启动开源大语言模型的本地启动

from langchain_huggingface.llms import HuggingFacePipeline      llm = HuggingFacePipeline.from_model_id(       model_id="gpt2",       task="text-generation",       pipeline_kwargs={"max_new_tokens": 10},   )   
  • 使用示例: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。

from langchain_core.messages import (       HumanMessage,       SystemMessage,   )   from langchain_huggingface import ChatHuggingFace      messages = [       SystemMessage(content="You're a helpful assistant"),       HumanMessage(           content="What happens when an unstoppable force meets an immovable object?"       ),   ]      chat_model = ChatHuggingFace(llm=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模型加载
from langchain_huggingface import HuggingFaceEmbeddings      model_name = "sentence-transformers/all-mpnet-base-v2"   model_kwargs = {'device': 'cpu'}   encode_kwargs = {'normalize_embeddings': False}   hf = HuggingFaceEmbeddings(       model_name=model_name,       model_kwargs=model_kwargs,       encode_kwargs=encode_kwargs   )   
  • 使用示例: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模型加载
from langchain_community.embeddings import HuggingFaceInstructEmbeddings      model_name = "hkunlp/instructor-large"   model_kwargs = {'device': 'cpu'}   encode_kwargs = {'normalize_embeddings': True}   hf = HuggingFaceInstructEmbeddings(       model_name=model_name,       model_kwargs=model_kwargs,       encode_kwargs=encode_kwargs   )   
  • 使用示例: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模型,是开源嵌入模型中的佼佼者。

from langchain_community.embeddings import HuggingFaceBgeEmbeddings      model_name = "BAAI/bge-small-en"   model_kwargs = {"device": "cpu"}   encode_kwargs = {"normalize_embeddings": True}   hf = HuggingFaceBgeEmbeddings(       model_name=model_name, model_kwargs=model_kwargs, encode_kwargs=encode_kwargs   )   
  • 使用示例: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) 是一个部署和提供开源文本嵌入和序列分类模型的工具包,支持包括FlagEmbeddingEmberGTEE5在内的流行模型。部署后,可以通过本地的http端口来调用Embedding能力。

pip install huggingface-hub      model=BAAI/bge-large-en-v1.5   revision=refs/pr/5   volume=$PWD/data # share a volume with the Docker container to avoid downloading weights every run      docker run --gpus all -p 8080:80 -v $volume:/data --pull always ghcr.io/huggingface/text-embeddings-inference:0.6 --model-id $model --revision $revision   
from langchain_huggingface.embeddings import HuggingFaceEndpointEmbeddings      embeddings = HuggingFaceEndpointEmbeddings(model="http://localhost:8080")   
  • 使用示例: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
from langchain_community.document_loaders.hugging_face_dataset import HuggingFaceDatasetLoader      dataset_name = "imdb"   page_content_column = "text"         loader = HuggingFaceDatasetLoader(dataset_name, page_content_column)   
  • 使用示例: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函数加载。

pip install transformers huggingface_hub   
from langchain.agents import load_huggingface_tool      tool = load_huggingface_tool("lysandre/hf-model-downloads")      print(f"{tool.name}: {tool.description}")   
  • 使用示例: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平台都能为你提供更多的开源模型的支持。

那么,如何系统的去学习大模型LLM?

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。

但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~ , 【保证100%免费

在这里插入图片描述

篇幅有限,部分资料如下:
👉LLM大模型学习指南+路线汇总👈

💥大模型入门要点,扫盲必看!
在这里插入图片描述
💥既然要系统的学习大模型,那么学习路线是必不可少的,这份路线能帮助你快速梳理知识,形成自己的体系。
在这里插入图片描述

👉大模型入门实战训练👈

💥光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

👉国内企业大模型落地应用案例👈

💥《中国大模型落地应用案例集》 收录了52个优秀的大模型落地应用案例,这些案例覆盖了金融、医疗、教育、交通、制造等众多领域,无论是对于大模型技术的研究者,还是对于希望了解大模型技术在实际业务中如何应用的业内人士,都具有很高的参考价值。 (文末领取)

在这里插入图片描述
💥《2024大模型行业应用十大典范案例集》 汇集了文化、医药、IT、钢铁、航空、企业服务等行业在大模型应用领域的典范案例。

在这里插入图片描述

👉LLM大模型学习视频👈

💥观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。 (文末领取)

在这里插入图片描述

👉640份大模型行业报告👈

💥包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
在这里插入图片描述

👉获取方式:
这份完整版的大模型 LLM 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/865263.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux 命令】文件比较 diff

diff 命令是 Unix 和类 Unix 系统(如 Linux 和 macOS)中用于比较文件内容差异的一个非常有用的命令行工具。它可以逐行比较两个文件的内容,并输出它们之间的差异。这些差异通常以行为单位显示,并且会标记出哪些行是唯一的、添加的…

d嘤嘤不想求异或喵(牛客周赛49)

题意&#xff1a; 嘤嘤有两个整数 l,r&#xff0c;她想知道区间 [l,r] 所有整数的异或和是多少. 分析&#xff1a; 样例1只有一个数输出1 样例2 1^201^10113 样例3 1^2^301^10^1111^11000 #include<bits/stdc.h> using namespace std; typedef long long ll; ll f(l…

14-15 为什么我们现在对阅读如此难以接受

写出来感觉很奇怪&#xff0c;但最近我感觉自己失去了阅读能力。长篇文本对我来说尤其具有挑战性。句子很难读完。更别提章节了。章节有很多段落&#xff0c;而段落又由许多句子组成。 啊。 即使在极少数情况下&#xff0c;我读完了一章&#xff0c;下一页上已经有另一章等着…

Unity3D滚动列表的编码与实现详解

Unity3D作为一款强大的游戏开发引擎&#xff0c;提供了丰富的UI系统&#xff08;UGUI&#xff09;来支持开发者构建各种用户交互界面。滚动列表作为常见的UI元素之一&#xff0c;在游戏、应用程序中广泛使用&#xff0c;如角色列表、物品背包、设置菜单等。本文将详细介绍Unity…

Asterinas 驱动框架

Asterinas 驱动框架 总线初始化 在整个OS初始化的时候&#xff1a; Rust pub fn init() { arch::before_all_init(); logger::init(); #[cfg(feature “intel_tdx”)] let td_info init_tdx().unwrap(); #[cfg(feature “intel_tdx”)] early_println!( “td gpaw: {}, td a…

有sdwan可以不用专线吗?sdwan和专线的区别优势

SD-WAN&#xff08;Software-Defined Wide Area Network&#xff0c;软件定义广域网&#xff09;确实可以在很大程度上替代传统的专线连接&#xff0c;尤其是在追求成本效益和网络灵活性的场景下。SD-WAN的核心优势在于其智能化和自动化的能力&#xff0c;这使得它能够优化数据…

华清远见人工智能课程:项目优势助力,学习更高效!

在人工智能飞速发展的今天&#xff0c;学习人工智能成为新的高薪赛道。我们都知道人工智能的学习离不开项目练手&#xff0c;只有通过实际项目的操作&#xff0c;才能真正掌握人工智能的核心技能。但遗憾的是&#xff0c;很多人工智能课程只注重理论知识的传授&#xff0c;缺乏…

中介子方程四十

XXFXXuXXWXXuXXdXXrXXαXXuXpXXKXηXiXXnXXyXηXuXXrXXaXnXXαXXnXaXXrXXuXηXyXXnXXiXηXKXXpXuXXαXXrXXdXXuXWXπXXWXeXyXeXbXπXpXXNXXqXeXXrXXαXXuXpXXKXηXiXXnXXyXηXuXXrXXaXnXXαXXnXaXXrXXuXηXyXXnXXiXηXKXXpXuXXαXXrXXeXqXXNXXpXπXbXeXyXeXWXXπXWXuXXdXXrXXα…

本地文件上传Github的方法

本文仅用于个人回忆本地文件上传GitHub方法&#xff0c;使用HTTP上传而不是SSH&#xff0c;其余文件已配置完成&#xff0c;如果你和我一样&#xff0c;那么请往下看&#xff0c;这条博客不说废话。 Step1 选择需要上传的文件&#xff0c;右键选择Git Bash Here Step2 创建一…

GAMES104:04游戏引擎中的渲染系统1:游戏渲染基础-学习笔记

文章目录 概览&#xff1a;游戏引擎中的渲染系统四个课时概览 一&#xff0c;渲染管线流程二&#xff0c;了解GPUSIMD 和 SIMTGPU 架构CPU到GPU的数据传输GPU性能限制 三&#xff0c;可见性Renderable可渲染对象提高渲染效率Visibility Culling 可见性裁剪 四&#xff0c;纹理压…

电路模型和电路定律

电路---为了某种需要由某些电工设备或元件按一定方式组合起来的电流的通路 实际电路的两个作用 1.电能的传输&#xff0c;分配和转换 2.传递和处理信号 电路中的几个基本概念 激励---电源或信号源的电压或电流&#xff0c;也称为输入 响应---由激励在电路各部分产生的电流…

怎么参与场外期权?

今天期权懂带你了解怎么参与场外期权&#xff1f; 目前个人投资者暂时还不能直接参与场外个股期权&#xff0c;因为场外个股期权现在只能机构来进行交易。 所以个人投资者目前只能通过机构通道来进行操作&#xff0c;类似期权懂&#xff0c;找到期权懂经理&#xff0c;然后通…

手机删除的照片怎么找回?3个急救指南,让你重新拥有

一不小心手滑&#xff0c;手机里的几百张珍贵照片就消失了&#xff01;是不是心如刀割&#xff0c;感觉错过了几个亿&#xff1f;手机删除的照片怎么找回&#xff1f;别担心&#xff0c;小菜一碟&#xff0c;恢复照片就像打游戏一样&#xff0c;只要掌握正确的“攻略”&#xf…

【linux】linux和windows的互传

linux和windows的互传&#xff1a; 把数据从linux上放回到win上来 scp justin192.168.112.5:/home/justin/Desktop/code/python_project/Jersey-Number/datasets.tar.gz ./datasets.tar.gz 复制 Windows 文件到 Linux scp D:\data\1.txt root192.168.88.161:/root/data 复制…

初学vue3, 全是黑盒子,vue3知识点汇总

学习 Vue.js 应该像学习一门编程语言一样&#xff0c;首先要熟练掌握常用的知识&#xff0c;而对于不常用的内容可以简单了解一下。先对整个框架和语言有一个大致的轮廓&#xff0c;然后再逐步补充细节。千万不要像学习算法那样&#xff0c;一开始就钻牛角尖。 前序: vueAPI的…

Arrays.stream使用方法总结

Arrays.stream使用方法总结 本文介绍Arrays的stream流用法 Arrays.stream使用方法总结对数组简单操作最大值max最小值min平均值average数组长度count数组去重后长度distinct数组排序sorted 对数组复杂操作获得intStream对象匹配allMatch匹配anyMatch过滤filter限制数量limit遍…

AI大模型时代来临:企业如何抢占先机?

AI大模型时代来临:企业如何抢占先机? 2023年,被誉为大模型元年,AI大模型的发展如同一股不可阻挡的潮流,正迅速改变着我们的工作和生活方式。从金融到医疗,从教育到制造业,AI大模型正以其强大的生成能力和智能分析,重塑着行业的未来。 智能化:企业核心能力的转变 企…

世界智能产业博览会开幕 - 天空卫士汽车行业方案入选优秀案例

6月20日&#xff0c;以“智行天下、能动未来”为主题的2024世界智能产业博览会在国家会展中心&#xff08;天津&#xff09;开幕。主席向博览会致贺信并指出&#xff1a;中国高度重视人工智能发展&#xff0c;积极推动互联网、大数据、人工智能和实体经济深度融合&#xff0c;培…

netty系列(三)client启动

client启动&#xff1a; server是在bootstrap.bind的时候启动&#xff0c;而同样&#xff0c;client是在bootstrap.connect时启动&#xff0c;流程都是一样的&#xff1a;创建NioSocketChannel&#xff0c;和workgroup中的一个eventloop绑定起来&#xff0c;然后再执行connect…

[Python学习篇] Python函数

定义函数 语法&#xff1a;使用关键字 def def 函数名(参数): 代码1 代码2 ...... 调用函数 语法&#xff1a; 函数名(参数) 注意&#xff1a;不同的需求&#xff0c;参数可有可无。在Python中&#xff0c;函数必须先定义后使用 示例&#xff1a; # 定义函数 d…