LangChain学习——核心组件

LangChain是一个简化大语言模型应用开发的框架,提供组件化的工具,如处理模型输入输出、数据连接、链式组合、LCEL表达式语言、记忆管理、代理和回调机制。这些组件帮助开发者快速构建复杂的LLM应用,提高效率和灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        LangChain是一个用于大语言模型(LLM)应用开发的框架,它简化了LLM应用的开发难度,帮助开发者快速构建复杂的LLM应用。

一、LangChain 库简介

LangChain 包的主要价值主张是:

  1. 组件:用于处理语言模型的可组合工具和集成。无论你是否使用 LangChain 框架的其余部分,组件都是模块化的,易于使用
  2. 现成的链:用于完成高级任务的组件的内置组合

现成的链使得开始变得容易。组件使得定制现有链和构建新链变得容易。

LangChain 库本身由几个不同的包组成。

  • langchain-core:基础抽象和 LangChain 表达式语言。
  • langchain-community:第三方集成。
  • langchain:构成应用程序认知架构的链、代理和检索策略。

 二、LangChain的核心组件

        1、模型输入输出(Model I/O)

        这是与各种大语言模型进行交互的基本组件。它允许开发者管理提示(prompt),通过通用接口调用语言模型,并从模型输出中提取信息。简单来说,这个组件负责与大语言模型“对话”,将我们的请求传递给模型,并接收模型的回复。

  • 提示 prompts : 将模型输入模板化、动态选择和管理
    • PromptTemplate 可以在模板中自定义变量
from langchain.prompts import PromptTemplate

template = PromptTemplate.from_template("给我讲个关于{subject}的故事")
print(template.format(subject='星座'))
  • ChatPromptTemplate 用模板表示的对话上下文
from langchain.prompts import (
    ChatPromptTemplate,
    HumanMessagePromptTemplate,
    SystemMessagePromptTemplate,
)
from langchain_openai import ChatOpenAI
template = ChatPromptTemplate.from_messages(
    [
        SystemMessagePromptTemplate.from_template(
            "你是{product}的客服助手。你的名字叫{name}"),
        HumanMessagePromptTemplate.from_template("{query}"),
    ]
)
llm = ChatOpenAI()
prompt = template.format_messages(
    product="手机客服",
    name="小花",
    query="你是谁"
)

ret = llm.invoke(prompt)

print(ret.content)
  • MessagesPlaceholder 把多轮对话变成模板
from langchain.prompts import (
    ChatPromptTemplate,
    HumanMessagePromptTemplate,
    MessagesPlaceholder,
)
from langchain_core.messages import AIMessage, HumanMessage
human_prompt = "Translate your answer to {language}."
human_message_template = HumanMessagePromptTemplate.from_template(human_prompt)

chat_prompt = ChatPromptTemplate.from_messages(
    [MessagesPlaceholder(variable_name="conversation"), human_message_template]
)
human_message = HumanMessage(content="Who is Elon Musk?")
ai_message = AIMessage(
    content="Elon Musk is a billionaire entrepreneur, inventor, and industrial designer"
)
messages = chat_prompt.format_prompt(
    # 对 "conversation" 和 "language" 赋值
    conversation=[human_message, ai_message], language="中文"
)
result = llm.invoke(messages)
print(result.content)
### 关于LangChain框架的介绍 LangChain 已经成为当前大型语言模型 (LLM) 应用框架的事实标准[^1]。该框架不仅提供了构建基于 LLM 的应用程序所需的核心组件和支持,还通过与多种第三方 API 集成的能力进一步增强了开发者的灵活性和创造力[^2]。 #### 主要特点 - **强大的生态系统**:作为事实上的行业标准,LangChain 收录了大量来自不同供应商提供的聊天机器人系统接口,使得开发者能够轻松接入各种预训练的语言模型服务。 - **易于扩展的应用程序功能**:除了基本的文字对话处理外,还可以方便地集成其他类型的外部资源和服务,比如社交媒体平台或者在线支付解决方案等,从而极大地拓宽了可以实现的服务种类和应用场景范围。 - **灵活的消息传递机制**:定义了一套清晰的角色划分方案——即区分人类输入(Human) 和机器回复(AI),这有助于更好地管理和理解整个交互过程中的信息流动方向。 ```python from langchain import LangChain # 初始化一个简单的会话链实例 chat_model = LangChain() def handle_message(message_type, content): if message_type == 'Human': response = chat_model.generate_response(content) print(f"AI: {response}") elif message_type == 'AI': pass # 处理来自AI端的消息逻辑 handle_message('Human', "你好,世界!") ``` 上述代码展示了如何利用 `LangChain` 创建并管理一次简单的人机交流会话,在实际部署过程中可以根据业务需求调整具体的实现细节[^4]。 #### 使用场景举例 当涉及到较为复杂的问答系统设计时,虽然这里展示的是一个简化的版本,但是已经足以作为一个良好的起点去探索更多可能性。例如,可以通过自定义检索器和提示生成函数来适应特定领域内的查询请求,并在此基础上不断迭代优化直至满足预期效果为止[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pumpkin84514

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值