当前位置:   article > 正文

LLM大模型从入门到精通(5)--LangChain基础知识入门

LLM大模型从入门到精通(5)--LangChain基础知识入门

 LangChain是一个基于大语言模型用于构建端到端语言模型应用的框架,它提供了一系列工具、套件和接口,让开发者使用语言模型来实现各种复杂的任务,如文本到图像的生成、文档问答、聊天机器人等。

一、什么是LangChain?

        LangChain 由 Harrison Chase 创建于2022年10月,它是围绕LLMs(大语言模型)建立的一个框架。LangChain自身并不开发LLMs,它的核心理念是为各种LLMs实现通用的接口,把LLMs相关的组件“链接”在一起,简化LLMs应用的开发难度,方便开发者快速地开发复杂的LLMs应用.

github: https://github.com/langchain-ai/langchain

中文文档:https://www.langchain.asia

官方文档:https://python.langchain.com/docs/get_started/introduction

 

        LangChain 简化了LLM应用生命周期的每个阶段,包括开发、生产化和部署。LangChain 提供了一套开源的构建块、组件和第三方集成,使用户能够构建具有状态的代理,支持一流的流处理和人工干预支持,并提供了LangGraph来构建复杂的多参与者应用,通过将步骤建模为图中的边和节点。

        LangChain 还提供了如何使用的工具和指南,例如如何定义自定义工具,构建简单的LLM应用、聊天机器人或代理,以及如何使用LangGraph。它还包括教程、如何操作的指南、概念性指南和API参考,以帮助开发者更好地理解和使用LangChain。

        此外,LangChain 允许开发者通过组合不同的组件来创建链,这些组件可以是提示模板、LLMs 或代理等。链可以是简单的,也可以是复杂的,通过组合多个链或其他组件来实现更高级的应用。开发者可以通过LangChain提供的接口和类,例如 Chain 接口和 BaseTool 类,来构建和定义自己的工具和链,以及处理工具错误。

LangChain框架由以下开源库组成:


langchain-core :基础抽象和LangChain表达式语言

langchain-community :第三方集成。合作伙伴包(如langchain-openai、langchain-anthropic等),一些集成已经进一步拆分为自己的轻量级包,只依赖于langchain-core

langchain :构成应用程序认知架构的链、代理和检索策略

langgraph:通过将步骤建模为图中的边和节点,使用 LLMs 构建健壮且有状态的多参与者应用程序

langserve:将 LangChain 链部署为 REST API

LangSmith:一个开发者平台,可让您调试、测试、评估和监控LLM应用程序,并与LangChain无缝集成
 

 

二、LangChain基本使用

构建一个 LangChain应用程序来熟悉该框架。

安装LangChain

安装指定版本的LangChain,这里安装截止目前的最新版本

  1. pip install langchain==0.1.7

执行安装LangChain命令后,会自动安装以下相关组件

Installing collected packages: langsmith, langchain-core, langchain-text-splitters, langchain-community, langchain

克隆LangChain存储库从源代码安装

pip install -e

安装LangChain时包括常用的开源LLM(大语言模型) 库

pip install langchain[llms]

配置环境变量

安装第三方集成库,以使用OpenAI

pip install langchain langchain_openai

使用提示模板

使用提示模板来指导其响应。 提示模板将原始用户输入转换为更好的 LLM 输入

  1. # 初始化模型
  2. from langchain_openai import ChatOpenAI
  3. llm = ChatOpenAI()
  4. # 创建提示模板
  5. from langchain_core.prompts import ChatPromptTemplate
  6. prompt = ChatPromptTemplate.from_messages([
  7. ("system", "您是世界级的技术文档编写者。"),
  8. ("user", "{input}")
  9. ])
  10. # 组合成一个简单的 LLM 链
  11. chain = prompt | llm
  12. # 使用LLM链
  13. chain.invoke({"input": "Langsmith 如何帮助进行测试?"})

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/873700
推荐阅读
相关标签
  

闽ICP备14008679号