大家好,我是链上杯子(CSDN:链上杯子)。

失业一年了,天天想着怎么翻身。之前自己写代码调用大模型 API 时,每次都要手动拼 headers、data、解析 json,代码一多就乱成一团。后来发现 LangChain 这个框架,把这些重复工作都封装好了,几行就能跑通,还能轻松扩展成链式调用。第一次用它调用模型,看到输出那么干净,感觉像给自己的 AI 小工具装了个更好的“发动机”。

本课目标
学会安装 LangChain,用最简单的 LLMChain 方式调用大模型,快速生成内容。
学完这节课,你就能把“调用 AI”从一堆 JSON 代码,变成像调用普通函数一样简单自然。

环境准备

  1. 确保 Python 版本 ≥ 3.10(之前环境即可)

  2. 打开命令行(cmd / 终端),安装必要包:

    pip install langchain langchain-community langchain-openai
    

    (langchain-openai 兼容 DeepSeek、OpenAI 等 OpenAI 格式的 API)

  3. 准备 API Key

    • 去 deepseek.com 注册 → API Keys → 创建一个免费 Key
    • 记下来,后续代码会用到

核心代码实战

1. 最简单调用 —— 直接用 ChatOpenAI
from langchain_openai import ChatOpenAI

# 初始化模型(替换成你的真实 Key)
llm = ChatOpenAI(
    openai_api_key="sk-你的DeepSeek-API-Key",      # ←←← 这里替换
    openai_api_base="https://api.deepseek.com/v1",   # DeepSeek 的地址
    model="deepseek-chat",                           # 或 deepseek-coder
    temperature=0.7,                                 # 0 最确定,1 最随机
    max_tokens=300                                   # 最多输出 token 数
)

# 直接问一句
response = llm.invoke("用一句话介绍 LangChain。")
print("AI 回复:")
print(response.content)

运行后会看到类似输出:

AI 回复:
LangChain 是一个开源框架,帮助开发者快速构建基于大语言模型的应用,例如聊天机器人、知识问答和自动化代理。

小知识点

  • ChatOpenAI 是 LangChain 提供的模型接口,支持 DeepSeek、OpenAI、Claude 等兼容 OpenAI 格式的模型。
  • .invoke() 是最简单的调用方法,输入字符串,返回 AIMessage 对象,.content 取出文本。
2. 第一个 LLMChain —— Prompt + 模型 = 一条链
from langchain_openai import ChatOpenAI
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain

# 初始化模型
llm = ChatOpenAI(
    openai_api_key="你的 Key",
    openai_api_base="https://api.deepseek.com/v1",
    model="deepseek-chat",
    temperature=0.8
)

# 定义 Prompt 模板(用 {} 作为占位符)
prompt = PromptTemplate.from_template(
    "你是一个{role},请帮我{task},风格要{style},字数大约{length}字。"
)

# 创建链:Prompt + 模型
chain = LLMChain(llm=llm, prompt=prompt)

# 运行链(填充变量)
result = chain.run(
    role="温暖治愈的写手",
    task="写一段关于雨后彩虹的短文",
    style="温柔细腻,带点诗意",
    length=400
)

print("生成的短文:")
print(result)

运行后模型会直接输出一段符合要求的短文。

LLMChain 的优势

  • Prompt 可以复用,变量随意替换
  • 代码简洁,不用手动处理 JSON
  • 后续加记忆、Agent 等功能都基于 Chain 扩展
3. 互动版 —— 用户输入参数
# 让用户自己输入
role = input("AI 扮演什么角色?(例如:专业小说家):")
task = input("具体任务是什么?(例如:写一段科幻开头):")
style = input("风格要求(例如:冷峻克制):")

result = chain.run(role=role, task=task, style=style, length=350)
print("\nAI 生成的内容:")
print(result)

小练习(2 道)

练习1(基础)
复制第1段代码,把问题改成:“给我推荐 3 本适合零基础学 AI 的书”。
运行看回复。
再分别把 temperature 改成 0.2 和 1.0,观察输出风格的差异。

练习2(进阶)
修改第2段的 Prompt 模板,增加一句输出要求:
“请使用 Markdown 格式,包括标题和分点说明。”
让用户输入 role、task、style,运行链。
把生成的 Markdown 内容复制到任意地方预览效果(比如记事本或 CSDN 草稿)。

本课小结

本课安装了 LangChain,用 ChatOpenAI 直接调用模型,用 PromptTemplate + LLMChain 把 Prompt 和模型封装成可复用的“链”。
现在调用大模型不再需要写一堆 JSON 和请求代码,几行就能完成,而且后续扩展非常方便。LLMChain 是 LangChain 最基础、最常用的构建块。

下节预告

下一课:PromptTemplate 与动态 Prompt —— 像变量一样灵活生成专业提示词,支持 few-shot 示例和多语言模板。

欢迎在评论区贴出你的第一个 LLMChain 运行截图、生成的文字,或遇到的任何报错,我会尽量回复建议~

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐