欢迎光临
我们一直在努力

「C++AI大模型接入SDK」(一) API接入与本地两种方式对比、API Key获取、API报文详解与简单API的构建

在这里插入图片描述

◆ 博主名称: 小此方-CSDN博客

大家好,欢迎来到小此方的博客。

⭐️网络系列个人专栏:
【项目】C++AI大模型接入SDK

⭐️此方的GitHub:
github_此方

⭐️
我们思考 (Rethink) · 我们重建 (Rebuild) · 我们记录 (Record)


文章目录

  • 概要&序論
  • 一、LLM接入的两种方式的优劣:以 DeepSeek 为例
    • 1.1 通过官方API接入云端大模型
    • 1.2 通过第三方工具本地部署大模型
  • 二、APIKey的获取
      • 2.1 服务器与API的位置
    • 2.2 首次调用 API
      • 2.2.1 申请 API Key
  • 三、详细介绍API请求报文
    • 3.1 请求地址与鉴权
    • 3.2 请求方法与数据结构
    • 3.3 请求体参数详解
      • 3.3.1 model
      • 3.3.2 messages
      • 3.3.3 stream
    • 3.4用Curl来试着法一条API请求报文
  • 四、Apifox的介绍与简单的接口制作
    • 4.1 简单介绍一下Apifox
    • 4.2制作一个简单的接口
      • 4.2.1创建团队与项目
      • 4.2.2根据DeepSeek官方要求写一个最简单的接口

概要&序論

  Hello大家好,我是此方。Linux网络正在更新中,我们从本文开始,本专栏将开始介绍“C++大模型接入SDK”,本文先来看看我们怎么接入大模型——是的,我们先讲一种:API接入,不过不写代码,而是先见一见,用图形化工具玩一玩,有了这么一个认知再去写代码接入API。那么我想,这是一个比较好的学习过程。

一、LLM接入的两种方式的优劣:以 DeepSeek 为例

1.1 通过官方API接入云端大模型

优势劣势
开箱即用,零门槛 数据安全风险–企业用户
模型顶尖、能力强大 持续成本
成本可控 网络延迟
持续更新

1.2 通过第三方工具本地部署大模型

优势劣势
绝对的数据安全 硬件成本
无需持续付费 模型性能
网络延迟问题解决 运维和技术门槛
对模型完全可控(可以本地做模型微调。) 模型需要手动更新

二、APIKey的获取

  如何通过API接入云端大模型?先理清两个前置问题。

2.1 服务器与API的位置

  运行官方大模型的服务器在云端,由官方统一维护,开发者无需关心底层部署。官方提供的API则需通过其开放平台获取,这是开发者与云端大模型交互的唯一通道。

在这里插入图片描述

2.2 首次调用 API

  DeepSeek API 使用与 OpenAI 兼容的 API 格式,通过修改配置,你可以使用 OpenAI SDK 来访问 DeepSeek API,或使用与 OpenAI API 兼容的软件。

在这里插入图片描述

2.2.1 申请 API Key

  API Key 是身份的凭证。在官方开放平台创建 API Key 时,需输入名称,随后点击创建。

  注意:API Key 申请好之后,在自己的本地妥善保存一份,请勿分享给其他人,否则可能会被官方封闭。 本对话进行关于C++AI大模型接入SDK的技术博客撰写。每次执行采取向上文追加方式,每次输出追加内容。

三、详细介绍API请求报文

3.1 请求地址与鉴权

  我们可以把我们给大肥鱼发送的消息看作是HTTP请求报文,HTTP请求报文应该发给Deepseek服务器,那么就必须得有Deepseek服务器的IP(URL)。

在这里插入图片描述 在这里插入图片描述

  Base URL 是服务器的基础地址,例如 https://api.deepseek.com。由于与 OpenAI 兼容,也可以设置为 https://api.deepseek.com/v1 使用,此处 v1 与模型版本无关。   Endpoint 等于 Base URL 加具体接口路径。API Endpoint(API接口地址)即 https://api.deepseek.com/chat/completions。你要把 HTTP 请求具体发送到这个服务器的接口。   你的本地程序通过 HTTP/HTTPS 请求加 API Key 进行身份认证。请求头中包含 Authorization: Bearer ,需要填写自己的 api key。

3.2 请求方法与数据结构

  请求方法为 POST。请求报文的数据类型是 Json,对应请求头 Content-Type: application/json。   你可以这么理解这个东西,HTTP Request 包含三个部分。

  • URL 指向 https://api.deepseek.com/chat/completions。
  • Headers 包含 Content-Type: application/json 和 Authorization: Bearer API_KEY。
  • Body 是 JSON 格式的数据。

在这里插入图片描述

3.3 请求体参数详解

3.3.1 model

  model 表示模型名称,例如 “deepseek-chat”。

3.3.2 messages

在这里插入图片描述

  messages 表示是一个数组,你可以发送多条消息。   role 表示这条消息是谁说的或者扮演什么角色,例如 “system” 或 “user”。   content 表示你说的内容是什么。

3.3.3 stream

在这里插入图片描述

  stream 表示是否开启流式响应。(开不开有什么差别我们接下来会讲)

  • false 表示全量。
  • true 表示开启流式响应。

关于请求与应答的更多详细内容,请读者自行阅读官方API文档。 就是下面这个页面,讲的还是蛮详细的。

在这里插入图片描述

  上面讲的内容,我把我画的板书贴过来,方便更好的理解。

在这里插入图片描述

3.4用Curl来试着法一条API请求报文

  安装cur,我们的环境依旧是Ubuntu。

sudo apt-get install curl

  把下面这个直接复制,替换其中的 你的API_KEY 后,回车,执行。

curl https://api.deepseek.com/chat/completions \\
-H "Content-Type: application/json" \\
-H "Authorization: Bearer 你的API_KEY" \\
-d '{
"model": "deepseek-chat",
"messages": [
{
"role": "user",
"content": "你好,大肥鱼."
}
],
"stream": false
}'

  应答结果展示: 在这里插入图片描述

  是不是觉得这种发送方式很挫?我们接下来要介绍一个图形化API工具,会让这个过程容易很多。

四、Apifox的介绍与简单的接口制作

  官网地址:Apifox——API 设计、开发、测试一体化协作平台 ,你可以下载客户端,也可以直接用网页。先简答介绍一下吧;

Apifox 在国内软件研发团队里确实有比较广泛的企业使用场景

4.1 简单介绍一下Apifox

  Apifox 是 API 设计、开发、测试一体化协作平台。   原本前端、后端、测试是各自用自己的工具干活,沟通成本较大。Apifox 可以理解为 Postman + Swagger + Mock + JMeter 的组合,能搭建虚拟测试场景,支持 API 文档、API 调试、API Mock、API 自动化测试。现在有了 Apifox,可以更好地协作。   你可以先把 Apifox 理解成:一个专门用来 构造、发送、测试、调试 HTTP 请求 的工具。它主要是让你更方便、更直观地构造和验证报文。   我们刚才的请求方式有点原始人。这个工具不用自己写 curl 命令,就可以非常方便地 组装 HTTP 报文 -> 发送 -> 查看服务器返回的报文。

  API 是一个我们需要自己写自己设计的一个接口,后端开发者负责设计 API,然后前端和测试就可以拿着后端开发者设计的 API 去用。

4.2制作一个简单的接口

4.2.1创建团队与项目

在这里插入图片描述

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

4.2.2根据DeepSeek官方要求写一个最简单的接口

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述


好的本期内容就到这里,如果对你有帮助,还不要忘记点赞三联支持。我是此方,我们下期再见。bye!

赞(0)
未经允许不得转载:171主机测评 » 「C++AI大模型接入SDK」(一) API接入与本地两种方式对比、API Key获取、API报文详解与简单API的构建
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址