NO.1|项目介绍|环境搭建|Api介绍|Apifox测试
项目架构
从零⼿搓各种⼤模型接⼊的SDK,在此基础上,实现⼀个智能⽹⻚版的AI聊天助⼿。
该应⽤⽬前⽀持以下功能:
- 获取会话列表
- 新建会话
- 获取⽀持模型
- 发送消息
- 获取指定会话的历史聊天记录
- 删除会话
接⼊DeepSeek、gpt-4o-mini、gemini-2.0-flash模型,以及deepseek-r1:1.5b的本地接⼊![![[Pasted image 20260306153832.png]]](https://i-blog.csdnimg.cn/direct/7a01f479b3bd4bca87d42b1c43dea79c.png)
![![[Pasted image 20260306154310.png]]](https://i-blog.csdnimg.cn/direct/4372a83fd9964fd78655ea91e3e67d24.png)
![![[Pasted image 20260306154718.png]]](https://i-blog.csdnimg.cn/direct/fdcb2049cf0a4782875a56746936911d.png)
系统架构图![![[Pasted image 20260322191932.png]]](https://i-blog.csdnimg.cn/direct/6c3db87b7c27432baa15286a5b285aec.png)
应⽤层:⽤⼾使⽤ChatSDK库来封装⾃⼰的应⽤层服务,⽐如实现智能聊天机器⼈ChatSDK:封装⼤模型管理库,包括⼤模型管理、Session管理以及数据存储。
- ⼤模型管理:负责管理并接⼊各种不同⼤模型,⽬前已接⼊deepseek-v3、gpt-4o-mini、gemini-2.0-flash等云端⼤模型;⽀持接⼊本地⼤模型,并向外提供统⼀接⼝,⽤⼾可以通过提供的接⼝接⼊⾃⼰需要⼤模型。
- 会话管理:⽀持会话管理,⽤⼾可以获取获取会话列表、历史消息等
- 数据存储层:⽀持会话记录的持久化存储,⽅便查看历史会话。
三⽅服务:对于接⼊的云端模型,最终由ChatSDK将⽤⼾消息转发给三⽅服务器,模型回复后将结果返回给应⽤层。对于本地部署⼤模型,ChatSDK会将⽤⼾消息发送给本地安装的Ollama服务器,由llama服务器和三⽅模型服务器对接,Ollama将模型的回复返回给ChatSDK,由ChatSDK将结果返回给应⽤层。
第三⽅库和⼯具
| 第三方库 / 工具 | 描述 |
|---|---|
| cpp-httplib | 轻量级的 C++ HTTP 客户端 / 服务器库 |
| spdlog | 高性能、超快速、零配置的 C++ 日志库 |
| jsoncpp | 高性能的 json 库,用于序列化 & 反序列化 |
| sqlite | 轻量级嵌入式关系型数据库,支持标准 SQL 语句 |
| gflags | 定义和解析命令行参数的 C++ 库 |
| gtest | 跨平台的 C++ 单元测试框架 |
| curl | 一款强大的命令行工具,支持 HTTP、HTTPS、FTP 等多种协议 |
| apifox | 一款集 API 调试、Mock 数据生成、自动化测试等功能于一体的协作工具 |
| CMake | 一次配置,跨平台生成任何构建系统的元构建工具 |
| ollama | 一个可以让你在本地电脑上轻松下载、运行和操作各种大型语言模型的强大工具 |
环境搭建
开发环境介绍
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 等多种模型 |
trae介绍
TraeIDE是基于vscode内核开发的,与AI深度集成,提供智能问答、代码⾃动补全以及基于Agent的AI⾃动编程能⼒。使⽤Trae开发项⽬,可以给AI灵活协作,提升开发效率。
TRAE - Collaborate with Intelligence
什么是 TRAE? - 文档 - TRAE
Download | TRAE - Collaborate with Intelligence
Trae⽀持远程资源管理功能(Remote SSH),允许直接访问和操控远程主机,⽆需额外配置。
打开Trae后,直接选择连接连接远程主机,输⼊ ssh ⽤⼾名@ip 和密码即可
登录成功之后,需要安装clangd和CMake Tools插件,注意:这些插件是安装在远程主机上。
安装clangd插件,clangd是⼀款在Trae、VScode等编辑器中,⽤来开发C/C++程序的插件,⽀持:
语法⾼亮、代码补全、实时错误检查(语法错误、类型不匹配、符号未定义等)、代码导航(快速跳转到变量/函数定义)、⽂档提⽰(⿏标悬停在函数名上会显⽰函数签名、注释⽂档)等。
在插件管理器中搜索"clangd",然后安装:![![[Pasted image 20260306172608.png]]](https://i-blog.csdnimg.cn/direct/fe10e9860d604ab3babf29f640525773.png)
在插件管理器中搜索"CMake Tools",![![[Pasted image 20260306172945.png]]](https://i-blog.csdnimg.cn/direct/e9dd8d5c71a24e15889207e6c0c42f00.png)
Trae需要通过插件实现与CMake的集成,包括⽣成构建⽂件、选择编译器等功能。
第三⽅库使⽤
# 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库下载在跟⽬录下
$ ls
AIProj clash cpp-httplib test will
$ cd 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>时能直接找到
$ sudo cp httplib.h /usr/include/
快速操作
ChatSDK⽀持功能如下:
- 获取⽀持模型
- 创建会话
- 获取会话列表
- 给模型发送消息,模型响应以全量⽅式返回
- 给模型发送消息,模型响应以流式⽅式返回
- 获取历史会话消息
- 删除会话
使⽤介绍:
a. 下载ChatSDK库
b. 编译并安装libai_chat_sdk库
c. 在项⽬中包含<ai_chat_sdk/chat_sdk.h>和ai_chat_sdk库
![![[Pasted image 20260306175146.png]]](https://i-blog.csdnimg.cn/direct/8652290050db4fee812fd18c0355975d.png)
![![[Pasted image 20260306180005.png]]](https://i-blog.csdnimg.cn/direct/09caaad8f8fc43cb849e70c65938dea1.png)
![![[Pasted image 20260306180117.png]]](https://i-blog.csdnimg.cn/direct/8e9e59a1e62c4a56a876536e6a1a3513.png)
![![[Pasted image 20260306180531.png]]](https://i-blog.csdnimg.cn/direct/fe50445cbf1e49c0836b7ea181231c07.png)
![![[Pasted image 20260306181429.png]]](https://i-blog.csdnimg.cn/direct/dd586c253de6424cb22961efc8815e99.png)
- chatDemo.cpp

![![[Pasted image 20260306185424.png]]](https://i-blog.csdnimg.cn/direct/21ed1048265c481a9627a2d5d6ca3765.png)
![![[Pasted image 20260306184442.png]]](https://i-blog.csdnimg.cn/direct/aa140d67b4794071876a9a83c3874a6d.png)
- 创建CMakeList.txt⽂件
![![[Pasted image 20260306190245.png]]](https://i-blog.csdnimg.cn/direct/6124b935282a4718b754c58ad074fd47.png)
- 编译
![![[Pasted image 20260306190318.png]]](https://i-blog.csdnimg.cn/direct/01cf96c47d7347919f9cb89c5808007a.png)
![![[Pasted image 20260306190358.png]]](https://i-blog.csdnimg.cn/direct/843895994b294889ad0d313dd17ede02.png)
- 添加日志初始化
![![[Pasted image 20260306190450.png]]](https://i-blog.csdnimg.cn/direct/527ccf3fdd834148b06fd85ba96abb2a.png)
- 运行结果
![![[Pasted image 20260306190532.png]]](https://i-blog.csdnimg.cn/direct/45205122cee24fe8992251e3119fa0e5.png)
![![[Pasted image 20260306190639.png]]](https://i-blog.csdnimg.cn/direct/e7834de843e34fee9e7e6e8425b3d89a.png)
deepseek的api介绍
![![[Pasted image 20260306225448.png]]](https://i-blog.csdnimg.cn/direct/17ba506feea949dab667b2dcafc22840.png)
![![[Pasted image 20260306225457.png]]](https://i-blog.csdnimg.cn/direct/eaeb151d2c0f455184eb17875ecd90d5.png)
![![[Pasted image 20260306230112.png]]](https://i-blog.csdnimg.cn/direct/71e55869a84f48738085e44110c92ffb.png)
curl https://api.deepseek.com/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DEEPSEEK_API_KEY}" \
-d '{
"model": "deepseek-chat",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
],
"stream": false
}'
![![[Pasted image 20260306230458.png]]](https://i-blog.csdnimg.cn/direct/b6c9d278e0b4427a934d63f641da7130.png)
apifox
使⽤apifox⼯具给DeepSeek的deepseek-chat发送聊天消息
Base url:https://api.deepseek.com![![[Pasted image 20260306231444.png]]](https://i-blog.csdnimg.cn/direct/340a6f7b8aa243d0aeaa040454fe2f76.png)
deepseek的api测试
【⻆⾊-role】
为模型提供当前⽂本的⻆⾊信息,帮助模型更好的理解上下⽂并⽣成合适的响应。
在⼤多数模型中,⻆⾊⼀般有三种:
- user:表⽰当前⽂本是⽤⼾输⼊的内容
{
"role": "user",
"content": "你好,我想了解⼀下健康饮⻝的基本原则。"
}
- assistant:表⽰当前⽂本是模型⾃⾝输出的内容
{
"role": "assistant",
"content": "健康饮⻝的基本原则包括均衡摄⼊各种营养素、控制热量摄⼊、多吃蔬菜⽔果、减少⾼糖⾼盐⾼脂肪⻝物等。"
}
- system:设置AI助⼿的⾝份,⼤模型将会以该⾝份回复⽤⼾问题
{
"role": "system",
"content": "你是⼀位专业的营养师,专注于健康饮⻝领域。"
}
- tool:实现⼯具调⽤(之前称作函数调⽤),⼤模型需要调⽤外部⼯具更好回答⽤⼾问题,tool消息⽤来将⼯具执⾏结果返回给模型,让模型基于该结果⽣成最终回复。
![![[Pasted image 20260306233300.png]]](https://i-blog.csdnimg.cn/direct/01163108d62648c385ef6c42f5068600.png)
![![[Pasted image 20260306234049.png]]](https://i-blog.csdnimg.cn/direct/9cf056b251514a88a5fff48cf7507b61.png)
请求头设置![![[Pasted image 20260306234248.png]]](https://i-blog.csdnimg.cn/direct/b81e1e0fb55d427aad7b3788de55a979.png)
响应体暂时不⽤设置,直接采⽤默认接⼝,将来直接看DeepSeek返回的⽂本就好。![![[Pasted image 20260306234346.png]]](https://i-blog.csdnimg.cn/direct/9e1ecb7dbf3c4a1a9820b55f6b86bcb3.png)
接⼝定义完成之后,配置测试环境:![![[Pasted image 20260306234520.png]]](https://i-blog.csdnimg.cn/direct/6b62e958ba074929bc8dace9d068e3a8.png)
右上角选择环境
测试环境配置好之后,选择测试环境,点击发送按钮,apifox会将请求发送给DeepSeek的服务器,并将相应输出![![[Pasted image 20260307000331.png]]](https://i-blog.csdnimg.cn/direct/f799e632540a4e42860d6a0327f02486.png)
![![[Pasted image 20260307000506.png]]](https://i-blog.csdnimg.cn/direct/1361bc9d758646339335a7b7a037887f.png)
![![[Pasted image 20260307000837.png]]](https://i-blog.csdnimg.cn/direct/10b57286d1d347b9b1c44ffbc264cb64.png)
ChatGPT的API
![![[Pasted image 20260307002349.png]]](https://i-blog.csdnimg.cn/direct/c4e0d79e73184e93afdefa71b32fde96.png)
Gemini的API
![![[Pasted image 20260307003307.png]]](https://i-blog.csdnimg.cn/direct/0a01b058e18549deb57e471d42ada2e1.png)
左下角![![[Pasted image 20260307003453.png]]](https://i-blog.csdnimg.cn/direct/a0c5e88584324884a3d0559b176d4a20.png)
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)