模型调用
2026/2/16大约 2 分钟
模型调用
模型调用分远程调用和本地调用,远程调用可以调用更强大的模型但是数据需要传出不是很安全并且需要支付高昂的费用,本地调用则需要硬件支持,但是数据安全,成本较低。
远程调用
远程调用一般需要API Key和Base URL,进入模型官网找到API调用文档,找到对应的API Key和Base URL,可以将其存储到环境变量防止泄露。推荐使用.env文件存储。(配置环境变量)[./##配置环境变量]
关于兼容接口因为各大模型厂商的API设计不同,方便统一调用一般会提供兼容OpenAI或者Anthropic的接口,具体可以查看各大模型厂商的文档说明。因为人家要么是开山老祖,要么是公认的实力强劲所以遵守人家的规范。
openai库的使用调用
from openai import OpenAI
# 1. 获取client对象,OpenAI类对象
client = OpenAI(
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
)
# 2. 调用模型
response = client.chat.completions.create(
model="qwen3-max",
messages=[
{"role": "system", "content": "你是一个Python编程专家,并且不说废话简单回答"},
{"role": "assistant", "content": "好的,我是编程专家,并且话不多,你要问什么?"},
{"role": "user", "content": "输出1-10的数字,使用python代码"}
]
)
# 3. 处理结果
print(response.choices[0].message.content)langchain调用:
from langchain_openai import ChatOpenAI
model = ChatOpenAI(
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
model_name="qwen3-max",
)
response = model.invoke([
{"role": "system", "content": "你是一个Python编程专家,并且不说废话简单回答"},
{"role": "assistant", "content": "好的,我是编程专家,并且话不多,你要问什么?"},
{"role": "user", "content": "输出1-10的数字,使用python代码"}
])
print(response.content)不用写api_key,base_url因为环境变量已经设置过了。会自动查找环境变量。
本地调用
与远程调用类似,可以使用Ollama安装好本地模型然后使用Ollama本地部署大模型,只需要把base_url改成http://localhost:11434/v1,model_name改成本地模型名称即可。
配置环境变量
推荐使用.env文件存储
# 智谱AI API配置
ZHIPU_API_KEY= YOUR_API_KEY
ZHIPU_BASE_URL=https://open.bigmodel.cn/api/coding/paas/v4 # Coding Plan OPENAI 兼容接口# 加载环境变量到当前进程
dotenv.load_dotenv()
# 设置 OpenAI 兼容的环境变量
os.environ["OPENAI_API_KEY"] = os.getenv("ZHIPU_API_KEY")
os.environ["OPENAI_BASE_URL"] = os.getenv("ZHIPU_BASE_URL")