项目环境的搭建,项目的初步使用和deepseek的初步认识

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

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

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

相关推荐
Chase_______2 小时前
【Python基础 | 第5章】面向对象与异常处理:一文搞懂类、对象、封装、继承、多态
开发语言·python
AI成长日志2 小时前
【笔面试算法学习专栏】链表操作·基础三题精讲(206.反转链表、141.环形链表、21.合并两个有序链表)
学习·算法·面试
小李云雾2 小时前
Python Web 路由详解:核心知识点全覆盖
开发语言·前端·python·路由
曼巴UE52 小时前
Unlua 官方案例
c++·ue5·lua·ue
Westward-sun.2 小时前
OpenCV实战:摄像头实时文档扫描与透视矫正
人工智能·opencv·计算机视觉
V搜xhliang02462 小时前
生成式人工智能、大语言模型在医学教育教学中的前沿探讨
人工智能
枫叶林FYL2 小时前
【自然语言处理 NLP】7.1 机制可解释性(Mechanistic Interpretability)
人工智能·自然语言处理
任小栗2 小时前
【实战干货】Vue3 + WebRTC + SIP + AI 实现全自动语音接警系统(远程流获取+实时ASR+TTS回播)
人工智能·webrtc
算法鑫探2 小时前
2025 图形(蓝桥杯十六届C组程序题 C 题)
c语言·数据结构·算法·新人首发