结合LangChain框架使用阿里云上的免费DeepSeek R1 模型

360影视 2025-02-09 20:06 3

摘要:最后,创建一个包含系统消息和用户消息的列表,系统消息定义了助手的角色,用户消息是用户的输入。使用 invoke 方法调用模型,传入消息列表,并打印模型的 JSON 格式响应。

首先,导入 os 和 dotenv 库,用于加载环境变量。另外,从 langchain_openai 库中导入 ChatOpenAI 类。

需要创建 .env 文件,并添加配置项:

DASHSCOPE_API_KEY=sk-xxxxx(从阿里云百炼平台可以免费获取)

然后,在初始化 ChatOpenAI 模型时,使用从环境变量中获取的 API 密钥和指定的模型名称,这里使用DeepSeek-R1模型。

最后,创建一个包含系统消息和用户消息的列表,系统消息定义了助手的角色,用户消息是用户的输入。使用 invoke 方法调用模型,传入消息列表,并打印模型的 JSON 格式响应。

# 安装langchain_openai库# 使用命令: pip install -U langchain_openaiimport osfrom dotenv import load_dotenvfrom langchain_OpenAI import ChatOpenAI# 加载环境变量load_dotenv# 初始化 ChatOpenAI 模型chatLLM = ChatOpenAI( api_key=os.getenv("DASHSCOPE_API_KEY"), base_url="https://dashscope.aliyuncs.com/compatible-mode/v1", model="deepseek-r1-distill-qwen-7b",)# 定义消息列表messages = [ {"role": "system", "content": "你是一个乐于助人的助手。"}, {"role": "user", "content": "你是谁?"}]# 调用模型并输出响应response = chatLLM.invoke(messages)print(response.model_dump_json(indent=4))

如下是输出示例:

下面的示例代码,是直接调用 DeepSeek 官方开放平台的 API。

DEEPSEEK_API_KEY=sk-yyyyyimport osfrom dotenv import load_dotenvfrom openai import OpenAI# 加载环境变量load_dotenv# 创建OpenAI客户端实例client = OpenAI(api_key=os.getenv("DEEPSEEK_API_KEY"), # 从环境变量中获取API密钥base_url="https://api.deepseek.com" # 设置DeepSeek的API基础URL)# 注释说明DeepSeek模型的升级情况# deepseek-chat 模型已全面升级为 DeepSeek-V3,接口不变。# 通过指定 model='deepseek-chat' 即可调用 DeepSeek-V3# deepseek-reasoner 是 DeepSeek 最新推出的推理模型 DeepSeek-R1。# 通过指定 model='deepseek-reasoner',即可调用 DeepSeek-R1。# 调用DeepSeek的聊天模型生成响应response = client.chat.completions.create(model="deepseek-chat", # 使用DeepSeek的聊天模型messages=[ {"role": "system", "content": "You are a helpful assistant"}, # 系统消息,定义助手角色 {"role": "user", "content": "2025年,程序员有哪些合适的发展机会?"}, # 用户消息,提出问题 ],stream=False # 不使用流式传输)# 打印生成的响应内容print(response.choices[0].message.content)

来源:架构笔记

相关推荐