大模型本身是没有上下文记忆的,每次invoke算一轮对话
测试1:
from langchain_core.messages import SystemMessage, HumanMessage
import os
import dotenv
from langchain_openai import ChatOpenAI
dotenv.load_dotenv()
os.environ["OPENAI_API_KEY"] = os.getenv("DASHSCOPE_API_KEY")
os.environ["OPENAI_BASE_URL"] = os.getenv("DASHSCOPE_BASE_URL")
chat_model = ChatOpenAI(
model="qwen-plus"
)
sys_message = SystemMessage(
content="我是一个人工智能的助手,我的名字叫小智",
)
human_message = HumanMessage(
content="猫王是一只猫吗?",
)
messages = [sys_message, human_message]
#调用人工智能大模型,传入message
response = chat_model.invoke(messages)
print(response.content)
response1 = chat_model.invoke("你叫什么名字?")
print(response1.content)
这个输出,是不记得前面的小智的内容了
# 测试2:human_message是一个,human_message是两个,传入一次message
from langchain_core.messages import SystemMessage, HumanMessage
import os
import dotenv
from langchain_openai import ChatOpenAI
dotenv.load_dotenv()
os.environ["OPENAI_API_KEY"] = os.getenv("DASHSCOPE_API_KEY")
os.environ["OPENAI_BASE_URL"] = os.getenv("DASHSCOPE_BASE_URL")
chat_model = ChatOpenAI(
model="qwen-plus"
)
sys_message = SystemMessage(
content="我是一个人工智能的助手,我的名字叫小智",
)
human_message = HumanMessage(
content="猫王是一只猫吗?",
)
human_message1 = HumanMessage(content="你叫什么名字?")
messages = [sys_message, human_message, human_message1] # 这里经实验,会拼接这两个human_message,并且是先回答的human_message1,再回答的human_message
#调用人工智能大模型,传入message
response = chat_model.invoke(messages)
print(response.content)
测试3:
from langchain_core.messages import SystemMessage, HumanMessage
import os
import dotenv
from langchain_openai import ChatOpenAI
dotenv.load_dotenv()
os.environ["OPENAI_API_KEY"] = os.getenv("DASHSCOPE_API_KEY")
os.environ["OPENAI_BASE_URL"] = os.getenv("DASHSCOPE_BASE_URL")
chat_model = ChatOpenAI(
model="qwen-plus"
)
sys_message = SystemMessage(
content="我是一个人工智能的助手,我的名字叫小智",
)
human_message = HumanMessage(
content="猫王是一只猫吗?",
)
system_message1 = SystemMessage(content="我可以做很多事情,有需要就找我吧")
human_message1 = HumanMessage(content="你叫什么名字?")
messages = [sys_message, human_message,system_message1, human_message1] #
#调用人工智能大模型,传入message
response = chat_model.invoke(messages)
print(response.content)
输出
"
你好呀!😊
我叫**小智**,是一个乐于助人的AI助手~不是猫哦(虽然我也挺喜欢猫的🐱),但“猫王”可不是一只猫——它其实是人们对传奇摇滚巨星**埃尔维斯·普雷斯利(Elvis Presley)**的昵称!因为他舞台风格狂野、魅力十足,像只“掌控全场的酷猫”,加上名字里有“猫”字谐音(英文 Elvis 的发音与 “Elvis the Pelvis” 等俏皮绰号有关,再加点幽默演绎),粉丝们就亲切又霸气地称他为 **“The King of Rock ‘n’ Roll” → 中文圈戏称“猫王”** 🎸👑
(悄悄说:真·猫界也有“猫王”,比如某只网红英短或你家主子…但那得看它愿不愿意加冕啦 😼)
对了,你说“我可以做很多事情”——太棒了!✨
那请问今天想聊什么?
✅ 解惑科普|✅ 写故事/文案|✅ 学习辅导|✅ 聊天解压|✅ 甚至帮你起个酷炫网名或写首小诗…
小智随时待命,全力以赴!🌟
需要我帮你做什么呢?😊
"
测试4:
from langchain_core.messages import SystemMessage, HumanMessage
import os
import dotenv
from langchain_openai import ChatOpenAI
dotenv.load_dotenv()
os.environ["OPENAI_API_KEY"] = os.getenv("DASHSCOPE_API_KEY")
os.environ["OPENAI_BASE_URL"] = os.getenv("DASHSCOPE_BASE_URL")
chat_model = ChatOpenAI(
model="qwen-plus"
)
sys_message = SystemMessage(
content="我是一个人工智能的助手,我的名字叫小智",
)
human_message = HumanMessage(
content="猫王是一只猫吗?",
)
messages = [sys_message, human_message]
system_message1 = SystemMessage(content="我可以做很多事情,有需要就找我吧")
human_message1 = HumanMessage(content="你叫什么名字?")
messages1 = [system_message1, human_message1] #
#调用人工智能大模型,传入message
response = chat_model.invoke(messages)
print(response.content)
print("==="*30+"\n")
response1 = chat_model.invoke(messages1)
print(response1.content)
输出
“猫王”通常**不是一只猫**,而是一个广为人知的绰号,特指美国传奇摇滚歌手——**埃尔维斯·普雷斯利(Elvis Presley, 1935–1977)**。他被尊称为 **“The King of Rock ‘n’ Roll”(摇滚之王)**,中文乐迷亲切地音译/意译为 **“猫王”**(“Cat” 是 “King” 的谐音+俚语化演绎,也有说法与他慵懒又桀骜的舞台气质、酷似“猫”的灵动感有关,并非字面意义的猫)。
✅ 所以:
- ❌ 猫王 ≠ 一只叫“猫王”的真实猫咪
- ✅ 猫王 = 摇滚巨星埃尔维斯·普雷斯利(人类,男性,已故)
不过有趣的是:
🐾 确实有些宠物猫会被主人幽默地取名叫“猫王”,致敬这位偶像;
📺 也有动画或漫画角色(比如《猫和老鼠》衍生作品、日本动漫等)借用“猫王”作为拟人化猫角色的名字——但那属于二次创作,不是本义。
小智悄悄补充冷知识:埃尔维斯本人其实**非常爱狗**(养过德国牧羊犬、雪纳瑞等),但他家也养过猫哦~只是没哪只猫正式“继位”成为“猫王” 😉
需要我讲讲他的经典歌曲、造型风格,或者为什么他能改变音乐史?欢迎随时问~ 🎸
==========================================================================================
你好!我是通义千问,英文名是Qwen,是阿里巴巴集团旗下的超大规模语言模型。你可以叫我通义千问或Qwen~😊
我擅长回答问题、创作文字(比如写故事、写公文、写邮件、写剧本等)、逻辑推理、编程,还能表达观点,甚至玩游戏!如果你有任何问题或需要帮助,随时告诉我,我很乐意为你效劳~ 🌟
测试5
from langchain_core.messages import SystemMessage, HumanMessage, AIMessage
import os
import dotenv
from langchain_openai import ChatOpenAI
dotenv.load_dotenv()
os.environ["OPENAI_API_KEY"] = os.getenv("DASHSCOPE_API_KEY")
os.environ["OPENAI_BASE_URL"] = os.getenv("DASHSCOPE_BASE_URL")
chat_model = ChatOpenAI(
model="qwen-plus"
)
messages = [
SystemMessage(content="我是一个人工智能的助手,我的名字叫小智"),
HumanMessage(content="猫王是一只猫吗?"),
AIMessage(content="AI"),
HumanMessage(content="你叫什么名字"),
]
messages1 = [
SystemMessage(content="我是一个人工智能的助手,我的名字叫小智"),
HumanMessage(content="很高兴认识你"),
AIMessage(content="我也很高兴认识你"),
HumanMessage(content="你叫什么名字"),
]
messages2 = [
SystemMessage(content="我是一个人工智能的助手,我的名字叫小智"),
HumanMessage(content="人工智能用英语怎么说"),
AIMessage(content="我也很高兴认识你"),
HumanMessage(content="你叫什么名字"),
]
#调用人工智能大模型,传入message
response = chat_model.invoke(messages2)
print(response.content)
输出:
我叫小智!😊 很高兴认识你~
如果你有任何问题、需要帮助,或者只是想聊聊天,我都很乐意陪你哦!
1063

被折叠的 条评论
为什么被折叠?



