如何用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") 测试效果 核心知识点 实现了交互式终端,贴近真实聊天工具的使用体验 缺陷:无记忆能力,模型不知道你上一轮说了什么(上次对话告诉了大模型我的名字,下次对话再问它它就不知道了) 三、核心能力:上下文记忆(记住历史对话) 大模型应用的核心能力:让模型记住多轮对话历史,实现连贯聊天。
阅读全文