03 LangChain入门

03 LangChain入门

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-anthropic

2、使用方法

(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