【C++ AI大模型接入SDK项目】项目背景,项目介绍,环境准备

目录

一.大模型相关名词

1.1.模型(Model)

[1.2.大模型 ( Large Model )](#1.2.大模型 ( Large Model ))

[1.3.大语言模型(Large Language Model, LLM)](#1.3.大语言模型(Large Language Model, LLM))

[1.4.提示词 (Prompt)](#1.4.提示词 (Prompt))

[1.5.上下文 - Context](#1.5.上下文 - Context)

1.6.Token(令牌/词元)

二.DeepSeek、ChatGPT、Gemini

[2.1.大模型 vs. 大模型产品](#2.1.大模型 vs. 大模型产品)

[2.2. 为什么需要学习通过 API 使用大模型?](#2.2. 为什么需要学习通过 API 使用大模型?)

三.项目架构

四.AI工具

4.1.AI编程插件

4.2.基于命令行终端的AI编程工具

4.3.编程IDE⼯具

五.环境准备

5.1.Trae-CN的下载安装

5.2.第三方库的安装

5.2.1.安装基础的第三方库

[5.2.2.安装 cpp-httplib(header-only HTTP 库)](#5.2.2.安装 cpp-httplib(header-only HTTP 库))


自1994年接入互联网以来,中国互联网经历了PC时代与移动互联网时代的跨越。尤其在移动互联网浪潮中,我们积累了海量的数据、实现了显著的技术突破,并见证了硬件算力的巨大飞跃。过去一度发展平缓的人工智能,随着ChatGPT的横空出世,终于迎来了今天的全面爆发------各类大模型、智能体应用如雨后春笋般涌现,AI正以前所未有的深度融入普通人的日常生活。

当前,各行各业都在积极拥抱AI变革。作为程序员,我们绝不能仅仅停留在使用ChatGPT、DeepSeek等现成产品的层面,更应主动深入学习大模型应用背后的关键技术,掌握将模型接入自有程序的能力,让AI真正为己所用,从而大幅提升开发效率与生产力。

本项目就将带领大家从基础开始,系统学习如何接入大模型。这不仅是拥抱AI时代的重要一步,更是每一位开发者迈向大模型应用开发的第一步。

本项⽬⽬标旨在:

  1. 掌握⼤模型相关的⼀些基础知识
  2. 掌握官⽹提供⼤模型的API接⼝的学习
  3. 掌握C++下远程接⼊⼤模型思路及技术实现
  4. 掌握C++下本地接⼊⼤模型的思路及技术实现
  5. 开发⼀套语⾔聊天⼤模型应⽤

一.大模型相关名词

有些同学可能对⼤模型了解不是很多,此处将项⽬中涉及到⼤模型相关名词提前解释,其他⼀些名词 会在项⽬中详细给⼤家介绍:

1.1.模型(Model)

在人工智能领域,"模型"特指通过大量数据学习规律、并能够进行预测或决策的复杂数学函数。它通常由海量参数构成,结构庞大而精密。

我们可以将其形象地比作一个正在学语的孩子。

孩子通过耳朵倾听源源不断的语音输入------家人的日常对话、故事朗读、生活指令,同时通过眼睛观察周围世界,认识物品、动作与场景之间的关联。在持续的互动与模仿中,孩子逐渐理解语言背后的逻辑,并建立起自己的表达规则。

例如,他发现"吃"常常与"饭饭""水果"相伴出现,"睡觉觉"总是和"床""晚上"联系在一起。于是,当听到妈妈说:"宝宝太晚了,我们一起上床______"

孩子便会自然而然地接上:"睡觉觉~"

正如孩子从经验中归纳语言模式,AI模型也从数据中捕捉隐藏的规律,从而学会回应、预测甚至生成新的内容。这一过程,既是学习,也是创造。

1.2.大模型 ( Large Model )

大模型是人工智能领域中的"超级学霸",是拥有海量参数与爆炸式知识储备的复杂模型。

它如同一位吞噬了百科全书与全网数据的"六边形战士",不仅能看懂图像、听懂语音,还能理解并生成流畅的文字,展现出高度通用的智能能力。

它的"大"主要体现在以下三个方面:

  • 参数规模巨大:模型中的可调节参数数量达到千亿甚至万亿级别。例如,GPT-3拥有1750亿个参数,而早期的AI模型参数往往不足百万。这些参数共同构成了模型存储与处理知识的"大脑容量"。

  • 训练数据浩瀚:其训练素材近乎覆盖了整个互联网的公开信息,包括书籍、论文、网页、代码、对话等各类文本与多媒体资料。通过消化如此庞杂的数据,它得以学习人类语言、知识和逻辑的复杂模式。

  • 训练消耗惊人:训练一个大模型需要巨大的计算资源与能源。以一次完整的GPT-3训练为例,其耗电量约为190万度电,足够5000个普通家庭使用一年。这也直观体现了其背后所需的庞大基础设施与投入。

总而言之,大模型凭借其巨大的规模、广泛的知识与多模态处理能力,正在成为推动人工智能发展的核心引擎,并在对话、创作、分析等多种任务中展现出前所未有的潜力。

1.3.大语言模型(Large Language Model, LLM)

大语言模型可被看作是人工智能领域的"超级话痨",或一个吸收了互联网浩瀚文本、能读会写的"知识渊博者"。

它专门用于处理和理解人类语言,能够完成对话、创作、翻译、编程等多样化的文本任务,但其回答并非基于真正的"理解",而更多是依靠统计规律进行生成,因此有时也可能"一本正经地胡说八道"。

它的核心能力来源于对海量文本的学习。当整个互联网的文本数据被"喂"给模型后,其内部的神经网络会通过复杂的数学计算,分析词语、句子乃至段落之间的统计关联。例如,它会将"猫"、"喵喵叫"、"毛茸茸"、"爪子"等词语在语义空间中紧密地关联在一起,但它并不知道这些词背后所指的真实生物是什么。当人类提问时,它所做的,是根据所学到的概率分布,"推测"出最可能、最连贯的下一个词或下一句话。

大语言模型的局限性

尽管能力强大,但当前的大语言模型仍存在几个根本性的局限:

  • 可能产生"幻觉":模型会生成看似合理但事实上不准确或完全虚构的信息。这是因为它追求的是文本的流畅与合理,而非事实的真伪。

  • 缺乏真正的"理解":它不理解文字背后的物理世界、情感体验或社会常识。它的"知识"本质上是文本模式的高维映射,而非基于体验的概念化认知。

  • 隐含偏见与安全风险:模型从互联网数据中学习,不可避免地会吸收其中存在的社会偏见、歧视观点或有害信息,可能在输出中重现或放大这些问题。

目前,大语言模型已成为AI发展的主流方向,具有代表性的模型包括:OpenAI的GPT-4、Google的Gemini系列、Anthropic的Claude 3、深度求索的DeepSeek、阿里的通义千问(Qwen)、字节跳动的豆包(Doubao)等。它们正持续推动着智能交互的边界,同时也促使我们不断思考如何更安全、更负责任地发展和使用这项技术。

1.4.提示词 (Prompt)

提示词是你与AI模型沟通的核心指令,如同交给AI的"任务说明书"。它清晰告知AI需要完成什么工作、以何种方式完成,直接决定了模型输出结果的质量与相关性。

提示词设计三要素

一个结构清晰、描述具体的提示词,通常包含以下三个关键部分,它们共同引导模型生成更符合预期的回答:

  1. 角色设定(Role)

    为AI定义一个专业身份或角色,使其在特定语境下进行思考与回应。
    示例:

    复制代码
    你是一位具有十年以上C++后端开发经验的架构师,请帮我设计一个类似微信的聊天软件架构。
  2. 任务描述(Task)

    清晰、具体地说明需要AI完成的核心问题或任务。
    示例:

    复制代码
    请用200字左右总结导致拖延症的常见原因。
  3. 格式约束(Format)

    明确指定输出结果的格式、结构或长度要求,使回答更规整、易用。
    示例:

    复制代码
    请按要点分条列出,每条不超过15个字。

通过系统化地组合这三个要素,你可以更高效地引导大模型生成精准、有用且格式规范的答案。掌握提示词设计,是开启有效人机协作的第一步。

1.5.上下文 - Context

上下文指的是在连续对话或任务执行过程中,AI模型能够临时记住并用以理解当前请求的先前信息。这就像人类交谈时能够联系前后文,保持话题的连贯性,而不会突然"失忆"。

例如:

复制代码
用户:推荐一部科幻电影。
AI:《星际穿越》。
用户:为什么推荐这部?
AI(结合上下文):因为它的硬核科学设定和感人的父女情,与你之前询问的科幻题材高度契合。

然而,模型的记忆并非无限。它的"记忆空间"被称为上下文窗口 ,以 Token(可简单理解为词或字片段)为单位。当对话长度超出窗口大小时,最早的信息会被逐渐丢弃,如同内存写满后自动覆盖旧数据。

例如,GPT-4的上下文窗口最大为128K Tokens,约可容纳10万字左右的文本。这一限制决定了AI在单次交互中能够保持连贯记忆的范围,也直接影响了长对话、长文档处理等任务的效果。

因此,理解上下文的机制与限制,是设计高效、连贯AI对话体验的关键。

1.6.Token(令牌/词元)

Token 是模型理解和处理自然语言文本时使用的基本计数单位。

你可以将其直观地想象成文本的"乐高积木"------模型将一整段话拆解成一个个Token,再进行理解和生成。

通常,我们可以这样估算:

  • 1个常见的英文单词 ≈ 1个Token

  • 1个常见的中文词语 ≈ 1个Token

  • 1个数字或标点符号 ≈ 1个Token

例如,句子"Hello, 你好!"大致会被拆分为 ["Hello", ",", "你", "好", "!"] 这样几个Token。

关键点:

  1. 并非简单对应:Token并非严格按单词或汉字划分,而是通过算法(如BPE算法)对文本进行更高效、更语义化的切分。例如,一个长单词可能被拆成多个子词Token。

  2. 模型间有差异:不同的模型采用不同的分词方式,因此同一段文本在不同模型中计算出的Token数量可能略有不同。

  3. 影响使用成本与限制 :模型的上下文窗口长度API调用费用通常都按Token数计算。理解Token,是精确控制输入输出长度、预估成本的基础。

实际应用须知

以 DeepSeek 模型为例,其官方公布的计费方式清晰体现了Token的核心地位:

  • 输入与输出统一计费:模型处理的总Token数(你发送的 + 它生成的)是计费依据。

  • 价格透明:通常按每百万Token(或每千Token)的单位价格收费,不同模型版本价格不同。

  • 上下文窗口决定上限:例如一个128K上下文的模型,意味着单次对话中"输入+输出"的总Token数不能超过该限制。

因此,Token是连接人类语言与模型计算的关键桥梁,也是我们进行成本管理和技术选型时必须掌握的基本概念。理解了Token,你就能更好地把握模型能"吃"进多少内容,以及每一次对话的"基础花费"。

像DeepSeek的

二.DeepSeek、ChatGPT、Gemini

2.1.大模型 vs. 大模型产品

DeepSeek、ChatGPT、Gemini这些是大模型吗?事实上不是,它们是大模型产品

大模型 vs. 大模型产品

这是一个非常重要的区分。我们常说的 DeepSeek、ChatGPT、Gemini 等,严格来说,本身并不是大模型 ,而是基于某个底层大模型开发出来的大模型应用产品

为了清晰理解,我们可以这样区分两者的关系:

1. 大模型:强大的"大脑"

大模型是指那些拥有海量参数(通常达数十亿甚至万亿级),并通过学习互联网规模的知识数据,掌握了通用语言理解、逻辑推理、内容生成等底层能力的人工智能系统本身。它是一个具有巨大潜力的"智能大脑",但通常以代码、权重和复杂架构的形式存在,并不直接面向普通用户。

2. 大模型产品:友好的"应用程序"

大模型产品则是基于某个具体的大模型,通过工程化开发所构建的应用或服务。它将底层大模型的强大能力,封装成一个用户友好、易于访问的界面或工具,提供给最终用户。

  • 例如 :DeepSeek官网上提供的聊天服务,其核心是DeepSeek-V3.1模型这个"大脑",而网站界面、交互逻辑、乃至App,都是围绕它打造的"产品外壳"。这个产品让用户无需了解技术细节,就能以极低成本使用大模型的能力。

核心关系比喻

  • 大模型是引擎,产品是整车。

  • 大模型是操作系统内核,产品是基于它开发的桌面软件。

举例说明

深度求索公司开发了DeepSeek-V3.1 这个大模型(引擎/内核)。然后,他们基于这个模型,开发了名为"DeepSeek"的聊天应用、API服务等产品(整车/软件),提供给广大用户和开发者使用。

理解这一区别,能帮助我们更准确地认识技术生态:当我们说"接入大模型"时,指的是通过API等方式调用那个底层的"大脑"(如DeepSeek-V3.1);而我们日常"使用"的,则是封装好的产品。这对于开发者进行技术选型和深入学习至关重要。

2.2. 为什么需要学习通过 API 使用大模型?

诚然,直接使用 DeepSeek、ChatGPT 等现成产品"开箱即用",在日常学习和工作中已能解决大量问题,效率提升显著。那么,我们为什么还需要深入了解并学习通过 API 手动接入大模型呢?

这好比于驾驶汽车与制造汽车的区别。前者旨在抵达目的地,后者则关乎创造新的可能。学习 API 接入,将使你从工具的"使用者"跃升为能力的"整合者"与"创造者"。其核心价值主要体现在以下几个方面:

• 深化理解,提升核心竞争力

使用官方产品如同驾驶一辆封装完整的汽车,关注操作与抵达;而调用 API 则如同学习汽车原理、保养与改装。它能让你透彻理解大模型的工作原理与边界,从而有能力将其"大脑"(核心能力)灵活集成到任何需要的场景中,甚至打造出解决特定任务的"专用车辆"。这标志着从普通用户到技术应用创造者的关键转变。

• 构建个性化与专业化应用

API 提供了将大模型智能与你的代码、数据、业务逻辑深度结合的桥梁。你可以突破通用聊天机器人的限制,开发出无限可能的智能应用。例如:

  • 打造贴合个人或团队习惯的智能编程助手,深度融入开发流程。

  • 构建自动化工作流,实现邮件自动处理、报告智能生成、数据动态分析

  • 为法律、医疗、教育等垂直领域,开发具备专业知识的领域专家问答系统

• 把握职业发展的关键趋势

大模型应用开发已成为明确的行业方向,众多企业正积极将 AI 能力集成至自身产品与服务中。市场上对于能够熟练使用 API 进行大模型集成、开发和优化的技术人才需求日益增长。掌握这项技能,能让你在求职和职业发展中占据优势,更好地适应并引领技术浪潮。

• 赋能学术研究与创新探索

对于从事计算机科学、人工智能及相关领域研究的学生和学者,API 接入能力使你能够定制化地利用大模型进行实验设计、假设验证与数据分析。你可以构建专属的研究工具,探索模型在新场景下的表现,从而推动学术边界的拓展。

总结而言,对于计算机专业的学习者与未来的开发者而言,学习通过 API 使用大模型绝非锦上添花,而是一项极具价值的核心技能。它不仅帮助你更深刻地理解与驾驭这项技术,更能为你打开一扇通往创新、构建与职业新高度的大门,为在AI时代构建解决方案奠定坚实的基础。

三.项目架构

我们现在来看看整个的项目架构:

本系统采用清晰的三层架构,确保模型接入的灵活性与业务逻辑的隔离性。各层职责明确,协同工作,共同为上层应用提供稳定、高效的大模型对话服务。

应用层

用户通过调用 ChatSDK 库,封装和构建自己的业务应用,例如:开发智能聊天机器人、集成AI助手的客户端或服务。该层专注于实现产品特有的交互逻辑与用户体验,无需关心底层模型的具体对接与通信细节。

ChatSDK 层(核心中间层)

本层是整个系统的核心,承上启下,为应用层提供统一的编程接口,并封装了所有与大模型交互、会话管理及数据持久化相关的复杂逻辑。它主要包括三个关键模块:

  • 大模型管理:负责对接并抽象化各种大模型。目前已支持接入 DeepSeek-V3、GPT-4o-mini、Gemini-2.0-flash 等云端模型,同时也支持通过 Ollama 接入本地部署的模型。该模块对外提供统一的调用接口,允许用户根据需求灵活接入或切换不同模型,实现了模型服务的可插拔设计。

  • 会话管理:提供完整的会话生命周期管理功能。用户可以方便地创建、切换、查看和删除对话会话,并获取任一会话的完整历史消息记录,保证了对话的连续性与上下文关联。

  • 数据存储层:负责会话记录、消息内容等关键数据的持久化存储。通过内置数据库,将所有聊天历史进行本地保存,方便用户随时回溯查看,也为会话管理提供了数据支撑。

第三方服务层

本层是 ChatSDK 与具体模型服务提供方进行网络通信的桥梁。根据模型部署位置的不同,存在两种调用路径:

  1. 对于云端模型:ChatSDK 直接将用户消息转发至对应第三方厂商的服务器(如 OpenAI、DeepSeek 等),待模型生成回复后,再将结果原路返回至应用层。

  2. 对于本地模型 :ChatSDK 将用户消息发送至本地运行的 Ollama 服务器,随后由 Ollama 负责与本地模型进行交互计算,并将模型的回复返回给 ChatSDK,最终由 ChatSDK 送达应用层。Ollama 在此扮演了本地模型运行时与接口适配器的关键角色。

通过以上架构,系统成功地将业务应用、模型调度管理与底层基础设施解耦,提供了高内聚、低耦合的现代化 AI 应用开发体验。

四.AI工具

4.1.AI编程插件

随着人工智能技术的飞速发展,各类AI编程助手插件与集成开发环境(IDE)如雨后春笋般涌现,为开发者提供强大的代码生成、智能补全、错误检测与修复等支持,显著提升了软件开发的效率与体验。

目前市面上主流的AI编程插件包括以下几款:

插件名称 形态与支持平台 核心功能
Github Copilot 插件形式,支持 VSCode、JetBrains IDEs 等主流编辑器 实时代码补全、多语言支持、上下文感知、智能代码建议与生成
Fitten Code 支持 VSCode / JetBrains 等环境 代码补全、Bug 检测、注释生成、单元测试自动生成,并集成 CopilotChat 对话功能
Cline 专为 VSCode 设计的插件 支持项目级文件读写、命令行任务执行、浏览器环境集成,具备基于权限的操作确认机制与任务链编排能力
通义灵码 提供插件(VSCode / JetBrains)及独立 IDE 版本 支持多文件协同编辑、MCP 工具链调用、行间会话交互,并构建个性化记忆体系,实现更贴合开发者习惯的智能辅助

这些工具不仅覆盖了日常编码中的自动补全与纠错需求,更在项目维护、测试生成、跨文件操作及复杂任务编排等方面展现出强大的智能化水平,标志着开发方式正朝着更高效、更协作的人机协同模式持续演进。

4.2.基于命令行终端的AI编程工具

在命令行终端环境中,AI编程工具正逐渐成为开发者高效工作的得力助手。这类工具将大模型能力深度集成至终端工作流,支持直接通过自然语言交互完成代码生成、错误排查、项目分析等任务,大幅提升了开发效率与操作便捷性。

目前较具代表性的终端AI工具包括以下两种:

工具名称 核心功能 模型支持
Claude 复杂推理与分析 :擅长长文档阅读、摘要与逻辑推理 • 代码生成与解释 :可生成、审查和解释代码,注重代码安全性及可靠性 • 长上下文支持:最高支持 200K 上下文,能够处理整个代码库文件 Claude 3 系列模型
Gemini CLI 终端内对话 :直接在命令行中与 Gemini 模型交互 • 代码生成与调试 :生成代码片段、解释错误信息 • 文本处理 :支持起草邮件、内容生成等通用任务 • 多模态支持:CLI 支持文件传输,未来有望扩展至图像分析等能力 Gemini 2.5 Pro

这类工具不仅延续了传统命令行的高效与灵活,更进一步融合了AI在自然语言理解与代码智能方面的优势,使开发者能够在终端环境中实现更流畅、更智能的人机协作体验。

4.3.编程IDE⼯具

随着AI技术全面融入开发流程,"AI原生"集成开发环境(IDE) 正在重新定义编程体验。这类工具将智能体深度嵌入编辑器的核心,实现了从代码补全到需求管理、从交互对谈到自动部署的全流程智能化。

以下是几款具有代表性的新一代AI编程IDE:

IDE名称 核心功能 模型支持
Cursor • 智能代码生成、补全与错误修复 • 支持自然语言指令进行多文件编辑 • 内置文档生成与强大的代码库分析能力 • 完全兼容 VSCode 的生态与配置 集成 Claude、GPT-4、Gemini 等多种主流模型,可由用户灵活选择
IDX • 基于云的 VSCode 体验,开箱即用 • 深度集成 Google Gemini 模型,实现智能补全与聊天 • 内置 Android 模拟器和 Firebase 支持,专为全栈及移动开发优化 • 提供便捷的应用预览与一键部署功能 深度集成并优化 Google Gemini 模型家族
Kiro • 兼容 VSCode 扩展 • 集成需求管理与自动化开发流程 • 支持预览代码修改与即时撤销 • 提供智能体驱动的交互对话 (Agentic Chat) 免费使用 Claude Sonnet 3.5 和 Claude Opus 模型
Trae • 具备多模态交互与深度上下文理解引擎 • 提供智能体模式,支持复杂任务编排与全流程自动化 • 专注于智能代码生成与系统性优化 集成 DeepSeek、豆包、Kimi、Qwen 等多种国内主流模型
Qoder • 实现对代码库的全景理解与分析 • 提供智能结对编程与任务驱动的"探索模式" • 增强上下文工程与长短期开发者记忆系统 支持 Claude、GPT、Gemini 等多种模型
CodeBuddy • 提供智能代码补全与 AI 设计稿生成/转代码能力 • 支持 AI 驱动的全栈应用开发 • 内置腾讯云开发等后端服务,支持一键部署与分享 内置腾讯混元、DeepSeek 等多种模型

这些AI原生IDE不仅强化了传统IDE的编辑与调试能力,更通过深度集成大语言模型,将自然语言指令转化为具体的开发行动,标志着软件开发正从"工具辅助"迈向"智能体协同"的新阶段。

这些AI编程IDE基本都是基于vscode开发,功能使⽤上基本⼤同⼩异,本项⽬选择字节的Trae IDE⼯具 开发,主要是在国内是免费的。

五.环境准备

5.1.Trae-CN的下载安装

首先,我们需要下载的是这个Trae-CN:TRAE - The Real AI Engineer | TRAE - The Real AI Engineer

Trae⽀持远程资源管理功能(RemoteSSH),允许直接访问和操控远程主机,⽆需额外配置。

打开Trae后,直接选择连接连接远程主机,

输⼊ssh ⽤⼾名@ip 和密码即可

然后点击连接主机

连接

完成远程主机登录后,为获得高效的 C/C++ 项目开发体验,建议在远程环境中安装 clangdCMakeTools 这两个核心插件。请注意,插件应直接安装在远程主机上,以便正确识别和分析远程工作区中的代码和编译环境。

安装 clangd 插件

clangd 是一款基于 Language Server Protocol (LSP) 的 C/C++ 语言服务器,广泛支持 Trae、VSCode 等主流编辑器,能够为 C/C++ 项目提供专业级的智能开发支持。其核心功能包括:

  • 语法高亮与代码补全:基于项目上下文提供精准的代码提示。

  • 实时错误检查:即时检测语法错误、类型不匹配、未定义符号等问题。

  • 智能代码导航:支持快速跳转到变量、函数或类的定义处,以及查找引用。

  • 文档提示:鼠标悬停时可显示函数签名、参数说明及注释文档。

  • 代码格式化:支持代码风格自动统一与整理。

  • 重构支持:提供变量重命名、函数提取等重构操作。

安装方法:在编辑器的插件市场中搜索 "clangd",找到官方插件并点击安装即可。

安装 CMakeTools 插件(可选)

如果你使用 CMake 管理 C/C++ 项目,建议同时安装 CMake Tools 插件。它能帮助你在编辑器内直接配置、构建、调试和运行 CMake 项目,无缝集成编译流程,提升开发效率。

通过安装这两个插件,你可以在远程开发环境中获得与本地相近甚至更强大的 C/C++ 开发支持,实现流畅的编码、调试与项目管理体验。

Trae需要通过插件实现与CMake的集成,包括⽣成构建⽂件、选择编译器等功能。

5.2.第三方库的安装

以下是本项目使用的第三方库与工具清单及说明,各项内容已进行文字润色与补充:

1. cpp-httplib

一个轻量级、仅需单头文件的 C++ HTTP 客户端/服务器库。它使我们能够快速搭建 Web 服务与 RESTful 接口,极大简化了网络通信层的开发。

2. spdlog

一个高性能、支持异步输出的 C++ 日志库。它配置简单、格式灵活,并支持多日志级别与输出目标,帮助我们高效记录运行状态与调试信息。

3. jsoncpp

广泛使用的 C++ JSON 处理库,提供完整的序列化与反序列化功能。我们使用它来解析和生成 JSON 格式的数据,以支持前后端及接口间的结构化数据交换。

4. sqlite

一款轻量级、文件式的关系型数据库引擎。它无需独立数据库服务器,通过标准 SQL 语句进行操作,非常适合本地化或嵌入式场景下的结构化数据存储。

5. gflags

Google 推出的命令行参数解析库。通过它我们可以方便地定义、解析和管理命令行输入,使应用程序的配置更加灵活和规范。

6. gtest

Google 开发的 C++ 单元测试框架。我们使用它来编写和运行单元测试,以验证代码逻辑的正确性,保障软件质量与可维护性。

7. curl

功能强大的命令行工具与库,支持 HTTP、HTTPS、FTP 等多种协议。在项目中常用于调试网络请求、测试 API 及进行数据传输。

8. apifox

集 API 设计、调试、Mock 数据和自动化测试于一体的协作平台。它帮助我们高效管理接口文档,并简化前后端联调过程。

9. CMake

跨平台的元构建系统。通过编写统一的 CMake 配置文件,我们可以在不同平台(如 Windows、Linux、macOS)上生成对应的构建文件(如 Makefile、Visual Studio 项目),实现编译过程的标准化和自动化。

10. ollama

一个支持在本地运行和管理多种大型语言模型的工具。通过集成 ollama,我们能够在项目中便捷地调用本地化的大模型能力,用于对话、文本生成等 AI 功能。

以上库与工具共同构成了本项目的基础技术支撑,分别在网络通信、数据存储、日志记录、测试验证及开发协作等环节发挥着关键作用。


那么,现在我们就来安装我们这个项目必需的那个

5.2.1.安装基础的第三方库

  • CMake:跨平台的项目构建工具,用于管理编译过程。

    复制代码
    sudo apt-get install cmake
  • pkg-config:辅助编译器查找库文件路径、头文件位置及链接选项的工具。

    复制代码
    sudo apt install pkg-config
  • curl:命令行下载工具,常用于获取网络资源或测试 HTTP 服务。

    复制代码
    sudo apt install curl
  • gflags:Google 开发的命令行参数解析库。

    复制代码
    sudo apt-get install libgflags-dev
  • spdlog:高效的 C++ 日志库。

    复制代码
    sudo apt-get install libspdlog-dev
  • fmt:现代化的 C++ 字符串格式化库。

    复制代码
    sudo apt-get install libfmt-dev
  • jsoncpp:JSON 解析与序列化库。

    复制代码
    sudo apt-get install libjsoncpp-dev
  • gtest:Google C++ 单元测试框架。

    复制代码
    sudo apt-get install libgtest-dev
  • OpenSSL:安全套接字层库,用于加密通信。

    复制代码
    sudo apt-get install libssl-dev

实际上,如果你比较讨厌一个一个的去调用,那么我们提供了一条连着的bash语句,直接复制一下,我们就能执行

复制代码
sudo apt-get update && \
sudo apt-get install -y cmake pkg-config curl libgflags-dev libspdlog-dev libfmt-dev libjsoncpp-dev libgtest-dev libssl-dev

5.2.2.安装 cpp-httplib(header-only HTTP 库)

cpp-httplib 是一个轻量级、仅头文件的 HTTP 库,适合快速构建 HTTP 服务端或客户端。

1.下载源码

复制代码
git clone https://github.com/yhirose/cpp-httplib.git

事实上,如果你访问不了github的话,那么我们可以考虑一下gitcode官网

cpp-httplib:A C++ header-only HTTP/HTTPS server and client library - AtomGit | GitCode

复制代码
git clone https://gitcode.com/GitHub_Trending/cp/cpp-httplib.git

2.放置头文件

由于它是 header-only 库,只需将 httplib.h 复制到系统头文件目录,即可在代码中直接使用 #include <httplib.h>。

复制代码
sudo cp cpp-httplib/httplib.h /usr/include/

我们需要拷贝的就是下面这个文件

说明:该库无需编译,包含头文件即可使用。若希望本地管理,也可将其放在项目目录中并通过编译选项指定头文件路径。

相关推荐
玄同7654 小时前
LangChain v1.0 中间件深度解析:从 Callback 到 Middleware 的演进
人工智能·语言模型·自然语言处理·中间件·langchain·agent·智能体
小毅&Nora4 小时前
【人工智能】【大模型】从厨房到实验室:解密LLaMA架构如何重塑大模型世界
人工智能·架构·llama
咚咚王者5 小时前
人工智能之核心技术 深度学习 第六章 生成对抗网络(GAN)
人工智能·深度学习·生成对抗网络
子夜江寒5 小时前
基于dlib与OpenCV的人脸检测与特征点标定技术实践
人工智能·opencv·计算机视觉
IRevers5 小时前
RF-DETR:第一个在COCO上突破60AP的DETR(含检测和分割推理)
图像处理·人工智能·python·深度学习·目标检测·计算机视觉
昨夜见军贴06165 小时前
合规性管理的现代化实践:IACheck的AI审核如何系统提升生产型检测报告的合规水平
大数据·运维·人工智能
自可乐5 小时前
AutoGen(多智能体AI框架)全面学习教程
人工智能·python·学习·ai
人工智能AI技术5 小时前
手搓一个AI搜索引擎:基于百度DeepSearch框架的实战开发笔记
人工智能·百度
郝学胜-神的一滴5 小时前
机器学习中的特征提取:PCA与LDA详解及sklearn实践
人工智能·python·程序人生·算法·机器学习·sklearn