0. 课程与环境说明(Notebook 开头信息)

  • 这是《LangChain 1.0 入门实战》的 Part 2:各类模型接入 LangChain 流程

  • 环境要求:

    • LangChain >= 1.0.0

    • Python >= 3.11

    • 若版本过低,建议用升级命令(示例):

      pip install -U <包名>
      

1. LangChain 1.0 接入 DeepSeek 模型流程

这一节的核心:先验证 API 可用 → 再用 LangChain 封装调用 →(可选)读取推理链 reasoning_content

1.1 安装 LangChain & 查看版本

  • 安装(Notebook 中是注释写法):

    pip install langchain
    
  • 查看版本:

    import langchain
    langchain.__version__
    

1.2 准备 DeepSeek API Key(.env)

Notebook 的建议做法:

  1. 在项目同级目录创建 .env 文件

  2. 写入(示意):

DEEPSEEK_API_KEY=你的key

Notebook 中用截图演示了创建 .env 文件与写入方式。


1.3 用 python-dotenv 加载 .env 到环境变量

安装依赖:

pip install python-dotenv

加载并读取:

import os
from dotenv import load_dotenv 
load_dotenv(override=True)

DeepSeek_API_KEY = os.getenv("DEEPSEEK_API_KEY")
# print(DeepSeek_API_KEY)  # 可以通过打印查看

1.4 不用 LangChain:先用 DeepSeek 的 OpenAI 风格接口测试连通性

目的:排除 Key/网络/base_url 等问题(确保能“直接打通”再谈 LangChain)

安装 OpenAI SDK:

pip install openai

调用测试代码(Notebook 原代码):

from openai import OpenAI

# 初始化DeepSeek的API客户端
client = OpenAI(api_key=DeepSeek_API_KEY, base_url="https://api.deepseek.com")

# 调用DeepSeek的API,生成回答
response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {"role": "system", "content": "你是乐于助人的助手,请根据用户的问题给出回答"},
        {"role": "user", "content": "你好,请你介绍一下你自己。"},
    ],
)

# 打印模型最终的响应结果
print(response.choices[0].message.content)

✅ 如果能正常返回,说明:

  • DEEPSEEK_API_KEY 有效

  • 网络可访问 https://api.deepseek.com

  • OpenAI SDK 版本/调用方式 OK


1.5 用 LangChain 接入 DeepSeek(langchain-deepseek)

安装 LangChain 的 DeepSeek 集成包:

pip install langchain-deepseek

初始化与调用(Notebook 原代码):

from langchain_deepseek import ChatDeepSeek

model = ChatDeepSeek(model="deepseek-chat")

调用:

question = "你好,请你介绍一下你自己。"

result = model.invoke(question)
print(result.content)
1.5.1 invoke() 返回值是什么?

result 通常是一个消息对象(类似 AIMessage),常用字段:

  • result.content:模型最终输出文本

  • result.additional_kwargs:额外信息(不同模型/厂商会塞不同结构)


1.6 调用 deepseek-reasoner 并读取推理过程(reasoning_content)

切换模型为推理模型:

model = ChatDeepSeek(model="deepseek-reasoner")

result = model.invoke(question)
print(result.content)

查看完整对象与附加字段:

result
result.additional_kwargs
result.additional_kwargs['reasoning_content']

✅ 这一步的意义:

  • result.content:最终“答复”

  • result.additional_kwargs['reasoning_content']:推理链/思考过程(如果该模型与 SDK 返回了该字段)

注意:并非所有模型都提供推理内容;字段名也可能因厂商实现而不同。


1.7 “一键切模型”的核心思想(Notebook 文本说明)

Notebook 解释了一个重要观念:
LangChain 能支持很多模型(OpenAI / Qwen / Gemini 等),一般路径是:

  1. 选定模型提供方

  2. 安装对应集成包

  3. 初始化对应 ChatXXX

  4. 调用 invoke()

并提示:可在 LangChain 的 integrations 文档里查支持的模型与接入方式(Notebook 给了链接与截图)。


2. LangChain 1.0 接入 OpenAI 模型流程

核心:安装 langchain-openai + 配置 API KEY +(必要时)处理网络/代理/base_url

2.1 安装集成包

pip install langchain-openai

2.2 配置 .env

Notebook 提示:在 .env 中写入 OpenAI 的 API Key(示意):

OPENAI_API_KEY=你的key

2.3 初始化与调用(Notebook 原代码)

from langchain_openai import ChatOpenAI

model = ChatOpenAI(model="gpt-5-nano",base_url="https://ai.devtool.tech/proxy/v1")

question = "你好,请你介绍一下你自己。"

result = model.invoke(question)
print(result.content)
2.3.1 关键点:base_url 与网络环境

Notebook 的注释要点:

  • 使用 OpenAI 模型需要设置好网络环境

  • 或者使用代码中这种“国内反向代理地址”(base_url=...

实际工程中:base_url 走第三方代理要格外注意安全与合规(key 的保护、日志、数据出境等)。


3. LangChain 1.0 接入 DashScope(阿里百炼)平台模型流程

这一节给了两条路线:

  1. OpenAI 兼容模式(直接用 OpenAI SDK 调用 DashScope endpoint)

  2. LangChain 内部集成langchain_communityChatTongyi


3.1 DashScope / 百炼平台基本信息(Notebook 文本)

  • DashScope(百炼)提供大量模型(含开源模型与在线商业模型)

  • 需要注册阿里云账号并获取 API Key

  • Notebook 强调:把 DASHSCOPE_API_KEY 写到本地 .env 文件中


3.2 路线 A:OpenAI 兼容模式调用(Notebook 原代码)

import os
from openai import OpenAI


client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)

completion = client.chat.completions.create(
    # 模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models
    model="qwen-plus",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "你是谁?"},
    ],
)
print(completion.model_dump_json())

✅ 这条路线的优点:

  • 统一 OpenAI SDK 的调用方式(对接成本低)

  • 便于把“不同厂商”包装成一致调用接口


3.3 路线 B:LangChain 接入 DashScope(ChatTongyi)

Notebook 给出的安装与调用顺序:

安装/升级 dashscope(清华源示例):

pip install --upgrade dashscope -i https://pypi.tuna.tsinghua.edu.cn/simple

安装 langchain_community(清华源示例):

pip install langchain_community -i https://pypi.tuna.tsinghua.edu.cn/simple

使用 ChatTongyi

from langchain_community.chat_models.tongyi import ChatTongyi
model = ChatTongyi()

调用:

question = "你好,请你介绍一下你自己。"

result = model.invoke(question)
print(result.content)

说明:ChatTongyi() 默认会从环境变量/配置中读取 key;生产环境里建议用更明确的配置方式(如统一配置管理/密钥管理)。


4. LangChain 1.0 接入 Ollama 本地模型流程

核心:本地推理前提是 Ollama 已启动 + 本地已有模型,然后用 langchain-ollama 封装调用。

4.1 背景(Notebook 文本)

  • 除了在线模型,也可以用本地推理框架:OllamavLLM

  • Notebook 用 Ollama 演示

4.2 安装集成包

pip install langchain-ollama

4.3 初始化与调用(Notebook 原代码)

from langchain_ollama import ChatOllama

确保 Ollama 已开启,并确认模型名称(Notebook 用截图提示通过 ollama list 等方式查看)。

初始化:

model = ChatOllama(model="deepseek-r1")

调用:

question = "你好,请你介绍一下你自己。"

result = model.invoke(question)
print(result.content)

5. 通用接入套路总结(可当“Checklist”)

无论 DeepSeek / OpenAI / DashScope / Ollama,本 Notebook 体现的“最通用流程”基本是:

  1. 安装对应集成包

    • DeepSeek:langchain-deepseek

    • OpenAI:langchain-openai

    • DashScope:dashscope + langchain_community(或 OpenAI 兼容模式)

    • Ollama:langchain-ollama

  2. 准备鉴权信息

    • 在线模型:.env 写入 XXX_API_KEY,用 python-dotenv 加载

    • 本地模型:确保服务已启动,模型已下载且名称正确

  3. 初始化 Chat Model

    • ChatDeepSeek(...)

    • ChatOpenAI(...)

    • ChatTongyi()

    • ChatOllama(...)

  4. 调用

    • 统一用 invoke(prompt_or_messages) 获取结果

    • 读结果主要看:

      • result.content

      • result.additional_kwargs(可能含推理、token、工具调用等扩展信息)


6. Notebook 中提到的参考入口(按原文保留为代码块,避免“裸 URL”)

DeepSeek 平台(Notebook 文本中给出):
https://platform.deepseek.com/usage

LangChain Chat Integrations(Notebook 文本中给出):
https://python.langchain.com/docs/integrations/chat/

DashScope / 百炼(Notebook 文本中给出):
https://bailian.console.aliyun.com/

LangChain OSS integrations(Notebook 文本中给出):
https://docs.langchain.com/oss/python/integrations/chat
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐