【带你 langchain 双排系列教程】1. langchian 基本架构与环境配置(siliconFlow Deepseek接入)

LangChain 是一个用于构建和部署大模型应用的框架,涵盖了从语言模型(LLM)到检索增强生成(RAG)、OpenAI 集成以及智能体(Agent)的全套工具链。以下是一个简要的 LangChain 大模型全套教程,帮助你快速上手。

  • 核心内容
    • LangChain 六大模块详解:模型(Models)、提示词(Prompts)、链(Chains)、索引(Indexes)、智能体(Agents)、内存(Memory)。
    • 快速搭建基于 OpenAI 的问答系统、聊天机器人,集成外部数据源与工具链。
  • 适用场景:适合零基础开发者快速掌握框架核心功能。

langchain的技术架构如下:

【带你 langchain 双排系列教程】1. langchian 基本架构与环境配置(siliconFlow Deepseek接入)_第1张图片1. 环境准备

首先,确保你已经安装了 Python 3.7 或更高版本。然后,安装 LangChain 和相关依赖:

pip install langchain openai

然后需要你有siliconflow的账号,可访问:硅基流动统一登录 自行进行注册,如果进行了实名认证还能赠送14块钱的额度。当然还有很多的免费模型,可以供调试使用。

【带你 langchain 双排系列教程】1. langchian 基本架构与环境配置(siliconFlow Deepseek接入)_第2张图片

2. 语言模型(LLM)基础

LangChain 提供了与多种语言模型的集成,包括 OpenAI 的 GPT 系列。以下是一个简单的例子,展示如何使用 OpenAI 的 GPT-3 生成文本:

from langchain.llms import OpenAI

# 初始化 OpenAI 模型
llm = OpenAI(api_key="your-openai-api-key",base_url="https://api.siliconflow.cn/v1", model="deepseek-ai/DeepSeek-R1",)

# 生成文本
response = llm("请写一段关于人工智能的介绍。")
print(response)

3. 检索增强生成(RAG)

  • 技术要点
    • 解决大模型知识不足的三大问题:垂直领域知识缺失、时效性限制、幻觉问题。
    • 实现流程:文档加载 → 分割 → 向量化(词嵌入) → 存储(向量数据库如 Chroma) → 语义检索。
    • 代码示例:使用 ChromaOpenAIEmbeddings 构建本地知识库,结合检索结果生成精准回答。

RAG 是一种结合了检索和生成的技术,能够从外部知识库中检索信息并生成更准确的回答。以下是一个简单的 RAG 示例:

from langchain.retrievers import WikipediaRetriever
from langchain.chains import RetrievalQA

# 初始化检索器
retriever = WikipediaRetriever()

# 初始化 RAG 模型
rag = RetrievalQA.from_chain_type(llm=llm, chain_type="stuff", retriever=retriever)

# 提问
response = rag("什么是量子计算?")
print(response)

4. OpenAI 集成

LangChain 提供了与 OpenAI 的无缝集成,支持多种任务,如文本生成、问答、翻译等。以下是一个使用 OpenAI 进行问答的示例:

from langchain.chains import QAChain

# 初始化 QAChain
qa_chain = QAChain(llm=llm)

# 提问
response = qa_chain("谁是美国的第一任总统?")
print(response)

5. 智能体(Agent)

  • 核心功能
    • 智能体通过决策链调用工具(如维基百科、计算器),实现复杂任务自动化。
    • 使用 initialize_agent 创建支持多步骤推理的智能体,结合 ZERO_SHOT_REACT_DESCRIPTION 策略优化决策流程。

智能体是 LangChain 中的一个重要概念,它可以根据用户的需求自动选择和执行任务。以下是一个简单的智能体示例:

from langchain.agents import initialize_agent, Tool
from langchain.tools import WikipediaQueryRun

# 初始化工具
wikipedia_tool = WikipediaQueryRun()

# 初始化智能体
tools = [Tool(name="Wikipedia", func=wikipedia_tool.run, description="用于查询维基百科")]
agent = initialize_agent(tools, llm, agent="zero-shot-react-description", verbose=True)

# 执行任务
response = agent.run("请告诉我关于太阳系的信息。")
print(response)

6. 高级应用

LangChain 表达式语言(LCEL)与高级应用
  • 优势
    • 支持并行化、流式处理、异步调用,提升应用性能。
    • 使用 RunnableLambdaRunnablePassthrough 构建可组合的工作流,灵活适应复杂业务需求。
  • 案例:通过 LCEL 实现多轮对话的聊天机器人,结合记忆模块维护上下文状态。

LangChain 还支持更复杂的应用场景,如多轮对话、任务分解、知识图谱集成等。你可以根据具体需求,结合 LangChain 提供的各种模块,构建更强大的应用。

7. 部署与优化

  • 优势
    • 支持并行化、流式处理、异步调用,提升应用性能。
    • 使用 RunnableLambdaRunnablePassthrough 构建可组合的工作流,灵活适应复杂业务需求。

在完成应用开发后,你可以使用 LangChain 提供的部署工具将应用部署到生产环境。同时,LangChain 还提供了多种优化策略,如模型压缩、缓存、并行化等,以提升应用的性能和效率。

8. 参考资料

  • LangChain 官方文档
  • OpenAI API 文档
  • Wikipedia API 文档
  • 2025版最新LangChain框架快速入门(CSDN)
  • 基于LangChain的大模型知识库搭建(CSDN)
  • LangChain完整指南:使用案例与快速入门(CSDN)
  • LangChain本地化部署与模型接入(CSDN)
  • LangChain向量存储与检索教程(博客园)

你可能感兴趣的:(langchain)