LLM:使用API访问在线大模型

大语言模型从2022年底开始兴起,不到3年的发展,现在已经融入到工作、生活的方方面面,平时不管是用浏览器,还是AI IDE或者App,都可以方便地访问到各类大模型。

如果想要进一步多一些控制权,可以使用API调用大模型,从而把大模型的能力集成到自己的应用中。

通过API调用大模型是非常容易的,直接通过HTTP请求就可以实现调用,下面举两个例子说明。

OpenAI API

OpenAI做得最早,所以OpenAI的API接口成为了事实上的大语言模型的接口标准,其他家的大语言模型都会兼容OpenAI的API接口以便可以让一个chatGPT的工具可以切换到自家的大模型来。

调用OpenAI API跟把大象放进冰箱一样简单,大概分三步:

  1. 创建开放平台账号,获取API Key
  2. 通过API Key调用OpenAI API
  3. 交钱 嗯,API调用是收费的。

1、获取API Key

  1. 获取 API Key
    • 访问 OpenAI Platform,使用注册账号登录
    • 在 API Keys 页面创建新的 API Key

2、curl调用

export OPENAI_API_KEY='你创建的Key写在这里'
curl https://api.openai.com/v1/responses \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-4o-mini",
    "input": [
      {"role": "user", "content": [{"type": "text", "text": "Hello!"}]}
    ]
  }'

3、程序调用

以Python为例,首先安装 SDK

pip install openai

然后就可以调用了:

from openai import OpenAI

# 生产环境一般要从配置文件读取Key
client = OpenAI(api_key="你创建的Key写在这里)

# API 调用
resp = client.responses.create(
    model="gpt-4o-mini",
    input=[
        {"role": "system", "content": [{"type": "text", "text": "你是一个AI技术专家。"}]},
        {"role": "user", "content": [{"type": "text", "text": "什么是机器学习?"}]}
    ],
    temperature=0.7,          # 控制输出的随机性,0-2之间
    max_output_tokens=1000     # 最大输出 token 数
)

# 获取回复
print(resp.output_text)

由于大模型技术发展飞快,OpenAI的API接口也在不断更新,很可能你在网上查到的示例代码并不能运行,所以最好的方法还是直接访问OpenAI官方的API文档: https://platform.openai.com/docs/quickstart

里面有详细的调用说明、定价信息、代码示例,足以辅助你完成实际开发工作。

2023年4月的时候,我在我的小程序中接入了OpenAI API,让小程序用户可以直接和chatGPT3.5进行对话,当时微信平台还没有进行限制,效果还不错。不久后,微信就发布了新的管理方法,严禁小程序提供AI相关的功能,我的AI功能只能改为“人工”回答了,还要审核后才能发布,等于事实上无法使用了,比较遗憾。

小程序接入chatGPT

另外,由于OpenAI API在国内无法访问,所以要实现接入chatGPT,还需要实现二步接力,由不受限制的海外服务器完成调用,再把结果返回给国内的服务器,再返回给小程序,当时实现的架构如下:

调用chatGPT的技术架构

可以看出,由于某种对抗的存在,本来很简单的调用过程,变得复杂了很多。

GLM API

如果觉得太麻烦不想折腾chatGPT,可以使用国内的大模型,比如deepseek、千问、GLM都不错。这里用GLM举例(因为刚好有免费额度)。

流程一样:获取API Key,调用API。

详情看GLM的文档:https://docs.bigmodel.cn/cn/guide/start/quick-start

curl调用

curl -X POST "https://open.bigmodel.cn/api/paas/v4/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
    "model": "glm-4.6",
    "messages": [
        {
            "role": "system",
            "content": "你是一个有用的AI助手。"
        },
        {
            "role": "user",
            "content": "你好,请介绍一下自己。"
        }
    ],
    "temperature": 1.0,
    "stream": true
}'

程序调用

还是以Python为例,首先安装 SDK

pip install zai-sdk

然后就可以调用了:

from zai import ZhipuAiClient

# 初始化客户端
client = ZhipuAiClient(api_key="YOUR_API_KEY")

# 创建聊天完成请求
response = client.chat.completions.create(
    model="glm-4.6",
    messages=[
        {
            "role": "system",
            "content": "你是一个有用的AI助手。"
        },
        {
            "role": "user",
            "content": "你好,请介绍一下自己。"
        }
    ],
    temperature=0.6
)

# 获取回复
print(response.choices[0].message.content)

是不是连SDK都和OpenAI高度相似?高度相似,大家的迁移成本就是最低的。

其他国产大模型

调用方法大同小异,具体看官方文档即可:

  • DeepSeek API 文档:https://api-docs.deepseek.com/zh-cn/
  • Qwen API 文档:https://help.aliyun.com/zh/model-studio/qwen-api-reference

总结

通过API调用在线大模型非常容易,也是最强大的大模型首选使用方法。

但是在实际的项目中,很多toB客户对数据保密性有要求,不允许数据离开公司,这种情况在线访问的方式就无法使用了,后面几篇文章,实验本地调用大模型的方式。