Langchain架构原理浅谈

在使用Langchain的过程中发现,Langchain的原理图使用的是英文图片,流程的描述用词过于专业,所以这里我就用自己的理解来简单的表述Langchain的工作过程,希望对大家在使用Langchain开发应用的过程中有所帮助

以下是Langchian的原本原理图以及原理图的翻译

 以下是Langchain原理图的翻译

 

langchian的运作流程

根据上图所示,Langchian架构首先将本地的文档数据通过非结构加载的方式转成文本,然后再通过分词器转换成文本块,再通过嵌入器将文本块转换成向量进行存储,嵌入器模型Embedding model决定了后续答案生成的质量。所以Embedding model模型的选择很重要,用户输入查询或者问题信息,通过嵌入器转换成向量,把查询信息的向量与知识库的向量做比较,并通过提示词的形式输入LLM模型,最终通过LLM模型得到答案。

embedding 特性

一种将高维数据(如文本)映射到低维空间的技术。在处理文本时,每个单词或短语都被转换为一个固定大小的向量。这些向量可以捕捉到原始文本中的语义和语法信息,使得具有相似意义的单词在向量空间中彼此接近

其中Embedding 是一个用于与嵌入进行交互的类。有许多嵌入提供商(OpenAI、Cohere、Hugging Face等)- 这个类旨在为所有这些提供商提供一个标准接口。

现在市面上的Embedding模型有很多,以下是常用的Embedding列表,该模型列表是借鉴了Langchain-chatchat项目支持的模型

列表出处支持列表 · chatchat-space/Langchain-Chatchat Wiki · GitHub

本地模型

本项目支持调用 HuggingFace 中的 Embedding 模型,已支持的 Embedding 模型如下:

MokaAI系列嵌入模型

BAAI系列嵌入模型

text2vec系列嵌入模型

其他模型

达摩院系列嵌入模型

联网模型

除本地模型外,本项目也支持直接接入 OpenAI的在线嵌入模型。 支持的联网模型

在部署以及使用Langchain-chatchat的过程中我发现,在线的Embedding模型的支持并不是很好,

经过验证在线的Embedding模型中是无法支持智普AI的Embeding模型的。

以下是Github上项目组成员的回复

Github上的问题地址,有兴趣的可以去看下

[BUG] 轻量化部署-使用线上Embedding模型报错 · Issue #3100 · chatchat-space/Langchain-Chatchat · GitHub

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值