1.环境搭建
这个项目使用的是字节旗下的trae开发环境
项目开始前首先得连接远程终端,要么是虚拟机要么是云服务器

从远端克隆完头文件后再到本地来编译

编译完成后要将编译好的库文件以及头文件进行安装 安装到系统的根目录 这样以后用可以找到


这样用到的头文件就拷贝到系统的头文件之中了


这样可以看到我们要的头文件就拷贝到了include文件下了 这就是我们需要的头文件
2.项目的初步使用
现在环境搭建好了 现在就可以来简单使用一下ChatSDK了 此时我们要在这个目录下创建一个chatDemo.cpp的文件进行与模型的对话


此时就在这个路径下显示的创建了这个cpp
#include<ai_chat_sdk/ChatSDK.h>//包含聊天SDK头文件
#include<ai_chat_sdk/util/myLog.h>//包含日志头文件
#include<ai_chat_sdk/common.h>//包含公共头文件
#include <cstdio>
#include<iostream>//包含iostream头文件
#include <spdlog/common.h>
void sendMessageStream(ai_chat_sdk::ChatSDK& chat_sdk, std::string& session_id)
{
std::cout<<"-------------------------发送消息-------------------------"<<std::endl;
std::string message;//创建字符串对象 ,用于存储用户输入的消息
std::cout<<"user消息:>"<<std::endl;//输出提示信息 ,提示用户输入消息
std::getline(std::cin, message);//获取用户输入的消息 ,获取用户输入的消息 ,将用户输入的消息赋值给message
chat_sdk.sendMessageStream(session_id, message,[](const std::string& response, bool done){//创建lambda表达式 ,用于处理模型的响应
std::cout<<"assistant消息:"<<response<<std::endl;//输出模型的响应 ,输出模型的响应 ,将模型的响应赋值给response
if(done){//如果done为true,表示模型的响应完成
std::cout<<"-------------------------消息接收完成-------------------------"<<std::endl;//输出消息接收完成信息 ,输出消息接收完成信息 ,将消息接收完成信息赋值给response
}
});
}
int main()
{
bite::Logger::initLogger("aiChatDemo","stdout",spdlog::level::info);//初始化日志 第二个参数指的是把日志输出到控制台
ai_chat_sdk::ChatSDK chat_sdk;//创建聊天SDK对象 初始化
//配置deepseek模型
ai_chat_sdk::APIConfig deepseek;//创建API配置对象 deepseek进行配置
deepseek._apiKey=std::getenv("deepseek_api_key");//获取环境变量中的API密钥 ,获取环境变量中设置deepseek_api_key的API密钥
deepseek._temperature=0.7;//设置温度参数 ,设置温度参数为0.7,控制模型的输出随机性
deepseek._maxTokens=2048;//设置最大令牌数 ,设置最大令牌数为2048,控制模型的输出长度
deepseek._modelName="deepseek-chat";//设置模型名称 ,设置模型名称为deepseek-chat
std::vector<std::shared_ptr<ai_chat_sdk::Config>> configs;//智能指针向量 ,用于存储API配置对象的智能指针
configs.push_back(std::make_shared<ai_chat_sdk::APIConfig>(deepseek));//将deepseek配置对象添加到向量中 ,添加deepseek配置对象的智能指针
chat_sdk.initModels(configs);//初始化模型
std::cout<<"-------------------------创建对话-------------------------"<<std::endl;
std::string session_id=chat_sdk.createSession("deepseek-chat");//创建对话 ,创建对话 ,返回对话ID
int userop=1;
while(true){
std::cout<<"-------------------------1.send_message 0.exit-------------------------"<<std::endl;
std::cin>>userop;//获取用户操作 ,获取用户输入的用户操作 ,将用户操作赋值给userop
if(userop==0){//如果用户操作为0,表示用户输入结束会话
break;//跳出循环 ,结束用户操作
}
getchar();//获取用户输入的换行符 ,获得缓冲区里的回车符
sendMessageStream(chat_sdk, session_id);
}
return 0;
}

这就是整个与deepseek交谈的互动界面内容
上面做好之后还要创建一个CMakeLists.txt这是一个配置文件进行编译和连接的


此时就在这个目录下创建了 build用来包含创建生成文件


在这个路径下cmake ..去找这个刚写的CMakeLists.txt然后进行编译

然后make一下就去找工程下面的Makefile下面的目录 Makefile下面就包含了去编译的步骤

make编译一下后生成可执行文件 这个AIChatDemo就是可执行文件

执行完遇到数据库野指针的问题了
首先通过gbd调试发现是原文第36deepseek_api_key是野指针原因就是我没有配置环境变量导致连
接不上deepseek 所以要去deepseek的官网创建dpi然后将环境变量导入进去

导入完成后即可连接成功

此时chatDemo的入手就到这里
3. deep seek API介绍


通过api接入的话输入这个指令
deepseek接口测试

了解完deepseek的API后接下来我们要用AIPFOX这个软件测试这个API接口

从使用目录找到这个对话补全找到接口的路径来进行测试

这就是接口调用 这是接口调用的请求参数

就是按照deepseek手册来进行接口的测试

还要调整传递给服务器以什么格式来组织的以json上面设置的参数来传递的
还要设置认证参数

这个deepseek_api_key就是在测试环境下设置的本地变量 就相当于你的api key

此时测试发送你是谁这样就会有响应了 这样的是流式发送 大模型会一点点的发送他所获取的信息

这就是非流式反馈 是直接反馈的的 这样就测试完成了 也就是接入成功。