明廷盛 嘻嘻😁

第零章 写在前面

从以下几个方面去学习
①模型调用(云端/本地/记忆/阻塞or流式返回)
②提示词(Prompt)

第一章 模型调用

第一节 调用云端模型

1.1.1 LangChain调用Deepseek

  • 注意: mac去~/.zshrcexport DEEPSEEK_API_KEY="你的api_key"
    • 验证: echo $DEEPSEEK_API_KEY (需要重启才能更新)
import os
from langchain_openai import ChatOpenAI

DEEPSEEK_API_KEY = os.getenv("DEEPSEEK_API_KEY")
llm = ChatOpenAI(
model="deepseek-v4-flash",
openai_api_key=DEEPSEEK_API_KEY,
base_url="https://api.deepseek.com"
)

llm.invoke("你好!你是什么模型, 不要废话")

1.1.2 LangChain调用OpenCodeGo套餐

import os
from langchain_openai import ChatOpenAI

OPENCODEGO_API_KEY = os.getenv("OPENCODEGO_API_KEY")
llm = ChatOpenAI(
model="deepseek-v4-flash",
api_key=OPENCODEGO_API_KEY,
base_url="https://opencode.ai/zen/go/v1"
)
llm.invoke("今天日期, 不要废话")

第二节 调用本地模型

第三节 chain的基本使用

chain = ①prompt(提示词) | ②llm(大模型) | ③output_parsers(如何输出)

1.2.1 样板代码

from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
import os
# 样板代码
prompt = ChatPromptTemplate.from_template("以{topic}为主题生成20字以内的广告词")
prompt_value = prompt.invoke({"topic":"绿茶"})

# 大模型
llm = ChatOpenAI(
model="deepseek-v4-flash",
api_key=os.getenv("OPENCODEGO_API_KEY"),
base_url="https://opencode.ai/zen/go/v1"
)
message = llm.invoke(prompt_value)

# 输出解释器
output_parsers.invoke(message)

1.2.2 链式调用

from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
import os

# 链式调用
prompt = ChatPromptTemplate.from_template("以{topic}为主题生成20字以内的广告词")

llm = ChatOpenAI(
model="deepseek-v4-flash",
api_key=os.getenv("OPENCODEGO_API_KEY"),
base_url="https://opencode.ai/zen/go/v1"
)
output_parsers = StrOutputParser()

chain = prompt | llm | output_parsers
chain.invoke({"topic": "冰红茶"})

1.2.3 流式返回 与 阻塞结果

# 1_阻塞结果
chain.invoke({"topic": "冰红茶"}) # 阻塞结果

# 2_流式返回
for chunk in chain.stream({"topic":"考研备考"}):
print(chunk, end="", flush=True)

第二章 提示词

  • Title:
  • Author: 明廷盛
  • Created at : 2026-06-16 14:41:21
  • Updated at : 2026-06-16 14:41:21
  • Link: https://blog.20040424.xyz/2026/06/16/😼Java全栈工程师/第七部分 AI部分/2. LangChain(Python)/
  • License: All Rights Reserved © 明廷盛