成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Hugging Face全面擁抱LangChain:全新官方合作包

發(fā)布于 2024-5-30 10:10
瀏覽
0收藏

通過Hugging Face官方包的加持,開發(fā)小伙伴們通過簡單的api調(diào)用就能在langchain中輕松使用Hugging Face上各類流行的開源大語言模型以及各類AI工具。

以下是筆者在測試使用后,總結(jié)的在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平臺也提供了多種開源聊天模型作為對應(yīng)支持。你可以直接使用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應(yīng)用開發(fā)過程中必不可少的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)創(chuàng)建的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) 是一個部署和提供開源文本嵌入和序列分類模型的工具包,支持包括FlagEmbedding、Ember、GTE和E5在內(nèi)的流行模型。部署后,可以通過本地的http端口來調(diào)用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個數(shù)據(jù)集,涵蓋100多種語言,適用于NLP、計算機視覺和音頻領(lǐng)域的多種任務(wù)。通過HuggingFaceDatasetLoader,我們可以直接將這些數(shù)據(jù)集應(yīng)用于LangChain系統(tǒng)的構(gòu)建與測試。

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函數(shù)加載。

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

總結(jié)

通過上述介紹,相信你已經(jīng)可以輕松地在你的LangChain項目中集成Hugging Face平臺的強大功能。無論是聊天機器人、文本嵌入還是數(shù)據(jù)集加載,Hugging Face平臺都能為你提供更多的開源模型的支持。


標(biāo)簽
收藏
回復(fù)
舉報
回復(fù)
相關(guān)推薦
主站蜘蛛池模板: 日韩手机视频 | 成人精品一区二区三区中文字幕 | 国产一区二区三区亚洲 | 日韩欧美精品 | 久久精品成人 | 欧美不卡一区 | 欧美国产日韩一区二区三区 | 草久网| 色播av| 亚洲国产精品视频一区 | 亚洲黄色视屏 | 亚洲区在线 | 午夜视频在线观看网站 | 手机日韩 | 中文天堂网 | 亚洲精品视频免费观看 | 日本成人一区二区 | 久久精品在线免费视频 | 国产午夜精品一区二区三区嫩草 | 毛片一级黄色 | 婷婷色婷婷 | 日本不卡一区 | 一区在线观看 | 激情免费视频 | 男女羞羞免费网站 | 日本欧美视频 | 亚洲天堂免费 | 中文字幕在线看人 | 日韩成人在线电影 | 狠狠av | 综合精品久久久 | 日本视频一区二区 | 野狼在线社区2017入口 | 国产成人福利视频 | 最近中文字幕在线视频1 | 欧美炮房 | 亚洲伊人久久综合 | 亚洲一区二区三区免费观看 | 日韩成人在线看 | 国产www在线 | 日韩一区二区三区在线视频 |