1、安装相关依赖
(1)安装langchain
uv add langchain(2)安装对应模型的依赖。langchain支持Deepseek、Ollama、OpenAI等模型。。but不支持阿里的qwen😭
# LangChain支持各种不同的模型,而且提供了对应的兼容SDK,不过也都需要安装对应依赖。 # 集成 DeepSeek uv add langchain-deepseek # 集成阿里直接用openai就行,,或者安装社区版依赖(但不再维护了) # uv add langchain-community dashscope # 集成 OpenAI uv add langchain-openai # 集成 Anthropic uv add langchain-anthropic2、使用方法
(1)加载环境变量
# 1.加载环境变量 from dotenv import load_dotenv import os load_dotenv() api_key = os.getenv("DASHSCOPE_API_KEY") base_url = os.getenv("DASHSCOPE_BASE_URL")(2)定义工具
# 2.定义工具 from langchain.tools import tool @tool def get_weather(location: str) -> str: # 这段注释相当于描述describtion,必须有。。模型调用工具的时候参考该描述 """ Get the weather in a given location. Args: location: city name or coordinates """ return f"Current weather in {location} is sunny"(3)创建Agent
# 因为阿里千问有适配openai接口,所以用ChatOpenAI接口创建模型 from langchain_openai import ChatOpenAI llm = ChatOpenAI( model = "qwen-plus-2025-07-28", api_key = api_key, # base_url = "https://dashscope.aliyuncs.com/compatible-mode/v1" base_url = base_url )# 3.创建Agent from langchain.agents import create_agent agent = create_agent( model = llm, tools = [get_weather] )(4)调用Agent
invoke阻塞式调用;stream流式调用
# 4.调用Agent print("🚀 正在调用大模型...") response = agent.invoke({ "messages": [ {"role": "user", "content": "苏州今天天气如何?"} ] })# 打印输出结果 for message in response['messages']: print(message.model_dump_json(indent=2)) print("-----------------------------------------")【参考图来自黑马程序员课程】16-LangChain入门-模型-调用模型_哔哩哔哩_bilibili