# AIChatSdk **Repository Path**: Axurea/aichat-sdk ## Basic Information - **Project Name**: AIChatSdk - **Description**: 这是一个基于 C++ 的 AI Chat 系统项目,通过统一接口封装接入 DeepSeek、OpenAI、Google Gemini 以及本地 Ollama 模型,实现多模型可切换的对话服务。项目采用前后端分离架构,使用 CMake 构建,支持在 Linux 服务器环境下部署与运行,重点探索如何将 AI 能力真正落地到工程实践中。 - **Primary Language**: C++ - **License**: CC-BY-4.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-14 - **Last Updated**: 2025-12-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI Chat SDK ## 项目概述 人工智能,尤其是以大语言模型(LLM)为代表的生成式 AI,正在以远超以往任何一轮技术变革的速度,重塑软件工程的工作方式。 从需求分析、代码生成到自动化测试与运维,AI 正在逐步接管“重复性强、规则明确”的工作内容。 在这样的背景下,**真正的分水岭已经不在于“是否会被 AI 取代”,而在于“是否能够使用 AI 解决问题”**。 不理解 AI、不接触 AI、不尝试将 AI 融入工程体系,本身就意味着在未来的软件生态中被边缘化。 本项目正是在这样的背景下产生的: 它不是一个简单的 API 调用示例,而是一个**以工程实践为导向的 AI Chat 系统**,尝试回答以下问题: - 如何在真实系统中接入多种主流大模型? - 如何在 C++ 后端中封装和管理不同模型的调用差异? - 如何构建一个可部署、可扩展、可维护的 AI 服务,而不仅仅是“能跑起来”? 项目通过对 **DeepSeek、OpenAI、Google Gemini 以及本地 Ollama 模型**的统一封装,构建了一个多模型可切换的 AI 对话服务。同时结合前后端分离架构、CMake 构建体系以及完整的运行环境部署流程,强调 AI 系统的**工程完整性**。 与其对 AI 时代感到焦虑,不如主动理解它、使用它,并将其转化为自己的工程能力。 **未来淘汰人的从来不是 AI,而是拒绝使用 AI 的人。** > 在 AI 时代,你觉得你的工作未来会被 AI 替代吗? --- ## 项目地址 - **在线演示地址** http://101.34.67.163:8080/ - **Gitee 源码仓库** https://gitee.com/Axurea/aichat-sdk - **CSDN 技术专栏(开发记录)** https://blog.csdn.net/m0_74271757/category_13098620.html --- ## 软件架构 项目采用 **前后端分离架构**: - 后端:使用 **C++** 实现 AI 模型接入、请求封装与业务逻辑 - 前端:使用 **HTML / CSS / JavaScript** 实现对话界面与交互逻辑 通过对 AI 模型调用接口进行统一抽象,降低不同模型之间的耦合度,提升系统可扩展性与维护性。 --- ## 项目目录结构 ```text aichat-sdk ├── AiModel ├── ChatServer ├── TestChatServer ├── web │ ├── index.html │ ├── css │ └── js ├── README.md ├── README_EN.md └── build ``` ## 模块说明 ### AiModel `AiModel` 目录包含**项目的全部代码实现**: - 后端 C++ 核心逻辑 - 前端页面代码 - `main.cpp` 程序入口 - AI API 接口封装(DeepSeek / OpenAI / Gemini / Ollama) - 测试相关代码 适用于:完整开发、源码阅读与功能验证。 ------ ### ChatServer `ChatServer` 目录为**可部署运行版本**: - 完整前端功能 - `main.cpp` - CMake 构建脚本 - 可执行文件(若已编译) 不包含测试代码,但功能完整,适合直接部署。 ------ ### TestChatServer `TestChatServer` 目录用于**测试与验证**: - 精简版前端功能 - `main.cpp` - CMake 构建脚本 - 可执行文件 前端功能少于 ChatServer,主要用于接口与模型测试。 ------ ## 构建方式 项目使用 **CMake** 进行构建: ```bash mkdir build cd build cmake .. make ``` ## 已接入的 AI 模型 - **DeepSeek**:deepseek-chat - **OpenAI**:gpt-4o-mini - **Google Gemini**:gemini-2.0-flash - **Ollama(本地部署)**:deepseek-r1:1.5b ------ ## 代理与网络说明(重要) 以下模型 **必须通过代理访问**: - OpenAI(ChatGPT) - Google Gemini 项目中使用或参考的代理资源: - https://github.com/jichangyiyuan/yiyuan - https://xfltd.win/#/shop ⚠️ 使用前请确保代理来源合法、安全,并遵守相关服务条款与当地法律法规。 ------ ## 技术栈与工具 ### 后端与构建 - C++ - CMake / Make ### 第三方库(链接库) - **jsoncpp**:JSON 数据解析 - **fmt**:字符串格式化 - **spdlog**:日志系统 - **gflags**:命令行参数解析 - **OpenSSL::SSL / OpenSSL::Crypto**:HTTPS 与加密通信 - **sqlite3**:轻量级本地数据库 ### 前端 - HTML / CSS / JavaScript ### 接口调试工具 - **Apifox**:接口调试与请求验证 ------ ## ChatGPT Provider 文件说明 - `ChatGPTProvider.cpp` 简化请求体版本,请求字段较少,部分接口或模型可能无法正常响应。 - `ChatGPTProvider_revisedEdition.cpp` 完整请求体版本,字段齐全,兼容性更好。 **当简化版不可用时,建议直接使用该版本。** ------ ## 开发环境 - 云服务器:腾讯云 - 操作系统:Ubuntu 22.04 LTS - 开发工具:VS Code + Trae - 开发方式:SSH 远程开发 ------ ## 参与贡献 欢迎 Fork 项目、提交 Issue 或 Pull Request,共同完善该项目。