#一、什么是大模型
大模型 = 参数量巨大的人工智能神经网络模型**
我们常说的大模型,一般特指大语言模型(LLM),比如 GPT、DeepSeek、通义千问、文心一言、Llama、Qwen 等。
##稍微专业点的定义:
大型语言模型(Large Language Model,简称 LLM)**
基于Transformer 架构训练出来的深度学习模型:
1. 底层结构:Transformer(2017 年谷歌论文提出,几乎所有现代大模型基础)
2. 训练方式:自监督学习,从海量文本预测下一个字
3. 核心能力:涌现能力 —— 当模型规模、数据达到一定阈值后,突然具备推理、逻辑、翻译、问答等复杂能力。
###这里面需要注意区分两个容易混淆概念
1.大语言模型 LLM:只处理文本(DeepSeek、Llama、Qwen-7B)
2 多模态大模型:文本 + 图像 / 音频 / 视频一体(通义千问 VL、GPT4o)
#二、如何使用大模型
LangChain 是一套用来开发大模型应用的开源开发框架,是介于大模型与应用之间的中间层,让开发者能够以一致的方式调用多种大模型、组织提示词、管理上下文状态并集成外部工具与数据源,从而高效构建出具备推理与行动能力的智能体。
经过持续迭代与演进,LangChain 已从一个独立的开发框架,成长为一个覆盖智能体系统全生命周期的技术生态。该生态由四大核心支柱构成:LangChain智能体开发的基石、LangGraph复杂工作流的编排引擎、Deep Agent智能体的执行框架 与 LangSmith可观测性与质量管理平台,它们分别面向开发、编排、自治、监控与评估,共同构建了一个从技术验证到生产部署、从单体智能到复杂协作的项目闭环。
LangChain 1.0 的发布,是其发展历程中的一个重要里程碑。自 2022 年年底问世后的将近三年时间里,LangChain 的版本号长期停留在 0.x,这反映了其在快速发展的 AI 生态中持续探索与迭代是相对谨慎的。此次其版本号直接跃迁至 1.0。这是真正意义上的第一个正式大版本,不仅代表了其 API 与架构的稳定(会长期支持一段时间),还象征着整个生态在思想上的统一与成熟。
#三、如何使用LangChain
利用LangChain搭建一个简单的电商助手

# 导入系统环境变量模块
import os

# 从python-dotenv库导入加载.env文件的函数
from dotenv import load_dotenv
# langchain提供的统一初始化大模型函数
from langchain.chat_models import init_chat_model
# langchain核心消息类型:系统提示、用户消息、AI回复消息
from langchain_core.messages import SystemMessage, HumanMessage, AIMessage

# ========================
# 1. 加载当前目录下 .env 文件里的环境变量
# 会把.env中的键值载入系统环境变量 os.environ
load_dotenv()

# ========================
# 2. 初始化大模型对象
model = init_chat_model(
    model_provider="openai",        # 指定接口协议为OpenAI兼容格式(DeepSeek支持这套协议)
    model="deepseek-ai/DeepSeek-V4-Flash", # 指定调用的模型名称
    api_key = os.getenv("DEEPSEEK_API_KEY"), # 从环境变量读取密钥
    base_url=os.getenv("DEEPSEEK_BASE_URL"), # DeepSeek接口地址
    temperature=0.5                 # 温度参数:0最严谨,越高回答越随机、创造性越强
)

# ========================
# 3. 系统提示词(角色设定)
# SystemMessage:给大模型的全局指令,最先给到LLM
system = SystemMessage(content="你是一名电商客服助手。""回答要礼貌、简洁。""如果用户没有提供订单号,就提醒用户提供订单号。")
# 注意:多个字符串紧挨着会自动拼接,等价于一整段文本

# ========================
# 4. 定义列表保存对话历史
his = []

# 无限循环,持续接收用户输入
while True:
    # 接收控制台输入
    que = input("用户,exit退出:")
    # 输入exit就跳出循环,程序结束
    if que == "exit":
        break

    # 将本次用户提问封装成 HumanMessage,追加进历史列表
    his.append(HumanMessage(content=que))

    # 消息组装:系统提示 + 只取最近6条历史消息(his[-6:])
    messages = [system]+his[-6:]

    # 调用大模型,传入消息列表,等待AI返回结果
    res = model.invoke(messages)

    # 把AI返回内容存入对话历史,形成完整上下文
    his.append(AIMessage(content=res.content))

    # 打印AI回答文本
    print(res.content)
    # 打印本次传给大模型的消息总数,方便调试上下文长度
    print(len(messages))

更多推荐