最近看了很多的 Agent 项目, 如果想要自己开发发现还是 Langchain 框架最适合我这样的小白。记录一下今天跑的一个 Demo

基础介绍

LangChain 旨在简化 AI 应用开发,通过标准化接口将 LLM 与外部系统(数据源、工具、向量数据库等)无缝连接,帮助开发者构建可扩展、模块化的智能应用。 主要功能如下

  • • Prompt templates:Prompt templates 是不同类型提示的模板。例如“ chatbot ”样式模板、ELI5 问答等

  • • LLMs:像 GPT-3、BLOOM 等大型语言模型

  • • Agents:Agents 使用 LLMs 决定应采取的操作。可以使用诸如网络搜索或计算器之类的工具,并将所有工具包装成一个逻辑循环的操作。

  • • Memory:短期记忆、长期记忆。

生态系统

  • • LangSmith:用于监控、调试和评估 LLM 应用性能(如跟踪 Agent 轨迹)。

  • • LangGraph:构建长期记忆和复杂状态控制的 Agent 工作流(被 LinkedIn、Uber 等企业采用)。

  • • LangGraph Platform:可视化部署和扩展 Agent 的云平台。

在这里插入图片描述

快速开始

安装 LangChain 只有官方只支持Python 和 js 两个版本,我用的是Python 版本。

安装依赖

安装调用基础的依赖

    pip install -U langchain  # 安装最新版
    pip install -U langchain-core langchain-community langchain-openai # 安装核心库
    pip install python-dotenv

使用新版 LangChain 语法(兼容 DeepSeek)

from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI  # 虽然叫 OpenAI,但可兼容 DeepSeek
from langchain.memory import ConversationBufferMemory
from langchain_core.vectorstores import InMemoryVectorStore
from langchain_openai import OpenAIEmbeddings

# 向量数据库和嵌入
embeddings = OpenAIEmbeddings(model="text-embedding-3-large")
vector_store = InMemoryVectorStore(embeddings)
# 初始化DeepSeek LLM

# # 创建提示模板
# prompt = PromptTemplate(
#     input_variables=["product"],
#     template="为{product}写一个创意广告文案:",
# )

# 注意:这里使用 ChatOpenAI 但指向 DeepSeek 的 API
llm = ChatOpenAI(
    api_key="sk-xxxxxx",
    base_url="https://api.deepseek.com/v1",  # 注意 /v1 路径
    model="deepseek-chat"
)

# 新版链式调用
prompt = ChatPromptTemplate.from_template("{input}")
chain = prompt | llm  # 使用管道操作符替代旧版 LLMChain

# 调用流式返回
for chunk in chain.stream({"input": "AI编程助手"}):
    print(chunk.content, end="", flush=True)

下面是整体的流程简介

from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI
from langchain.memory import ConversationBufferMemory
from langchain_core.vectorstores import InMemoryVectorStore
from langchain_openai import OpenAIEmbeddings

这段导入语句展示了 LangChain 的模块化架构设计:

  • • langchain_core:包含框架基础类和接口

  • • langchain_openai:提供与 OpenAI 兼容的接口(可适配 DeepSeek)

  • • langchain:集成高级功能如内存管理

版本提示:建议使用 langchain-core ≥0.1.0 和 langchain-openai ≥0.0.5

2. 向量数据库配置

2.1 嵌入模型初始化

embeddings = OpenAIEmbeddings(model="text-embedding-3-large")

关键参数解析:

  • • model="text-embedding-3-large":指定嵌入模型版本

    • • 虽然使用 OpenAIEmbeddings 类,但可通过 base_url 重定向到 DeepSeek

    • • 实际部署时应替换为 DeepSeek 的嵌入模型(如可用)

技术原理:

  • • 将文本转换为 3072 维向量(text-embedding-3-large 的默认维度)

  • • 支持余弦相似度等向量运算

2.2 内存向量数据库

vector_store = InMemoryVectorStore(embeddings)

特性说明:

  • • InMemoryVectorStore:轻量级内存向量数据库

    • • 优点:零配置、快速原型开发

    • • 缺点:重启后数据丢失,不适合生产环境

  • • 生产替代方案:
    from langchain_community.vectorstores import Chroma
    vector_store = Chroma.from_documents(docs, embeddings)

3. 大语言模型集成

3.1 DeepSeek 适配配置

llm = ChatOpenAI(
    api_key="sk-xxxxx",
    base_url="https://api.deepseek.com/v1",
    model="deepseek-chat"
)

关键配置项:

参数

说明

注意事项

api_key

DeepSeek API 密钥

应从环境变量读取,避免硬编码

base_url

API 端点

必须包含 /v1 路径

model

模型标识

deepseek-chat 为对话优化版本

安全建议:

import os
llm = ChatOpenAI(
    api_key=os.getenv("DEEPSEEK_API_KEY"),
    base_url="https://api.deepseek.com/v1"
)

4. 对话链构建

4.1 提示词模板

prompt = ChatPromptTemplate.from_template("{input}")

模板系统进阶用法:

from langchain_core.prompts import (
    SystemMessagePromptTemplate,
    HumanMessagePromptTemplate
)

prompt = ChatPromptTemplate.from_messages([
    SystemMessagePromptTemplate.from_template("你是一个{role}"),
    HumanMessagePromptTemplate.from_template("{input}")
])

4.2 链式组合

chain = prompt | llm

管道操作符 (|) 的等效实现:

from langchain_core.runnables import RunnableSequence
chain = RunnableSequence(first=prompt, last=llm)

扩展链示例(带记忆):

from langchain_core.runnables import RunnablePassthrough

memory = ConversationBufferMemory()
chain = (
    RunnablePassthrough.assign(
        history=memory.load_memory_variables
    ) 
    | prompt 
    | llm
)

5. 流式输出处理

5.1 流式调用

for chunk in chain.stream({"input": "AI编程助手"}):
    print(chunk.content, end="", flush=True)

技术细节:

  • • chunk 对象结构:
    class AIMessageChunk:
        content: str
        additional_kwargs: dict
  • • 网络优化:使用 Server-Sent Events (SSE) 协议

  • • 延迟对比:流式 vs 非流式

    模式

    首字节时间

    适用场景

    流式

    200-500ms

    实时交互

    批处理

    1-2s

    数据分析

6. 生产环境建议

6.1 性能优化

llm = ChatOpenAI(
    ...,
    max_retries=3,
    timeout=30.0,
    streaming=True
)

6.2 监控集成

from langsmith import Client

client = Client()
client.create_feedback(
    run_id="...",
    key="accuracy",
    score=0.9
)

6.3 错误处理

from tenacity import (
    retry,
    stop_after_attempt,
    wait_exponential
)

@retry(
    stop=stop_after_attempt(3),
    wait=wait_exponential(multiplier=1, min=4, max=10)
)
def safe_invoke(input_text):
    return chain.invoke({"input": input_text})

通过上面内容完成了基础的Python调用介绍

我们该怎样系统的去转行学习大模型 ?

很多想入行大模型的人苦于现在网上的大模型老课程老教材,学也不是不学也不是,基于此,我用做产品的心态来打磨这份大模型教程,深挖痛点并持续修改了近100余次后,终于把整个AI大模型的学习门槛,降到了最低!

在这个版本当中:

第一您不需要具备任何算法和数学的基础
第二不要求准备高配置的电脑
第三不必懂Python等任何编程语言

您只需要听我讲,跟着我做即可,为了让学习的道路变得更简单,这份大模型教程已经给大家整理并打包,现在将这份 LLM大模型资料 分享出来: 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

一、大模型经典书籍(免费分享)

AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。

二、640套大模型报告(免费分享)

这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)
在这里插入图片描述

三、大模型系列视频教程(免费分享)

在这里插入图片描述

四、2025最新大模型学习路线(免费分享)

我们把学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战。

L1阶段:启航篇丨极速破界AI新时代

L1阶段:我们会去了解大模型的基础知识,以及大模型在各个行业的应用和分析;学习理解大模型的核心原理、关键技术以及大模型应用场景。

L2阶段:攻坚篇丨RAG开发实战工坊

L2阶段是我们的AI大模型RAG应用开发工程,我们会去学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。

L3阶段:跃迁篇丨Agent智能体架构设计

L3阶段:大模型Agent应用架构进阶实现,我们会去学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造我们自己的Agent智能体。

L4阶段:精进篇丨模型微调与私有化部署

L4阶段:大模型的微调和私有化部署,我们会更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调。

L5阶段:专题集丨特训篇 【录播课】

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方二维码,免费领取

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐