总结之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": "明天的天气怎么样?"})
相关推荐
花酒锄作田4 分钟前
Postgres - Listen/Notify构建轻量级发布订阅系统
python·postgresql
Thomas.Sir23 分钟前
第二章:LlamaIndex 的基本概念
人工智能·python·ai·llama·llamaindex
m0_694845571 小时前
Dify部署教程:从AI原型到生产系统的一站式方案
服务器·人工智能·python·数据分析·开源
laufing2 小时前
RAG 基础版 -- 基于langchain框架
langchain·embedding·rag
李昊哲小课2 小时前
Python办公自动化教程 - 第7章 综合实战案例 - 企业销售管理系统
开发语言·python·数据分析·excel·数据可视化·openpyxl
不知名的老吴2 小时前
返回None还是空集合?防御式编程的关键细节
开发语言·python
李昊哲小课3 小时前
Python办公自动化教程 - 第5章 图表创建 - 让数据可视化
python·信息可视化·数据分析·数据可视化·openpyxl
chushiyunen3 小时前
python pygame实现贪食蛇
开发语言·python·pygame
Dream of maid3 小时前
Python-基础2(流程控制)
python
Lenyiin4 小时前
《Python 修炼全景指南:一》从环境搭建到第一个程序
开发语言·python