认识LangChain

LangChain是一个开源框架,用于快速开发部署由LLM驱动的应用。LangChain使LLM不仅可以处理文本,还能够在更广泛的环境中进行操作和响应,从而扩展LLM的应用范围。如果把LLM比作CPU,那么LangChain类似于传感器。

LangChain特点和目标

  • 标准组件接口:各种大模型及相关组件数量不断增加,导致需要大量时间学习和使用不同厂商的API。LangChain为关键组件提供标准接口,降低大模型使用的门槛,并能方便切换不同的厂商。
  • 编排:将多个组件和模型高效连接起来以完成任务的需求日益增长。编排对于构建此类应用至关重要。
  • 可观测性和评估:随着应用变得更加复杂,理解其内部运行情况也变得越来越困难。可观测性和评估能够帮助开发人员监控他们的应用程序。

LangChain重要组成

LangChain核心组成

  • Models(模型):包装器可连接大型语言模型,如 GPT-4、Hugging Face 及 Ollama 提供的模型。
  • Prompt Templates(提示模板):提示模板避免硬编码文本输入,可动态插入用户输入并发送给LLM。
  • Chains(链):将多个组件组合,解决特定任务,构建完整语言模型应用程序。
  • Tools(工具):使语言模型能与外部 API 交互。
  • Embedding 嵌入与向量存储 VectorStore:数据表示和检索手段,为模型提供语言理解基础。

基于LangChain开发应用

下面以知识问答应用来介绍基于大语言模型开发的流程
LangChain流程

  • 输入部分:用户提出Question。
  • 中间处理部分:问题进入由 “prompt”(提示词)和 “vector model”(相似度搜索,一般是向量模型用于检索相关信息 )组成。通过提示词和检索相关信息来为后续大模型处理提供更准确的输入,然后调用LangChain 中的LLMs。
  • 输出部分:经过处理后输出 “Answer /Action”,也就是给出答案或者执行相应动作,同时还能调用 “Tool”,表明在必要时可以借助外部工具辅助回答。

LangChain生态

LangGraph

LangGraph是开源框架,专注于构建、管理基于大语言模型应用的框架,能以可视化方式设计和编排LLM 工作流 。

LangSmith

LangSmith是一个平台,用于跟踪、评估和监控大语言模型应用的平台。并支持提示词管理。

结束

LangChain可以快速切换不同的LLM和向量数据库等组件。LangChain提供高阶能力,比如工具调用和流式输出。LangChain、LangSmith 和 LangGraph 可以协同构建具有复杂流程的大语言模型应用产品。

参考

LangChain教程 | langchain 文件加载器使用教程 | Document Loaders全集_langchain csvloader-CSDN博客

基于LangChain构建RAG应用,非常详细收藏我这一篇就够了_rag 搭建公司规章制度-CSDN博客

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐