总结之LangChain(一)—— 简单使用LangChain

LangChain介绍

LangChain官网:https://python.langchain.com/v0.2/docs/introduction/

LangChain 是一个基于大型语言模型(LLM)开发应用程序的框架。

LangChain 简化了LLM应用程序生命周期的每个阶段:

  • 开发:使用 LangChain 的开源构建模块和组件构建应用程序。使用第三方集成(opens in a new tab)和模板(opens
    in a new tab)快速上手。
  • 生产化:使用LangSmith检查、监控和评估你的链条,以便你可以持续优化和自信地部署。
  • 部署:使用LangServe(opens in a new tab)将任何链条转变为 API。

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

  • langchain-core:基本抽象和 LangChain 表达式语言。
  • langchain-community:第三方集成。 合作伙伴包(例如
    langchain-openai,langchain-anthropic 等):某些集成已进一步拆分为仅依赖于
    langchain-core 的轻量级包。
  • langchain:构成应用程序认知架构的链条、代理和检索策略。
  • langgraph(opens in a new
    tab):通过将步骤建模为图中的边缘和节点,使用LLMs构建强大且有状态的多角色应用程序。
  • langserve(opens in a new tab):将 LangChain 链条部署为 REST API。

使用LangChain

使用的方法我们可以参考官网

How-to guides:https://python.langchain.com/v0.2/docs/how_to/

第一步 引包
powershell 复制代码
pip install langchain

使用API提供的模型,如OpenAI

powershell 复制代码
pip install langchain-openai
第二步 获取访问API

访问openai网址,注册后生成个人API-KEY

讲key设置为环境变量

powershell 复制代码
export OPENAI_API_KEY="..."
第三步 初始化模型
python 复制代码
from langchain_openai import ChatOpenAI
 
llm = ChatOpenAI()

或者不设置环境变量的话,通过参数形式写入

python 复制代码
from langchain_openai import ChatOpenAI
 
llm = ChatOpenAI(api_key="...")
第四步 通过LangChain使用LLM
python 复制代码
llm.invoke("明天的天气怎么样?")

我们还可以使用提示模板来指导其回答。 提示模板将原始用户输入转换为更好的输入以供LLM使用。

python 复制代码
from langchain_core.prompts import ChatPromptTemplate
prompt = ChatPromptTemplate.from_messages([
    ("system", "你是一个专业的天气播报员"),
    ("user", "{input}")
])

组合成一个简单的LLM链

python 复制代码
chain = prompt | llm 

这样我在次提问,AI回答的方向和语境更倾向于天气播报员了

python 复制代码
chain.invoke({"input": "明天的天气怎么样?"})

ChatModel的输出(因此,也是这个链的输出)是一个消息。然而,使用字符串更方便。让我们添加一个简单的输出解析器将聊天消息转换为字符串。

python 复制代码
from langchain_core.output_parsers import StrOutputParser
 
output_parser = StrOutputParser()

将其添加到之前的链中

python 复制代码
chain = prompt | llm | output_parser

现在,我们可以调用它并问相同的问题。答案现在将是一个字符串(而不是ChatMessage)。

python 复制代码
chain.invoke({"input": "明天的天气怎么样?"})
相关推荐
IT学长编程几秒前
计算机毕业设计 基于Python的电商用户行为分析系统 Django 大数据毕业设计 Hadoop毕业设计选题【附源码+文档报告+安装调试】
大数据·hadoop·python·django·毕业设计·课程设计·电商用户行为分析系统
国服第二切图仔16 分钟前
Rust开发之自定义错误类型(实现Error trait)
开发语言·python·rust
wshzd22 分钟前
LLM之Agent(二十六)| LangChain × LangGraph 1.0 正式发布:AI 智能体迈入“工业化”纪元
人工智能·langchain
Geoking.30 分钟前
PyTorch 中 Tensor 交换维度(transpose、permute、view)详解
人工智能·pytorch·python
咚咚王者33 分钟前
人工智能之编程基础 Python 入门:第四章 条件循环与异常
人工智能·python
mCell37 分钟前
Agent ReAct and Loop
langchain·llm·agent
zhangbaolin6 小时前
Langchain中的消息
langchain·messages
做运维的阿瑞10 小时前
用 Python 构建稳健的数据分析流水线
开发语言·python·数据分析
左师佑图10 小时前
综合案例:Python 数据处理——从Excel文件到数据分析
开发语言·python·数据分析·excel·pandas
l1t11 小时前
利用DeepSeek修改数据结构提升求解集合程序效率
数据结构·python·deepseek