LangChain:介绍

LangChain是一个用于开发基于大语言模型(LLM)的AI应用程序的框架。简化了LLM应用生命周期的每个阶段。

来源官网:LangChain Introduction

介绍

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

开发阶段‌:使用LangChain的开源组件和第三方集成构建应用。通过LangGraph构建最优的流式处理和支持人机交互的状态化智能体。

生产阶段‌:运用LangSmith对应用进行检测、监控和评估,从而持续优化并充满信心地部署。

部署阶段‌:通过LangGraph Platform将您的LangGraph应用转化为生产级API和智能助手。

LangChain 为大型语言模型及相关技术(如嵌入模型和向量数据库)实现了标准化接口,并与数百家服务提供商完成集成。更多详情请参阅集成页面

使用示例,基于Python开发语言:

  1. 安装依赖库:

    1
    pip install -qU "langchain[openai]"
  2. 调用大语言模型

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    import getpass
    import os
    # 导入环境变量
    if not os.environ.get("OPENAI_API_KEY"):
    os.environ["OPENAI_API_KEY"] = getpass.getpass("Enter API key for OpenAI: ")
    # 导入大语言模型
    from langchain.chat_models import init_chat_model
    # 初始化大语言模型
    model = init_chat_model("gpt-4o-mini", model_provider="openai")
    # 调用大语言模型
    model.invoke("Hello, world!")

架构

LangChain 框架由多个开源库组成。更多可参考架构页面

Diagram outlining the hierarchical organization of the LangChain framework, displaying the interconnected parts across multiple layers.

langchain-core

langchain-core:聊天模型和其他组件的基本抽象。

此包包含不同组件的基本抽象以及将它们组合在一起的方法。聊天模型、矢量存储、工具等核心组件的接口在这里定义。此处未定义第三方集成。依赖关系非常轻量级。

Integration packages

热门集成方案均提供独立安装包(例如 langchain-openai、langchain-anthropic 等),从而实现规范的版本管理并保持轻量化特性。重要的集成已被拆分为轻量级包,由langchain团队和集成开发人员共同维护。

有关更多信息,请参阅:

langchain

langchain:构成应用程序认知架构的链、代理和检索策略。

关键的langchain包包含构成应用程序认知架构的链和检索策略。这些不是第三方集成。这里的所有链、代理和检索策略并不特定于任何一个集成,而是适用于所有集成。

langchain-community

langchain社区:由社区维护的第三方集成。

此软件包包含由LangChain社区维护的第三方集成。关键集成包是分开的(见上文)。这包含各种组件(聊天模型、矢量存储、工具等)的集成。此包中的所有依赖项都是可选的,以使包尽可能轻。

langgraph

langgraph:一个编排框架,用于将 LangChain 组件整合为生产级应用,支持持久化、流式处理等关键功能。详情请参阅 LangGraph 文档

langgraph 是 langchain 的扩展框架,旨在通过将操作步骤建模为中的边(edges)和节点(nodes),帮助开发者基于大语言模型构建健壮的、具备状态维护能力的多智能体应用系统。

该框架提供双重接口:既包含面向常见智能体类型的高层封装接口,也开放了用于编排自定义流程的底层API。

聊天模型调用

使用 LangChain 的 ChatOpenAI 聊天模型API调用大模型

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from langchain_core.messages import SystemMessage, AIMessage, HumanMessage
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
model="deepseek-chat", # 或 "deepseek-coder" 等具体模型
api_key="xxxxxxxxxx",
base_url="https://api.deepseek.com",
temperature=0.7,
max_tokens=1024,
)

messages = [
SystemMessage(content="你是个取名大师,你擅长为创业公司取名"),
HumanMessage(content="一家新型消费电子创业公司需要取名,中文名称英文名,读英相近,要有极客风格")
]

response = llm.invoke(messages)
print(response.content, end="\n")
作者

光星

发布于

2025-04-02

更新于

2025-04-08

许可协议

评论