调用大模型对外提供的API接口

当我们开发大模型应用时,并不是在浏览器中和大模型应用对话,而是调用大模型提供的API接口。

本文以deepseek大模型为例。

1. Deepseek大模型接口

以下是deepseek提供的调用大模型接口的示例,可以看到大模型接口调用非常简单,就是通过HTTP请求调用。

1.1 通过Python调用

  1. 该示例中,首先引入了openai的依赖;

大模型最早被大众所熟知,就是从openai发布GPT3.0开始,所以openai就相当于行业内的领头者,逐渐成为行业的标准,大多数的大模型都会遵循openai的规范。

  1. 然后初始化客户端
    • base_url: 要访问的大模型服务所在的地址;示例中给的deepseek官方提供的大模型的地址;如果访问本地模型,这里要修改成本地大模型的地址;
    • api_key:身份认证的密钥;
  2. 发送HTTP请求
    • model:指定大模型的名称;大模型平台可能部署了多个大模型,这里指定要访问哪一个;
    • stream:是否流式输出;在浏览器上和大模型应用对话时,大模型应用是一个字一个字的输出回答,这个就是流式输出;如果不值得流式输出,那么大模型应用会等大模型思考完毕后,一次性将内容响应给客户端。
    • messages:示例中的messages是个数组,其中包含了两条消息(或者说是:提示词)
      • user:用户输入的消息
      • system: 大模型应用 给 大模型的【设定】
# Please install OpenAI SDK first: `pip3 install openai`
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get('DEEPSEEK_API_KEY'),
    base_url="https://api.deepseek.com")

response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {"role": "system", "content": "You are a helpful assistant"},
        {"role": "user", "content": "Hello"},
    ],
    stream=False
)

print(response.choices[0].message.content)

2. 注意

注意:我们平常在浏览器上和AI对话,并不是直接跟大模型对话,我们发的对话消息,首先会发送到我们对话的网站的后台,后台服务器就会调用大模型的API接口,然后把system设定和我们的提示词一起发给大模型,大模型就会基于设定来回答问题。

因此,浏览器对话产品,本质就是大模型应用。

3. 示例-调用本地模型

{
    "model": "Deepseek-R1:7b",
    "messages": [
        {
            "role": "system",
            "content": "你是有用的智能助手,名叫团子。"
        },
        {
            "role": "user",
            "content": "你是谁"
        }
    ],
    "stream": false
}

通过Postman发送HTTP请求,调用本地模型,本地ollama的模型,没有权限校验,所以不需要api_key。

指定了system

在这里插入图片描述

不指定system

在这里插入图片描述

更多推荐