跳转到内容

大模型接口

刀刀
0字
0分钟
2026/8/17

前言

大模型不需要自己开发,通常所说的 AI 落地,都是调用各厂提供的大模型接口。

实际开发的是 AI 应用的前后端,使用的是 LLM 大模型接口。

国内大模型接口厂商类型

国内大模型接口厂商大致分为以下几类:

  1. 涵盖多家大模型的集成接口:除自家模型外,还可选择其他家模型。如字节和阿里,还能搭配 DeepSeekKimi
  2. 大模型厂商自己的接口DeepSeekKimi 都有自己的对外接口,这些接口通常只能选择自家的不同版本模型

HTTP 请求

大模型接口基本都是 HTTP 接口,可直接发起 HTTP 请求。需注意找到支持 HTTP 直接请求的接口,与通过 SDK 库请求的接口不同。

http.js
js
axios
  .post(
    '接口地址',
    {
      model: '模型名称',
      messages: [
        {
          role: 'user',
          content: '请求内容',
        },
      ],
    },
    {
      headers: {
        Authorization: 'Bearer 接口密钥',
        'Content-Type': 'application/json',
      },
    },
  )
  .then((res) => {
    console.log(res.data)
  })

上方代码可以看到,大模型的请求体有两个核心属性:

  • model:模型名称,具体调用的大模型,通过看官方文档可以找到
  • messages:请求内容,包括角色和内容

role

  • system:系统提示,一般用来设置大模型的行为,帮助 AI 更准确回答问题整体情况
  • user:用户输入,
  • assistant:大模型输出,AI 之前的回复。大模型接口没有状态,每次提问它是不会记得上一次的问题和回答的,所以需要带上

content

content 不单单是一个字符串,如果涉及到图生图、图生文等,也可以是一个数组。

js
{
  role: 'user',
  content: [
    {
      type: 'image_url',
      image_url: { url: '图片地址' },
    },
    {
      type: 'text',
      content: '把上方图片生成汇总文本',
    },
  ],
}

HTTP 响应

js
"choices": [
  {
    'message': {
      'role': 'assistant',
      'content': '回复内容'
    },
    'finish_reason': 'stop',
    'index': 0,
    'logprobs': null
  }
],
"object": "chat.completion.chunk",
"usage": {
  // ...
},
"created_at": 1704179169,
"model": "模型名称",
"id": "请求id"
"system_fingerprint": "系统指纹"

choices

核心是 choices,包含具体回答,是核心数据。通常只有一个选项,取第一个即可。

choices 对象包含:

  • message:本次回答内容,roleassistantcontent 为回答内容(SSE 流式传输时无 message,而是 delta
  • finish_reason:回答结束原因,stop 表示正常结束,length 表示回答长度超限
  • index:回答索引
  • logprobs:回答对数概率,即模型认为该回答与提问的相关度,有多个回答时可参考,通常不需要

其他可能有用属性解析

  • id:每次调用接口提问,回答都有一个唯一 id,流式传输时有用
  • usage:本次问答消耗的 Token 相关

答疑

  • Q: message 里必须带 system 和之前的问答记录吗?

    A: 可以不带,但接口是无状态的,带上可提升回答准确性

  • Q: role 一定要准确带上吗?

    A: 涉及准确性。如把 system 的消息作为 user 给过去,多半也不会出错,乱用 role 不会有严重问题。但准确的 role 有利于大模型回答的准确性,也方便人阅读消息

  • Q: 其他厂商的接口入参和出参也是这样的格式吗?

    A:不一定,但大多数主流厂商遵循此消息格式,可将其视为标准。

贡献者

The avatar of contributor named as duyidao duyidao
The avatar of contributor named as 刀刀 刀刀
The avatar of contributor named as Copilot Copilot

页面历史

刀刀博客累计访客 人;文档累计访问量共