langchain调用大模型实现多轮对话(包含两种传参方式)
【代码】langchain调用大模型实现多轮对话(包含两种传参方式)
·
from langchain.prompts import ChatPromptTemplate, HumanMessagePromptTemplate, SystemMessagePromptTemplate
from langchain.schema import AIMessage,HumanMessage,SystemMessage
from langchain_openai import ChatOpenAI
llm=ChatOpenAI(
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
model="qwen-turbo",
api_key="" # 请填入有效的 API 密钥
)
# 方式一
messgaes = [
{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': '你是谁?'},
{'role': 'assistant', 'content': '我是通义千问,阿里巴巴集团旗下的通义实验室自主研发的超大规模语言模型。我能够帮助你回答问题、创作文字,如写故事、公文、技术文档等,还能进行逻辑推理、表达观点,玩游戏等。如果你有任何问题或需要帮助,尽管告诉我!'},
{'role': 'user', 'content': '你可以干什么'},
]
## 方式二
# messgaes = [
# SystemMessage(content="You are a helpful assistant."),
# HumanMessage(content="你是谁"),
# AIMessage(content="我是通义千问,阿里巴巴集团旗下的通义实验室自主研发的超大规模语言模型。我能够帮助你回答问题、创作文字,如写故事、公文、技术文档等,还能进行逻辑推理、表达观点,玩游戏等。如果你有任何问题或需要帮助,尽管告诉我!"),
# HumanMessage(content="你可以干什么"),
# ]
## 方式三
# template = ChatPromptTemplate.from_messages(
# [
# SystemMessagePromptTemplate.from_template("你是一个乐于助人的{product}。你的名字叫{name}"),
# HumanMessagePromptTemplate.from_template("{query}")
# ]
# )
#
# messgaes = template.format_messages(
# product="助手",
# name="小义",
# query="你是谁"
# )
ret = llm.invoke(messgaes)
print(ret.content)
更多推荐




所有评论(0)