如何使用 LangChain 调用多种第三方大模型?
在人工智能开发中,调用多种第三方大模型(如 OpenAI、DeepSeek、阿里云等)是常见的需求。文件加载环境变量,并灵活配置多个模型的调用方式。可以通过以下代码测试任意模型是否正常工作。通过以上步骤,我们可以轻松调用多种第三方大模型,并通过。文件安全存储 API Key 和 Base URL。如果模型返回了预期的结果(如景点列表),说明调用成功。如果你有其他问题或遇到特殊情况,欢迎在评论区留言
·
在人工智能开发中,调用多种第三方大模型(如 OpenAI、DeepSeek、阿里云等)是常见的需求。本文将详细介绍如何通过 LangChain 和 .env
文件加载环境变量,并灵活配置多个模型的调用方式。无论你是初学者还是资深开发者,都能从中受益!
完整代码实现
以下代码支持调用多种第三方大模型,并通过 .env
文件安全存储 API Key 和 Base URL。
import os
from langchain_openai import ChatOpenAI
from dotenv import load_dotenv
# 加载环境变量
load_dotenv()
# 1. 配置 SiliconFlow 模型
siliconflow_api_key = os.getenv("SILICONFLOW_API_KEY")
siliconflow_agent_llm = ChatOpenAI(
base_url="https://api.siliconflow.cn/v1",
api_key=siliconflow_api_key,
model="Pro/deepseek-ai/DeepSeek-V3", # 指定模型
max_tokens=4096, # 最大生成 token 数
request_timeout=120, # 增加请求超时时间
max_retries=3 # 添加重试次数
)
# 2. 配置 OpenAI 模型
openai_api_key = os.getenv("OPENAI_API_KEY")
openai_agent_llm = ChatOpenAI(
base_url="https://api.openai.com/v1",
api_key=openai_api_key,
model="gpt-4o", # 指定模型
temperature=0.3,
max_tokens=5120,
request_timeout=180,
max_retries=3
)
# 3. 配置 Nebius 模型
nebius_api_key = os.getenv("Nebius_DeepSeek_API_KEY")
nebius_agent_llm = ChatOpenAI(
base_url="https://api.studio.nebius.ai/v1/",
api_key=nebius_api_key,
model="deepseek-ai/DeepSeek-V3", # 指定模型
max_tokens=2048
)
# 4. 配置 OpenRouter 模型
openrouter_api_key = os.getenv("OPENROUTER_API_KEY")
openrouter_agent_llm = ChatOpenAI(
base_url="https://openrouter.ai/api/v1",
api_key=openrouter_api_key,
model="openai/gpt-4o", # 指定模型
temperature=0.7,
max_tokens=4096,
request_timeout=120, # 增加请求超时时间
max_retries=2 # 添加重试次数
)
# 5. 配置阿里云模型
aliyun_api_key = os.getenv("ALIYUN_API_KEY")
aliyun_agent_llm = ChatOpenAI(
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
api_key=aliyun_api_key,
model="deepseek-v3", # 指定模型
temperature=1.0,
max_tokens=4096,
request_timeout=120, # 增加请求超时时间
max_retries=3 # 添加重试次数
)
# 6. 配置智谱 AI 模型
zhipuai_api_key = os.getenv("ZHIPUAI_API_KEY")
zhipuai_agent_llm = ChatOpenAI(
base_url="https://open.bigmodel.cn/api/paas/v4",
api_key=zhipuai_api_key,
model="glm-4-plus", # 指定模型
temperature=0.7,
max_tokens=4096,
request_timeout=120, # 增加请求超时时间
max_retries=3 # 添加重试次数
)
# 7. 配置 DeepSeek 模型
deepseek_api_key = os.getenv("DeepSeek_API_KEY")
deepseek_agent_llm = ChatOpenAI(
base_url="https://api.deepseek.com/v1",
api_key=deepseek_api_key,
model="deepseek-chat", # 指定模型
temperature=0.7,
max_tokens=4096,
request_timeout=120, # 增加请求超时时间
max_retries=3 # 添加重试次数
)
.env
文件
以下是完整的 .env
文件内容,包含所有平台的 API Key 和 Base URL:
# SILICONFLOW API Key
SILICONFLOW_BASE_URL=https://api.siliconflow.cn/v1
SILICONFLOW_API_KEY=your_siliconflow_api_key
# OPENAI API Key
OPENAI_BASE_URL=https://api.openai.com/v1
OPENAI_API_KEY=your_openai_api_key
# NEBIUS API Key
Nebius_BASE_URL=https://api.studio.nebius.ai/v1
Nebius_DeepSeek_API_KEY=your_nebius_api_key
# OPENROUTER API Key
OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
OPENROUTER_API_KEY=your_openrouter_api_key
# ALIYUN API Key
ALIYUN_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
ALIYUN_API_KEY=your_aliyun_api_key
# ZHIPUAI API Key
ZHIPUAI_BASE_URL=https://open.bigmodel.cn/api/paas/v4
ZHIPUAI_API_KEY=your_zhipuai_api_key
# DEEPSEEK API Key
DeepSeek_BASE_URL=https://api.deepseek.com/v1
DeepSeek_API_KEY=your_deepseek_api_key
# TENCENT API Key
TENCENT_BASE_URL=https://api.lkeap.cloud.tencent.com/v1
TENCENT_API_KEY=your_tencent_api_key
注意:请将
your_xxx_api_key
替换为实际的 API Key。
运行与验证
1. 测试模型调用
可以通过以下代码测试任意模型是否正常工作。例如,测试 SiliconFlow 模型:
response = siliconflow_agent_llm.invoke("推荐一些北京的旅游景点")
print(response)
2. 验证结果
如果模型返回了预期的结果(如景点列表),说明调用成功。
总结与思考
通过以上步骤,我们可以轻松调用多种第三方大模型,并通过 .env
文件安全存储敏感信息。关键在于:
- 环境变量管理:通过
.env
文件统一管理 API Key 和 Base URL。 - 灵活配置:根据不同的 API 平台调整
ChatOpenAI
的参数。 - 扩展性:支持多种模型和平台,满足不同场景的需求。
如果你有其他问题或遇到特殊情况,欢迎在评论区留言交流!
推荐阅读
更多推荐
所有评论(0)