如何用Python LangChain十分钟玩转阿里通义千问?
摘要:本文全程基于 Python + LangChain 框架,带你从0 到 1搭建基于阿里通义千问大模型的应用,从最简单的一次性对话,逐步进阶到循环对话、上下文记忆、工具调用、企业级知识库,完整覆盖大模型应用的核心能力。 前置
本文全程基于 Python + LangChain 框架,带你从0 到 1搭建基于阿里通义千问大模型的应用,从最简单的一次性对话,逐步进阶到循环对话、上下文记忆、工具调用、企业级知识库,完整覆盖大模型应用的核心能力。
前置准备
环境配置
安装依赖包
pip install langchain langchain-community langchain-core python-dotenv
获取阿里通义千问 API Key
登录阿里云百炼平台
创建 API-KEY,保存备用
项目根目录创建 .env 文件,存放密钥:
DASHSCOPE_API_KEY=你的阿里通义千问API_KEY
一、基础入门:一次性对话(无记忆、无交互)
这是大模型应用的最小单元,仅实现单次提问、单次回答,无任何额外能力。
核心代码
from langchain_community.chat_models import ChatTongyi
from dotenv import load_dotenv
from langchain_core.messages import HumanMessage
load_dotenv()
llm = ChatTongyi()
message = [HumanMessage(content="介绍下你自己")]
print(llm.invoke(message).content)
测试效果
核心知识点
ChatTongyi:langchain_community 封装的阿里通义千问对话大模型调用类
invoke():同步调用大模型的核心方法
适用场景:简单的一次性问答、批量文本处理
二、进阶交互:循环对话(控制台持续聊天)
在基础上实现控制台持续对话,用户可以反复提问,直到主动退出。
核心代码
from langchain_community.chat_models import ChatTongyi
from dotenv import load_dotenv
from langchain_core.messages import HumanMessage
load_dotenv()
llm = ChatTongyi()
print("循环对话: 输入exit推出!\n")
while True:
user_input = input("你:")
if user_input == "exit":
break
message = [HumanMessage(content=user_input)]
aimessage = llm.invoke(message)
print(f"AI:{aimessage.content}\n")
测试效果
核心知识点
实现了交互式终端,贴近真实聊天工具的使用体验
缺陷:无记忆能力,模型不知道你上一轮说了什么(上次对话告诉了大模型我的名字,下次对话再问它它就不知道了)
三、核心能力:上下文记忆(记住历史对话)
大模型应用的核心能力:让模型记住多轮对话历史,实现连贯聊天。
