文章目录
- 一、项目背景
- [二、DeepSeek 的使用](#二、DeepSeek 的使用)
-
- [1. 产品和模型](#1. 产品和模型)
- [2. deepseek使用](#2. deepseek使用)
- [三、学习通过API访问大模型 的理由](#三、学习通过API访问大模型 的理由)
- 四、项目最终效果演示
- 五、项目整体架构
- 六、本项目中使用的第三方库和工具(含使用教程链接)
- 七、环境搭建
-
- [1. 开发环境介绍](#1. 开发环境介绍)
- [2. trae介绍](#2. trae介绍)
一、项目背景
从1994年,中国接入互联网至今,中国互联网的发展历经了PC时代、移动互联网时代,尤其是在移动互联网时代进行了大量的海量数据、技术积累,以及硬件算力的巨大提升,之前不温不火的人工智能,伴随着ChatGPT的横空出现,迎来了今天AI的爆火,各种大模型、智能体应用等如雨后春笋版涌现出来,AI在更进⼀步进入普通人的生活。现在各个厂商也在积极拥抱AI, 作为程序员我们决不能停留在简单使用DeepSeek、ChatGPT这种大模型级别的产品,而应该去学习大模型应用背后的相关技术,将模型接入到我们程序中来,让AI为自己服务,提高生产效率。

项目从零开始手动实现大模型接入层,解决了不同厂商API协议差异大、本地与云端模型难以统一管理的痛点。系统实现了从云端模型API调用、本地模型部署接入到会话管理的完整闭环,并将核心接入逻辑封装为可复用ChatSDK,最终基于该SDK构建出支持多模型切换的网页版智能聊天助手。
本项目的目标旨在:
- 掌握大模型相关的一些基础知识
- 掌握官网提供大模型的API接口的学习
- 掌握C++下远程接入大模型思路及技术实现
- 掌握C++下本地接入大模型的思路及技术实现
- 开发⼀套语言聊天大模型应用
二、DeepSeek 的使用
1. 产品和模型
DeepSeek、ChatGPT、Gemini并不是大模型,而是基于某个大模型开发出来的大模型应用产品。
大模型具有大量参数(数十亿甚至百亿)的人工智能模型,它学习了海量知识,掌握了理解自然语言、逻辑推理、写作、编程等底层通用能力,是一个拥有巨大潜力的 "大脑"。
大模型产品是基于具体大模型开发出来的应用或服务,这些产品将大模型的能力封装成用户友好的界面或工具,提供给最终用户进行使用。比如 DeepSeek官网提供的能和用户聊天的网页服务,实际就是 DeepSeek-V3.1模型装上了一个聊天界面,让用户低成本使用大模型提供的服务,你问大模型问题,大模型将理解你的问题后将自己回答输出给你。
比如:DeepSeek是深度求索公司开发的,基于DeepSeek-V3.2模型的产品。
2. deepseek使用
deepseek官网:https://www.deepseek.com/
以前打开DeepSeek官网,显示如下页面


(1) 深度思考按钮:深度推理模式 和 快速响应模式开关,默认未选中为快速响应模式,选中之后切换到深度思考模式。
补充:专家模式 ≈ 开启"深度思考" + 按需使用"智能搜索"
(2) 智能搜索按钮:未选中时模型仅使用模型预训练知识,开启后模型可联网获取最新信息
(3) 模型支持上传PDF、Word、Excel等文件,模型会读取文件内容并根据内容回答问题
(4) 输入用户提示词之后,发送给模型,让模型思考回答
(5) 开启新一轮对话。比如切换一个新话题时,最好开一个新会话,防止上下文干扰
(6) 支持会话管理。可以点击任意一条之前的会话记录,快速回到该次会话中,继续之前会话,就想看书时返回之前章节一样。会话名称一般是第一次问题的开头命名。
三、学习通过API访问大模型 的理由
既然各个大模型厂商已经提供了类似DeepSeek、ChatGPT、Gemini这样的大模型服务了,开箱即用非常香,在日常学习工作中已经收获颇丰,为什么还要学习手动接入大模型?
我认为有以下几点原因:
-
了解更多大模型知识,提高自己竞争力
使用官方大模型服务就像开车,会操作就行,目的是到达终点;调用API就像学习汽车原理、保养和改装,能让你造出更适合任务的专业车,甚至将发动机装到飞机、轮船上。前者是大模型产品的使用者,后者已经摇身成为大模型应用的创造者。
-
构建自己的应用
API允许你将大模型的"大脑"与你自己的程序、网站、数据库等连接起来,实现通用机器人无法完成的任务,解锁无限可能性。比如:开发智能编程助手提高日常开发效率、构建自动化工作流(自动处理邮件、生成报告、分析数据等)、构建垂直领域应用(为法律、医疗、教育等领域开发专业的问答工具)
-
职业发展
大模型应用越来越广泛,许多公司都在将大模型能力渐渐接入到自己的产品中,在AI原生应用开发领域,大模型应用开发相关岗位也越来越多,会使用API集成大模型的能力,能让你在求职中更具竞争力,更好的适应行业的发展趋势。
-
学术研究
有些考研的学生,研究的课题可能和人工智能相关,掌握API接入大模型技术后,可以为自己量身定制大模型应用以进行实验和数据分析,验证自己的研究假设。
因此,作为一名计算机专业的学生,或者将来从事计算机方向的开发者,学习通过API方式使用大模型是非常有价值的,不仅能帮助你更好地理解和使用大模型,还能给未来职业发展打下坚实基础。
四、项目最终效果演示
本项目是带领大家从零手搓各种大模型接入的SDK,在此基础上,实现一个智能网页版的AI聊天助手。
该应用目前支持以下功能:
- 获取会话列表
- 新建会话
- 获取支持模型
- 发送消息
- 获取指定会话的历史聊天记录
- 删除会话
(1)【主界面】

(2)【模型选择】
点击新建对话选项,就会弹出模型选择(选择模型后,创建新会话成功)

目前已接入DeepSeek、gpt-4o-mini、gemini-2.0-flash模型,以及deepseek-r1:1.5b的本地接入,学习之后同学们也可以接入其他更多模型。
(3)【开始会话】

五、项目整体架构
项目的系统架构图如下:

(1)应用层: 用户使用ChatSDK库来封装自己的应用层服务,比如实现智能聊天机器人。
(2)ChatSDK: 封装大模型管理库,包括大模型管理、Session管理以及数据存储。
- 大模型管理: 负责管理并接入各种不同大模型,目前已接入 deepseek-v3、gpt-4o-mini、gemini-2.0-flash 等云端大模型;支持接入本地大模型,并向外提供统一接口,用户可以通过提供的接口接入自己需要大模型。
- 会话管理: 支持会话管理,用户可以获取获取会话列表、历史消息等。
- 数据存储层: 支持会话记录的持久化存储,方便查看历史会话。
(3)第三方服务: 对于接入的云端模型,最终由ChatSDK将用户消息转发给远程的第三方服务器,模型回复后将结果返回给应用层。对于本地部署大模型,ChatSDK会将用户消息发送给本地安装的Ollama服务器,由 Ollama服务器和第三方模型服务器对接,Ollama将模型的回复返回给ChatSDK,由ChatSDK将结果返回给应用层。
六、本项目中使用的第三方库和工具(含使用教程链接)
| 序号 | 第三方库 / 工具 | 描述 |
|---|---|---|
| 1 | cpp-httplib | 轻量级的C++ HTTP 客户端 / 服务器库 |
| 2 | spdlog | 高性能、超快速、零配置的 C++ 日志库 |
| 3 | jsoncpp | 高性能的 json库,用于序列化 & 反序列化 |
| 4 | sqlite | 轻量级嵌入式关系型数据库,支持标准SQL语句 |
| 5 | gflags | 定义和解析命令行参数的 C++库 |
| 6 | gtest | 跨平台的C++单元测试框架 |
| 7 | CMake | 一次配置,跨平台生成任何构建系统的元构建工具 |
| 8 | curl | 一款强大的命令行工具,支持HTTP、HTTPS、FTP等多种协议 |
| 9 | apifox | 一款集API调试、Mock数据生成、自动化测试等功能于一体的协作工具 |
| 10 | ollama | 一个可以让你在本地电脑上轻松下载、运行和操作各种大型语言模型的强大工具 |
gflags库的使用: Gflags解剖课:从DEFINE宏到命令行解析的工程化实践
spdlog库的使用: 高性能 C++ 日志实战:spdlog 核心架构解析与最佳实践指南
cppjson库的使用: JsonCpp核心揭秘:Value类详解与序列化实战全攻略
gtest库的使用: gtest实战入门:从安装到TEST宏的单元测试指南
- 第三方库 和 工具的安装:
bash
# gflags 安装
dev@dev-host:~/workspace$ sudo apt-get install libgflags-dev
# spdlog 安装
dev@dev-host:~/workspace$ sudo apt-get install libspdlog-dev
# fmt 安装
dev@dev-host:~/workspace$ sudo apt-get install fmt
# jsoncpp 安装
dev@dev-host:~/workspace$ sudo apt-get install libjsoncpp-dev
# gtest 安装
dev@dev-host:~/workspace$ sudo apt-get install libgtest-dev
# ssl 安装
dev@dev-host:~/workspace$ sudo apt-get install libssl-dev
# 安装 cmake
dev@dev-host:~/workspace$ sudo apt-get install cmake
# 安装pkg-config,⽤于帮助编译时查找库⽂件(⽐如头⽂件的位置、链接选型)的⼯具
dev@dev-host:~/workspace$ sudo apt install pkg-config
# 安装curl⼯具
dev@dev-host:~/workspace$ sudo apt install curl
# httplib下载
dev@dev-host:~/workspace$ git clone https://github.com/yhirose/cpp-httplib.git
# 注意:cpp-httplib是 header-only库,只需要⼀个头⽂件,在项目中只需时只需要包含该头⽂件即可
# 我的 cpp-httplib库下载在根目录下
bit@bit08:~$ ls
AIProj clash cpp-httplib test will
bit@bit08:~$ cd cpp-httplib/cpp-httplib/
bit@bit08:~/cpp-httplib/cpp-httplib$ ls
benchmark cmake CMakeLists.txt docker docker-compose.yml Dockerfile
example httplib.h LICENSE meson.build meson_options.txt README.md
split.py test
# 将httplib.h拷⻉到系统⽬录下,在程序中#include <httplib.h>时能直接找到
bit@bit08:~/cpp-httplib/cpp-httplib$ sudo cp httplib.h /usr/include/
七、环境搭建
1. 开发环境介绍
随着人工智能技术的飞速发展,AI编程助手类的插件和IDE如雨后春笋般涌现,为开发者提供强大的代码生成、智能补全、错误检测和修复等功能,显著提高了开发效率。
- AI编程插件:
| 插件名称 | 形态 | 核心功能 |
|---|---|---|
| Github 和 Copilot | 支持VS Code、JetBrains IDEs等 | 实时代码补全、Copilot Chat、多语言支持、上下文感知、智能代理、测试生成 |
| Fitten Code | 支持VS Code/JetBrains等 | 代码补全、Bug检测、注释生成、单元测试自动生成 |
| Cline | VS Code插件 | 项目级文件读写操作、命令行任务执行、浏览器环境集成、基于权限的行动确认系统、任务链编排能力 |
| 通义灵码 | 插件(VS Code/JetBrains)+ 独立IDE | 多文件代码修改、MCP工具链调用、行间会话、个性化记忆体系 |
- 基于命令行终端的AI编程工具:
| 工具名称 | 核心功能 | 模型支持 |
|---|---|---|
| Claude 和 Code | 复杂的推理与分析:擅长 文档阅读、摘要、逻辑推理 代码生成与解释:能生成、审查和解释代码,强调代码的安全性和可靠性 长上下文窗口(最高支持200K):可处理整个代码库的文件自语言对话 | Claude 3系列 |
| Gemini CLI | 终端内对话:在命令行中直接与Gemini模型交互 代码生成与帮助:生成代码片段、解释错误 文本处理:起草邮件、生成内容等通用任务 多模态支持:CLI可传输文件,未来可能支持图像分析 | Gemini-2.5-pro |
- 编程IDE工具:
| IDE名称 | 核心功能 | 模型支持 |
|---|---|---|
| Cursor | 代码自动生成、智能补全、Bug检测与修复、文档生成、多文件编辑、自然语言命令、VS Code兼容 | 集成 Claude、GPT-4、Gemini等多个模型 |
| IDX | 基于云的VSCode体验、深度集成Gemini模型进行代码补全和聊天、内置Android模拟器和Firebase支持、轻松预览和部署全栈应用 | 深度集成并优化 Gemini模型家族 |
| Kiro | 兼容vscode、需求管理、自动化开发、集成与扩展、用户体验、预览代码修改、即时撤销修改、Agentic Chat | 免费使用 Claude-Sonnet-4 和 Claude-Opus-4模型 |
| Trae | 多模态交互、上下文理解引擎、智能体模式、全流程自动化、智能代码生成与优化 | 集成 DeepSeek、Doubao、Kimi、Qwen等模型 |
| Qoder | 代码库全景理解、智能结对编程、Quest模式、增强上下文工程、长短期记忆系统 | 支持Claude、GPT、Gemini等模型 |
| CodeBuddy | 智能代码补全、AI设计生成、设计稿转代码、AI全栈开发、内置腾讯云CloudeBase和Supabase服务、一键部署分享 | 内置腾讯混元、DeepSeek等多种模型 |
这些AI编程IDE基本都是基于vscode开发,功能使用上基本大同小异,本项目选择字节的Trae IDE工具 开发,主要是在国内是免费的。
2. trae介绍
Trae IDE是基于vscode内核开发的,与AI深度集成,提供智能问答、代码自动补全以及基于Agent的AI自动编程能力。使用Trae开发项目,可以给AI灵活协作,提升开发效率。
Trae官网: https://www.trae.ai/
Trae使用手册: https://docs.trae.ai/ide/what-is-trae?_lang=zh
Trae下载: https://www.trae.ai/download
下载下来后,安装时一路next即可。
Trae支持远程资源管理功能(Remote SSH),允许直接访问和操控远程主机,无需额外配置。
打开Trae后,直接选择连接远程主机,输入 ssh 用户名@ip 和 密码即可。

我的云服务器配置:
登录成功之后,需要安装 clangd 和 CMake Tools插件,注意:这些插件是安装在远程主机上。
安装clangd插件,clangd是一款在Trae、VScode等编辑器中,用来开发C/C++程序的插件,支持:
语法高亮、代码补全、实时错误检查(语法错误、类型不匹配、符号未定义等)、代码导航(快速跳转到 变量/函数定义)、文档提示(鼠标悬停在函数名上会显示函数签名、注释文档)等。
Trae需要通过CMake Tools插件实现与CMake的集成,包括生成构建文件、选择编译器等功能。

