找回密码
 注册

微信登录

微信扫一扫,快速登录

查看: 286|回复: 0

阿里面试官挑眉:AI 项目不用 FastAPI?你用 C++ 写的?我:用C++写的,高并发+AI推理!想问项目难点吗?

[复制链接]
发表于 2025-9-27 14:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

×
作者:微信文章
现在AI很火,对于开发岗来说,掌握 AI应用相关开发技术,是很加分的。

之前,知识星球里发布了 HTTP服务框架 这个项目。

用C++开发一个 基础HTTP服务框架,在这个框下来,可以更容易开发各种 应用。

这次,在 HTTP服务框架 基础上,我们做一个【AI 应用服务平台】,旨在帮助 C++录友们入门AI应用开发。

如果 大家学过 HTTP服务框架 这个项目,基本 7天内,就可以入门 该项目,如果没有项目实战经验直接学该项目,可能需要 1-2个月。
该项目亮点

    ✅ AI 聊天(多轮会话 + 会话记忆):把大语言模型的 API 嵌入 C++ 服务,支持上下文记忆与历史同步。✅ AI 图像识别(MobileNetV2 + ONNXRuntime):图片 → 预处理 → 模型推理 → 标签返回,端到端闭环。✅ 工程级部署:一键 Docker 镜像,包含 MySQL / RabbitMQ 等依赖,拿到 API key 即可跑起来。✅ 高并发设计:基于 Muduo + 自研 HTTP 框架 + RabbitMQ + 线程池,AI 推理任务异步化,避免阻塞主线程。✅ 简历友好:明确的可写项(AI 集成 / 推理部署 / 异步队列 / 会话持久化),面试问得住、写得漂亮。
项目演示视频

谁适合看、能收获什么

C++ 录友,想在简历上,添加AI应用开发 案例的录友,都可以学习。
    有底层/后端基础的同学:几小时读完掌握全局结构并能跑起来。刚入门 AI 应用的同学:7 天内完成实战,从模型接入到前端交互全流程。求职/转行者:拿到一个能写在简历上的「AI 应用服务平台」项目:面试时能说清楚技术难点与工程化实现。

简历可写点:
    AI 聊天服务集成:在 C++ 框架中调用大模型 API,实现多轮对话与会话记忆。AI 图像识别服务:结合 OpenCV + ONNX Runtime,完成图像预处理与推理全流程。高并发架构设计:利用 Muduo + RabbitMQ + 线程池,提升系统在多用户场景下的并发处理能力。工程化能力:熟悉 Docker 部署、消息队列解耦、数据库异步写入等服务化开发经验。
项目架构

w1.jpg
系统整体设计

本项目基于 自己开发的 HTTP 服务框架,在其之上扩展了 AI 聊天服务 与 AI 图像识别服务。整体架构分为三层:
    客户端层:用户通过浏览器或前端页面发起请求(如登录、聊天、上传图片)。应用服务层:由自研 HTTP 框架承载,整合了 AI 对话服务、AI 图像识别服务、用户管理服务。基础支撑层:由数据库、消息队列、推理引擎及三方 API 组成,为应用层提供持久化、异步处理和模型推理能力。

在整体流程上,用户请求经过 HTTP 服务框架调度,调用对应的 业务 Handler,并通过消息队列、数据库、推理引擎完成 AI 聊天、图像识别等功能,再将结果返回到前端页面。
技术架构解读

1、业务服务层
    AI 聊天服务:通过 cURL 调用阿里云百炼 API,实现大语言模型对话。AI 图像识别服务:基于 OpenCV + ONNX Runtime 部署轻量级模型,实现图片分类。用户服务:负责登录、注册、登出、会话管理等功能。

2、三方依赖库
    json:C++ JSON 解析curl:HTTP 请求封装Muduo:高性能网络库OpenCV:图像预处理SimpleAmqpClient / Base64:用于消息队列通信与图片数据解码

3、基础支撑模块
    MySQL:存储用户信息、聊天记录、图像识别结果RabbitMQ:提供异步消息队列,解耦高并发场景下的数据库写入ONNX Runtime:执行模型推理,支持轻量化部署(如 MobileNetV2)

4、项目构建与部署
    CMake:统一构建管理Docker:提供一键化部署,集成 MySQL、RabbitMQ、OpenCV、ONNX 等环境
项目整体流程图

w2.jpg
项目目录

AIApps
`-- ChatServer
    |-- include
    |   |-- AIUtil
    |   |   |-- AIHelper.h      //内部封装curl去访问对阿里的模型
    |   |   |-- ImageRecognizer.h   //内部封装openncv等接口进行图像识别操作
    |   |   |-- MQManager.h    //封装消息队列有关的线程池(消费者生产者相关函数)
    |   |   `-- base64.h       //三方库,用于解码前端传进来的图片base64数据
    |   |-- ChatServer.h       //包装多个业务相关的映射表
    |   `-- handlers
    |       |-- AIMenuHandler.h        //有关菜单页面
    |       |-- AIUploadHandler.h           //有关图像识别页面
    |       |-- AIUploadSendHandler.h       //有关图像识别业务
    |       |-- ChatEntryHandler.h   //有关登录界面
    |       |-- ChatHandler.h    //有关AI聊天界面
    |       |-- ChatHistoryHandler.h  //有关AI聊天界面的同步历史数据业务
    |       |-- ChatLoginHandler.h   //有关登录界面登录业务
    |       |-- ChatLogoutHandler.h   //有关菜单界面登出业务
    |       |-- ChatRegisterHandler.h  //有关注册界面注册业务
    |       `-- ChatSendHandler.h   //有关AI聊天界面的聊天业务
    |-- resource
    |   |-- AI.html       //AI聊天前端页面
    |   |-- NotFound.html     //鉴权失败返回的前端页面
    |   |-- entry.html      //登录前端页面
    |   |-- menu.html      //菜单前端页面
    |   `-- upload.html      //图像识别页面
    `-- src
        |-- AIUtil
    |   |   |-- AIHelper.cpp      //内部封装curl去访问对阿里的模型
    |   |   |-- ImageRecognizer.cpp    //内部封装openncv等接口进行图像识别操作
    |   |   |-- MQManager.cpp     //封装消息队列有关的线程池(消费者生产者相关函数)
    |   |   `-- base64.cpp        //三方库,用于解码前端传进来的图片base64数据
    |   |-- ChatServer.cpp        //包装多个业务相关的映射表
        |-- handlers
    |       |-- AIMenuHandler.cpp        //有关菜单页面
    |       |-- AIUploadHandler.cpp         //有关图像识别页面
    |       |-- AIUploadSendHandler.cpp     //有关图像识别业务
    |       |-- ChatEntryHandler.cpp  //有关登录界面
    |       |-- ChatHandler.cpp    //有关AI聊天界面
    |       |-- ChatHistoryHandler.cpp  //有关AI聊天界面的同步历史数据业务
    |       |-- ChatLoginHandler.cpp  //有关登录界面登录业务
    |       |-- ChatLogoutHandler.cpp  //有关菜单界面登出业务
    |       |-- ChatRegisterHandler.cpp  //有关注册界面注册业务
    |       `-- ChatSendHandler.cpp   //有关AI聊天界面的聊天业务
        `-- main.cpp       //用于线程池、服务初始化
更详细内容

本项目专栏依然是只分享在知识星球里。

详细的 各个文件的讲解:

w3.jpg

流程讲解:

w4.jpg

AI开发的各种细节

w5.jpg

项目难点强调:

w6.jpg

简历写法 和 面试问题,做完项目可以直接写到简历上!

w7.jpg
答疑

本项目在知识星球里为 文字专栏形式,大家不用担心看不懂,星球里每个项目有专属答疑群,任何问题都可以在群里问,都会得到解答:

w8.jpg
获取本项目专栏

本专栏仅为星球内部专享,大家可以加入知识星球里获取,在星球置顶一:

加入后可以获取全部项目专栏和八股资料 包含: 12个CPP项目、4个Java项目、2个Go项目,2个前端、1个测开项目、秋招投递表、面试突击八股文(后续会持续更新AI应用类项目)。

w9.jpg

w10.jpg

加入知识星球,还可以向卡哥1v1提问,改简历等等。

这里给出十元代金券,加入后如果感觉不值得,三天内知识星球APP右上角退出,直接全额退款! 无任何套路。



加入知识星球后,加如下微信,发送支付截图,拉你到星球交流群:

Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

Archiver|手机版|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网

GMT+2, 2025-10-3 00:15 , Processed in 0.132722 second(s), 31 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表