logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

AI 大模型接入 SDK —项目概述

用户调用│▼│├──▶ SessionManager::addMessage() (保存用户消息)├──▶ SessionManager::getHistoryMessages() (获取历史)│▼│▼│▼HTTP POST ──▶ 模型 API 服务端│▼JSON 响应解析│▼返回 assistant 回复│▼SessionManager::addMessage() (保存回复)

#数据库#服务器#c++ +2
AI大模型接入SDK—LLMProvider实现

public:// 初始化模型(纯虚函数)// 检查提供方是否可用// 获取提供方名称/描述// 发送消息——全量返回// 发送消息——流式返回protected:// 提供方是否可用// API 密钥// API 端点地址Provider模型名称API 路径协议格式认证方式OpenAI 标准OpenAI 新格式OpenAI 兼容用户指定/api/chatOllama 原生无。

#linux#c++#网络
AI大模型接入SDK—管理器设计

管理器核心职责设计亮点SQLite 数据持久化参数化 SQL、线程安全、RAII会话生命周期 + 缓存双层存储、内存优先、数据恢复LLMManager模型注册与路由策略模式分发、两阶段初始化三者关系依赖实现数据持久化ChatSDK组合和LLMManager,协调会话管理与模型调用LLMManager独立管理 Provider,不依赖其他管理器协作核心:ChatSDK 是协调者,通过 Session

#数据库#c++#linux +1
AI大模型接入SDK—SDK设计

维度说明角色SDK 统一入口、协调者(Facade)核心方法initModels(初始化)、(全量)、(流式)设计模式外观模式(Facade)、代理模式、模板方法模式(变体)成员组合LLMManager(模型管理)+(会话管理)+(配置缓存)初始化策略两阶段:注册 → 初始化消息发送流程添加用户消息 → 获取历史 → 调用模型 → 添加助手回复 → 更新时间戳ChatSDK 的核心价值简化外部调用

#服务器#c++#linux
C++ 特殊类设计

private:// 只声明,不实现 + 设为私有需求核心方法不能拷贝禁拷贝构造 + 赋值重载只能在堆上构造私有 + 静态工厂返回 new只能在栈上禁 new + 静态工厂返回栈对象不能被继承final / 构造私有单例模式饿汉(启动创建)/ 懒汉(首次创建)

#c++#开发语言
C++11智能指针与 RAII

public:​​​// 禁止拷贝构造// 禁止拷贝赋值​private:T* _ptr;

#c++
C++11智能指针与 RAII

public:​​​// 禁止拷贝构造// 禁止拷贝赋值​private:T* _ptr;

#c++
哈希表的实现与封装

在泛型哈希表设计中,存储的数据类型 T 不一定是 key 本身,比如 map 存的是 pair<K,V>,而 set 存的是 K。这样同一套 HashTable 可以通过不同的 KeyOfT 支持 map 和 set,体现了策略模式的思想,提高了代码的通用性和扩展性。因此引入 KeyOfT,将“如何从数据中提取 key”这一逻辑抽象出来,实现数据结构与数据内容的解耦。KeyOfT 是一个仿函数,用

#c++
到底了