零基础理解LangChain框架

一、定义

langchain是大模型应用的开发框架,简化大模型应用的开发、测试、评估、运营。不是大模型的开发、训练框架,比如想要从0-1训练一个LLM模型,使用PyTorch框架更合适。

二、用法

(1)安装新版本python,3.10+。 # 安装方法可以问元宝

(2)安装依赖包

pip install langchain
pip install langchain_core

(3)聊天机器人

from langchain.chat_models import init_chat_model

model = init_chat_model("gpt-4o-mini", model_provider="openai")

print(model.invoke("你好"))

(4)翻译小助手

# 使用chat model和prompt模版构建llm应用
from langchain.chat_models import init_chat_model
from langchain_core.messages import HumanMessage, SystemMessage

model = init_chat_model("gpt-4o-mini", model_provider="openai")

# 定义系统消息(设定GPT角色)
system_message = SystemMessage(content="你是一个专业的中英翻译助手。请将用户输入的中文文字翻译为英文,只翻译最新输入的内容,不要翻译历史内容。")

while True:
    user_input = input("请输入要翻译的文字: ")
    messages = [
        system_message,
        HumanMessage(content=user_input)
    ]
    response = model.invoke(messages)
    print(f"翻译结果: {response.content}")

提示:代码直接运行可能失败。依赖环境变量中openai的密钥。

三、适用场景

用于大模型应用的开发,比如聊天机器人(聊天+查询互联网资料+查询公司内部系统数据)、智能问答机器人(知识库搜索)、翻译小助手。

一个业务场景示例:

场景:devops领域包含发布系统,发布任务执行失败时,希望能够快速定位原因:系统问题(db故障)、业务服务自身问题(端口没有监听)。如果是业务服务问题,提供具体的报错日志(省去人工登机器找日志)。

解决方案:基于langchain框架开发一个agent,只有一个工具:根据任务链接和机器IP分析失败原因(采用规则匹配识别系统问题,收集服务启动日志后丢给大模型,让大模型总结出报错日志&可能原因)。

四、实现机制&架构

1、核心层,langchain-core

提供:基础抽象(Runnable接口(链式调用时需实现该接口,invoke函数)、提示词模版(xxPromptTemplate)、记忆管理(短期、长期记忆,基于内存、向量数据库、KV数据库)),定义组件的交互标准。

2、集成层,langchain-community

集成第三方sdk。比如openai、deepseek、混元等LLM、Hugging Face的sdk。通过model = ChatOpenAI(xx) 可以快速构建一个LLM客户端。

3、功能层,langchain

提供:链(Chains,提示词模板|LLM|输出格式化)、代理(Agents智能体,AgentExecutor)、检索器(Retrieval,RetrievalQA) 等sdk包。

4、生产层,LangServe、LangSmith

提供:LLM调用的调试、监控。记录每一次LLM调用。

注:LangGraph框架不包含在这里,其侧重解决复杂工作流编排问题,其他问题仍然用上面这些工具包处理。

五、功能模块及作用

1、模型,Models

作用:统一各LLM大模型的接口,包含文本生成(包含聊天、翻译、分类、完形填空等)、对话(聊天单独一个工具类,简化使用)、嵌入(文本转嵌入向量)等任务。

关键组件:

LLM:通用的文本生成模型(如GPT-4、Claude)。

ChatModel:对话专用模型(支持多轮对话,记忆)。

Embedding:文本向量化模型(如OpenAI Embedding、BERT、BGE)。

示例:

from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model_name="gpt-4-turbo")  # 初始化对话模型

2、链,Chains

作用:将多个组件串联为任务流程。

关键组件:

LLMChain:基础链,直接调用LLM。

示例:

from langchain.chat_models import init_chat_model
model = init_chat_model("gpt-4o-mini", model_provider="openai")

from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
from langchain_core.output_parsers import StrOutputParser

# 创建提示模板
prompt_template = ChatPromptTemplate([
    ("system", "你是一个专业的中英翻译助手。请将用户输入的中文文字翻译为英文。"),
    MessagesPlaceholder("msgs")
])

# 直接调用
translation_chain = prompt_template | model | StrOutputParser()

result1 = translation_chain.invoke({"msgs": [HumanMessage
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

daxiang12092205

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

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

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

打赏作者

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

抵扣说明:

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

余额充值