游乐游手机版
首页/AI教程/文章详情

AI RunnablePassThrough问题与解决方法

时间:2026-07-23 15:53
先直接给出结论:您之前使用的那个 HuggingFacePipelineEmbeddings 在官方稳定版 langchain-huggingface 中根本不存在——这正是导入失败的真正原因。这个错误责任在我,确实是我之前提供了错误的名称,深表歉意。 在 langchain-huggingface

先直接给出结论:您之前使用的那个 HuggingFacePipelineEmbeddings 在官方稳定版 langchain-huggingface 中根本不存在——这正是导入失败的真正原因。这个错误责任在我,确实是我之前提供了错误的名称,深表歉意。

langchain-huggingface 的正式版本中,本地可用的 Embedding 类实际上只有两个:

  1. HuggingFaceEmbeddings —— 唯一的本地嵌入类,必须依赖 sentence-transformers
  2. HuggingFaceEndpointEmbeddings —— 调用远程推理接口,本地无法运行 BGE 这类模型

当前局面总结

  • 如果想通过 langchain_huggingface 在本地加载 BGE 模型 → 只能使用 HuggingFaceEmbeddings
  • HuggingFaceEmbeddings 强制要求安装 sentence-transformers
  • 新版 sentence-transformers 搭配 transformers>=4.51 存在官方兼容性 Bug

也就是说,如果您坚持使用 langchain_huggingface 这条路径,就绕不开版本兼容性问题。不过请放心,下面两条方案都基于纯 LangChain 生态,无需手写原生 transformers 代码,可以直接使用。

方案 A|锁定兼容版本组合(继续使用 HuggingFaceEmbeddings,推荐用于教学演示)

激活您的 rag_env 环境,然后执行以下锁定版本命令,将 transformerssentence-transformers 降级到官方确认兼容的版本:

pip install transformers==4.46.3 sentence-transformers==3.2.1 --force-reinstall

安装完成后,您原来的代码就能直接运行成功:

import os
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"
os.environ["HF_HOME"] = r"D:\huggingface_cache"

from langchain_huggingface import HuggingFaceEmbeddings

embedding_model = HuggingFaceEmbeddings(
    model_name="BAAI/bge-small-zh-v1.5",
    model_kwargs={"device": "cpu"},
    encode_kwargs={"normalize_embeddings": True},
)

text = "订单未发货时,用户可以直接申请退款。"
vector = embedding_model.embed_query(text)
print(type(vector))
print(f"向量维度:{len(vector)}")
print(vector[:10])

方案 B|更换 LangChain 官方替代包 FastEmbedEmbeddings(彻底绕过 sentence-transformers)

如果您不想折腾版本兼容问题,还有一条更干净的路径:不使用 langchain_huggingface,转而采用社区支持的 FastEmbed。它同样是 LangChain 标准组件,不依赖 sentence-transformers,也不受 transformers 版本影响。

pip install fastembed langchain-community

完整代码示例如下:

import os
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"
os.environ["HF_HOME"] = r"D:\huggingface_cache"

from langchain_community.embeddings import FastEmbedEmbeddings

embedding_model = FastEmbedEmbeddings(model_name="BAAI/bge-small-zh-v1.5")

text = "订单未发货时,用户可以直接申请退款。"
vector = embedding_model.embed_query(text)
print(type(vector))
print(f"向量维度:{len(vector)}")
print(vector[:10])

✅ 接口完全一致,后续接入 Chroma 向量库的代码无需修改。

建议选择

  • 如果课程演示需要严格使用 langchain_huggingface → 执行方案 A 锁定版本
  • 如果仅需符合 LangChain 规范的 Embedding、不限定包名称 → 方案 B 的 FastEmbed 稳定性最强,一次解决所有问题

建议优先执行方案 A 中的 pip 锁定版本命令,先让现有代码恢复正常运行再说。

来源:https://bbs.huaweicloud.com/blogs/482642
上一篇什么是AI技能?从重复提示到可复用Agent专业能力 下一篇Matt Pocock万星项目Skills解析:手把手玩转AI编程助手生态
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
TalkVisions实时视频翻译应用,消除语言障碍
AI教程 · 2026-07-25

TalkVisions实时视频翻译应用,消除语言障碍

TalkVisions是一款实时视频翻译应用,能将视频中的口语实时转录为文本并翻译成用户所选语言,以字幕形式叠加在画面上,支持多语言、低延迟,还可保存录制视频,有效消除跨语言沟通障碍。

AI驱动的日历管理工具Ipso
AI教程 · 2026-07-25

AI驱动的日历管理工具Ipso

IpsoAI是一款专为专业人士及助手打造的AI日历管理工具,能够自动协调多方日程、智能草拟邮件,并通过快速安排会议、提供智能建议及自动化工作流程,显著减少琐碎操作,帮助用户高效管理时间、提升工作效率。

Spectate企业级专业高效监控与事故管理一体化平台
AI教程 · 2026-07-25

Spectate企业级专业高效监控与事故管理一体化平台

Spectate是一款高效监控和事故管理工具,能在30秒内检测故障并推送告警。它支持Slack、PagerDuty等主流集成,提供自定义状态页面和全球性能监控。系统自动更新状态并推送修复建议,帮助团队减少沟通成本,快速解决问题。

阿里云通义千问2.5大模型发布 多项能力赶超GPT-4
AI教程 · 2026-07-25

阿里云通义千问2.5大模型发布 多项能力赶超GPT-4

通义千问2 5大模型发布,多项能力宣称赶超GPT-4,中文语境下文本理解、生成、知识问答等表现优异。相比2 1版本,理解提升9%、逻辑推理提升16%、指令遵循提升19%。开源1100亿参数模型超越Llama-3-70B,获评开源最强。已服务超9万家企业,与小米、微博等达成合作。

万知个人AI工作站:一站式智能阅读创作分享平台
AI教程 · 2026-07-25

万知个人AI工作站:一站式智能阅读创作分享平台

万知是集成多种AI能力的个人工作站,支持自然语言交互、文档快速阅读与摘要生成、PPT自动设计与优化,覆盖学术研究、商务报告、写作辅助及日常问答等场景,全方位提升工作效率。