总结之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": "明天的天气怎么样?"})
相关推荐
nimadan121 小时前
**手机小说扫榜工具2025推荐,精准追踪榜单动态与题材风向
python·智能手机
编程武士1 小时前
Python 各版本主要变化速览
开发语言·python
傻啦嘿哟1 小时前
Python中的@property:优雅控制类成员访问的魔法
前端·数据库·python
sky17202 小时前
VectorStoreRetriever 三种搜索类型
python·langchain
草帽lufei2 小时前
LangChain 框架基础知识和核心组件Prompts,Chains
langchain·openai·gemini
旦莫2 小时前
Python测试开发工具库:日志脱敏工具(敏感信息自动屏蔽)
python·测试开发·自动化·ai测试
唐叔在学习2 小时前
Python自动化指令进阶:UAC提权
后端·python
旺仔小拳头..2 小时前
Java ---变量、常量、类型转换、默认值、重载、标识符、输入输出、访问修饰符、泛型、迭代器
java·开发语言·python
重铸码农荣光2 小时前
🤖 用 AI 写 Git Commit Message?我让新手秒变 Git 高手!
langchain·aigc·全栈
wujj_whut3 小时前
【Conda实战】从0到1:虚拟环境创建、多Python版本管理与环境切换全指南
开发语言·python·conda