自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

kestiny的专栏

抬头望天,脚踏实地

  • 博客(71)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 LangChain入门指南:调用DeepSeek api

LangChain是一个用于构建大语言模型(LLM)应用的开发框架,支持链式调用、记忆管理、工具集成等。LangChain大幅降低了LLM应用开发门槛,确实是相当简单易用。并且为我们快速替换LLM提供了非常便利的基础。

2025-04-09 23:14:51 325

原创 使用DeepSeek API进行情感分析:超简单

情感分析”问题,是指我们根据一段文字,去判断它的态度是正面的还是负面的。电商评论分析社交媒体舆情监控客户服务质量评估维度传统方法LLM方法开发速度慢(需数据收集+训练)快(即时API调用)准确率领域内高,跨领域低泛化性强,领域适应快硬件需求CPU即可运行小模型需要GPU/API调用适用场景固定领域的大规模分析灵活需求、小样本场景成本前期训练成本高,后期推理成本低按API调用次数计费。

2025-03-31 22:05:40 1113

原创 使用 DeepSeek 调用 Function Calling:从入门到实践

Function Calling 通过让AI模型无缝调用外部工具或服务,扩展其能力边界,实现从意图识别到执行落地的闭环,将大语言模型转化为可编程的智能执行中枢。

2025-03-25 06:32:12 1011

原创 从零到一开发一款 DeepSeek 聊天机器人

通过本文,你已经完成了一个智能聊天机器人的开发,从环境配置到核心代码实现,再到功能扩展。成果实现了一个基于 DeepSeek API 的智能聊天机器人。支持多轮对话和基本的错误处理。改进方向添加图形用户界面(GUI),提升用户体验。集成更多功能,如语音输入/输出、知识库查询等。优化性能,支持高并发请求。希望这篇文章能为你提供清晰的开发思路和实用的代码示例。如果你有任何问题或建议,欢迎在评论区留言!

2025-03-22 22:32:10 2600

原创 接入DeepSeek API,看这一篇就够了,超详细

DeepSeek API 是一个强大的自然语言处理工具,提供了文本生成、语义分析、对话系统等功能。无论是开发智能客服、聊天机器人,还是进行文本分析与生成,DeepSeek API 都能为你提供强大的支持。本文将带你从零开始,一步步完成 DeepSeek API 的接入,并编写你的第一个 AI 程序。通过本文,你已经完成了从注册 DeepSeek 账号到编写第一个 AI 程序的完整流程。DeepSeek API 的功能远不止于此,你可以继续探索其文档,尝试更多高级功能,如对话系统、语义分析等。

2025-03-20 23:35:34 1043

原创 索引不是银弹

数据库索引不是性能优化的万能良药,使用不好还会导致性能更差的情况发生!

2024-01-13 07:18:40 976

原创 MySQL索引 Error1071

MySql索引的常见错误:Error 1071:Specified key was too long,他的解法您知道多少种呢?

2023-11-25 22:28:50 2440

原创 使用QPlainTextEdit完成一个代码编辑器

用QPlainTextEdit、CommentHighlighter、QCompleter组合实现一个完备的代码编辑器,包括功能:文本编辑、显示行号、高亮编辑去、代码自动补全等。

2022-09-22 20:30:00 2013

原创 前端跨域的原则

前端跨域的原则与避免途径1.跨域  跨域资源共享(Cross-Origin Resource Sharing, CORS)是为解决 Ajax 技术难实现跨域问题而提出的一个规范,这个规范试着从根本上解决安全的跨域资源共享问题。2.option请求  option请求是一种探测性的请求,通过这个方法,客户端可以在采取具体资源请求之前,决定对该资源采取何种必要的措施。3.跨域解决方案  若要允许跨域,传统的解决方案是服务器端设置 Access-Control-Allow-Origin: *,但是这是

2020-07-16 22:40:51 456

原创 04-MyBatis缓存

MyBatis的缓存缓存介绍为什么使用缓存  在数据库使用的过程中,有一些数据的查询频次远大于修改,甚至是不会进行修改的,如果将用户的这部分数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。因此,缓存是非常有必要的,但是也要注意,对于使用频次不高,或者经常修改的数据进行缓存也会加大系统开销。MyBatis缓存  MyBatis包含一个非常强大的查询缓存特性,它可以非常方便地定制和配置缓存。MyBatis默认

2020-07-16 22:40:22 243

原创 03-哈希表

哈希表什么是哈希表  哈希表(Hash table,也叫散列表),是根据关键码值(Key)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。  给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数。什么是哈希冲突(collision)  在创建哈希表的过程中,若给定两个不

2020-07-14 21:50:27 223

原创 03-MyBatis动态SQL

MyBatis动态SQLMyBatis的动态SQL比较多,但是常用的也就几个,包括if,where,set,choose.ifif语句是条件判断,例如判断type不为空,则增加type语句<if test="type != null">type=#{type}</if>where在查询语句中,我们经常需要根据给定的不同数据类型,查询不同的语句,动态where此时正当用。<select id="select" resultType="person">

2020-07-04 19:51:56 249

原创 02-MyBatis基本使用

MyBatis基本使用MyBatis是一个半自动化的ORM(对象关系映射)框架,她的核心就在于Sql语句和对象的关系映射上面。总的来说,MyBatis的对象关系映射主要有两种方式:xml配置文件和注解方式。xml配置文件方式1.namespace命名空间MyBatis的映射文件内容都包含在一个namespace中,这个namespace中的名称必须和Mapper接口名称一致,并且还包括完整的包名。比如:package com.kestiny.mybatis.mapper;public inte

2020-07-04 19:51:16 212

原创 01-MyBatis环境配置

MyBatis环境配置MyBatis是一款优秀的持久层框架,她是半自动的化的ORM(Object Relationship Mapping)框架。1.准备工具jdk 13.0.2maven 3.6.3MyBatis 3.5.4junit 4.13logback 1.2.3MySQL-connector-java 8.0.20slf4j 1.7.252.创建一个空的maven项目可以使用IDE创建,比如IDEA或者Eclipse之类的;也可以使用命令行创建mvn arche

2020-07-04 19:41:21 287

原创 Python爬虫---爬取数据(上)

又是女票,拿了3万多条的13年某地区的公司信息,但是三年过去了,工商局的注册信息发生了巨大变化,有的注册资本增加了,有的公司老板变多了,更有不少公司不存在了,因此,需要一份最新的信息以便于她进行使用。 原先是想用工商局网站上进行爬取的,但是发现工商局网站好多验证信息,毕竟我这Python初学咋练的,是在是怕怕啊!幸好,找到一个名为天眼查的网站,这个网站没有验证,可以直接查询,因此就拿这个网站

2020-07-03 22:25:09 38314 23

原创 数据结构与算法学习-02栈与队列

栈与队列  栈与队列,在数据结构中也属于线性表。栈(Stack)栈的实现逻辑  栈是一种特殊的表,其特殊在于插入与删除操作只能在末端(也就是栈顶)进行,因此栈是**后进先出(LIFO)**的线性表。栈的操作也就包含了出栈(Pop),入栈(Push)和获取栈顶元素(Top)。栈的实现方式有两种,一种是数组形式的栈(如下图),另外一种是链表形式的栈。栈的时间复杂度操作时间复杂度访问O(n)搜索O(n)插入O(1)删除O(1)队列(Queue)

2020-07-03 22:08:25 198

原创 数据结构与算法学习-01数组与链表

数组与链表  数组与链表,在数据结构中都属于线性表。所谓线性表,是指所有元素都排列在一个维度上;对其中的任意一个元素来说,除了头和尾,都有且只有一个前驱元素和一个后继元素。数组数组的实现逻辑储存:数组储存在连续的内存中。访问:因为数组存储的内存连续,因此支持随机访问。所谓随机访问,也就是直接下标操作。增加:因为数组内存的连续性,因此若要增加元素,为保持数组的线性,必须把此元素之后的所有元素依次后移。删除:删除同理增加元素,必须把元素依次前移,以保证数组的线性和完整性。数组的时间复杂度

2020-07-03 22:04:03 593

原创 Python tkinter和exe打包

接上篇。   爬虫程序的核心,爬虫天眼查的公司信息类TianYanCha已经完成了,并且验证可以工作,但是给不是专业方面的人用的话,还要安装Python解释器,还没有界面是挺麻烦的,于是就想写一个简单的界面,然后打包成可执行程序给女票用。tkinter界面  由于我的界面要求很简单,只是输入两个文件路径,一个实时输出信息的文本框,于是没有选择其他的Python界面扩展,只是选择Python的事实界

2020-02-04 16:09:25 15418 8

原创 [笔记]移动语义和完美转发

移动语义和完美转发std::move、std::forwardstd::move是执行转换的函数模板。std::move无条件的将它的参数转换成一个右值。std::move本身不move任何东西,也不产生可执行代码。std::forward是执行转换的函数模板。std::forward当参数被绑定为右值时才将它的参数转换成一个右值。std::forward不转发任何东西,也不产生可执行代码。...

2019-07-25 22:43:48 493

原创 [笔记]右值引用

右值引用左值和右值C++中,左值指的是表达式结束后仍然存在的持久化对象,右值是表达式结束后就不在存在的临时对象。所有的具名变量都是左值,而右值不具名。简单区分左值和右值:左值能够取到地址,而右值不能。int i = 0; // i是左值,0是右值class Widget;W getWidget(){ return Widget();}Widget w = ge...

2019-07-25 22:43:15 195

原创 [笔记]Lambda 表达式

Lambda 表达式Lambda表达式是C++中的语法糖。形式一般Lambda表达式形如:[capture](parameters)->return-type{body}如果没有参数,空的()可以省略。返回值也可以省略。举例:std::sort(x, y, [](float a, float b){return std::abs(a) < std::abs(b);});...

2019-07-22 20:53:24 394

原创 [笔记]2.智能指针

文章目录智能指针std::unique_ptrstd::shared_ptrstd::weak_ptr智能指针原生指针是一款很强大的工具,但是依据进数十年的经验,可以确定的一点是:稍有不慎,这 个工具就会反噬它的使用者。C++11标准中规定了四个智能指针:std::auto_ptr,std::unique_ptr,std::shared_ptr,std::weak_ptr.他们都是用来辅助...

2019-07-16 08:21:36 198

原创 [笔记]转向Modern C++

转向Modern C++优先使用auto推导类型而非显示类型声明auto变量需要在声明时进行初始化 int x1; // 未初始化的int变量,值的不确定的,可能为0,也可能是别的值 auto x2; // 错误,需要初始化 auto x3 = 0; // 完美auto使变量的声明变得简单,甚至仅仅被编译器知道的类型 aut...

2019-07-14 22:14:15 246

原创 [笔记]Modern CMake 3:基本介绍

Modern CMake 3:基本介绍组织项目结构CMake没有统一的项目结构,一些常用原则可以帮助我们组织更好的项目结构:项目内部能够十分方便的读取其他工程;避免项目结构冲突;并行构建.一个典型的例子(仅做参考),假设你的项目叫做project,你的库名为lib,可执行程序名为app:- project - .gitignore - README.md - LICE...

2019-06-08 21:02:15 852

原创 [笔记]Modern CMake 2:基本介绍

Modern CMake 2:基本介绍最低版本CMakeLists.txt的第一行通常都是:cmake_minimum_required(VERSION 3.1)请注意,cmake_minimun_required是不区分大小写的,但根据Modern CMake 1:Modern CMake简介中的正确模式所言,函数名需要使用小写。在CMake3.12中,对最低版本的要求可以是一个区间,...

2019-06-07 20:53:12 826

原创 [笔记]Modern CMake 1:Modern CMake简介

Modern CMake 1:Modern CMake简介运行CMake工程的流程标准选项能做的和不能做的CMake反模式CMake正确模式学习Modern CMake的总结和记录。什么是Modern CMake?指的是CMake3.1+,甚至是CMake3.14+!她是整洁,强大,优雅的,你可以花更多的精力在编码上。CMake3.11+的版本速度上有显著的提升。运行CMake工程的流程...

2019-06-02 11:53:31 2046

原创 [笔记]机器学习之Logistic回归

Logistic回归是一种广义的线性回归,他是一种分类分析方法。Logistic大概也是最常用的分类方法之一。sigmod函数  Logistic中因变量为二分类变量,某个概率作为方程的因变量估计值取值范围为0或者1,因此我们需要一个具有此性质的函数,于是,sigmod函数就进入了我们的视野。   sigmod函数的原型为:   当x=0时,sigmod函数的值为0.5;随...

2018-05-04 18:21:40 464

原创 [笔记]机器学习之线性回归、L1回归、L2回归

  线性回归是机器学习领域里研究最多的算法,至今已有200年研究历史了。线性回归  线性回归可用一条线表示输入值X和输出值Y之间的关系,这条线的斜率的值,也叫系数。最简单的线性回归可表示为y=ax+b。机器学习的目的就是给定数据样本(x,y),利用学习得到a,b。得到a和b后,就可以给定已知的x求出未知的y,这就是机器学习的目的和意思。   进而我们可以推广到多个变量的情况,求得对于...

2018-04-26 20:01:56 8032 2

原创 机器学习之:K-近邻算法

k-近邻算法(简称kNN)是易于理解和实现的算法,也是非常容易掌握的一种机器学习算法。本文是学习Machine Learning in Action一书的成果,在此向著作此书的Peter Harrington 致敬。01 什么是kNN  简单说,kNN算法采用计算不同特征值之间的距离进行分类的算法。kNN算法的模型就是整个训练数据集。当需要对一个未知数据实例进行预测时,kNN算法...

2018-04-21 11:02:49 415

原创 使用Java操作Hadoop API

Hadoop的环境一旦搭建完成,我们就可以进行Hadoop应用开发了,可以进行Hadoop开发的程序语言有多种选择,比如JAVA,python,ruby等等。这里我们选择JAVA语言进行开发(语言无所谓好坏,看你擅长什么喜欢什么了)。因为我选择了JAVA语言,也就选择了eclipse开发工具,这里我用的是eclipse-java-oxygen-R-win32-x86_64,当然,Hadoo

2017-08-08 18:22:37 2818 1

原创 Windows下安装Hadoop(免cygwin)

Hadoop的使用一般都在linux下,但是开发和测试其实是可以在Windows系统上进行的,然而一般的安装方式都是使用cygwin模拟linux系统进行,然后其实已经有大牛解决了这个问题,就是编译出Hadoop在Windows上缺少的库,这样就直接可以不用cygiwn模拟linux了。准备材料1、jdk-8u144-windows-x642、hadoop-2.7.1.tar.gz3、hado

2017-08-08 17:59:20 1150

原创 PyQt5使用QPdfWriter方式写pdf文档

在我之前的一篇博客 Qt5使用QPdfWriter方式写pdf文档 中,详细了讲述了Qt5中使用QPdfWrite而不是使用QPrinter进行pdf文件输出的功能,这里补充一篇只是此功能移植到Python下的使用而已。 直接上代码:from PyQt5.QtCore import (QIODevice, QFile, Qt, QMarginsF, QRect)from PyQt5.QtGui

2017-05-21 11:36:07 6541

原创 PyQt5使用Designer设计UI的两种实现方式

在上一篇博客Python界面库-PyQt5初探中留了一个坑,那就是如何利用Qt的Designer设计出的UI文件。本篇博客就来研究这个问题。请注意:这里只是讲如何使用Ui文件,而不会讲如何设计Ui文件,如何需要学习如何设计Ui的话,请移步到Qt5 GUI编程之类的话题去。一、Qt的方式    使用过Qt,尤其是在visual studio中使用过Qt的应该知道,在编码的过程中Qt会对一些特殊文件进行

2017-05-21 11:21:58 56932 7

原创 Python界面库-PyQt5初探

也许因为本人经常 项目的问题,用到一个新的语言,不能写界面有种莫名的心慌,于是打算研究下Python的UI库。 首先是看了Python的事实上的标准UI库-tkinter,说实话,太丑了太难用了(个人感觉哈,原因后面说)。然后网上了解了情况,发现有PyGTK、wxPython、PyQt等等一大堆的库,各有各的好,各有各 的优势。等等,我看到了什么,PyQt?没错,真的是Qt的Python实现。看过

2017-05-21 08:57:24 32090

原创 Qt5使用QPdfWriter方式写pdf文档

今日,项目中要使用保存pdf文件的功能,于是打算使用Qt完成此功能。 网上搜索了发下,网上大部分前辈使用QPrinter即打印机的方式答应pdf。 这种方式,在qt4成为唯一的选择,然而身为qt5的版本,qt提供了一个独立的pdf文件写入方式, 那就是QPdfWriter。QPdfWriter写pdf的方式,网上很少东西,因此只能去研究文档,自己写了,以下是研究后使用的方案,写出来共大家参考一

2017-05-18 22:27:28 12871 9

原创 Python编辑器sublime text3环境配置

最近在玩Python,以此记录学历的一些东西,也算是激励自己吧。Python安装Python的截止目前最新版本是3.6.1,这里直接就安装最新版本了。 安装过程如下:这里我去除了不想用的部分,各位看官可以根据自己的需求进行选择 下一步:这里一定要勾选上Add Python to environmentvariable,意思是把Python加入到系统的环境遍历里,这样我们就可以直接在编辑器中访问了

2017-05-17 22:59:05 11132 1

原创 Doxgen文档注释:C++

Doxgen的使用包括两个方面,一个是代码的注释规则,另外一个是利用doxgen生成相应的HTML和chm文件。注释规则文件注释 /*! * @file core.h * @brief 核心类core * @author author * @date 2016-11-12

2016-11-12 13:39:38 2396

原创 Python初接触:SQLite和Excel操作

昨日,女票拿了一个Excel文档,里面有上万条数据要进行分析,刚开始一个字段分析,Excel用的不错,还能搞定,到后来两个字段的分析,还有区间比如年龄段的数据分析,实在是心疼她那么的辛苦,于是就想给她程序处理之。当然,我是一直C++和Qt的,当时就想直接Qt+sqlite3写入数据库,然后就各种数据查询就行了,可做起来却发现,她机器上没有Qt环境,没有C++编译器,得,如果配置环境也得几个小时了,可

2016-09-29 15:35:09 4728 1

原创 Qt Drag and Drop

Qt的Darg和Drop的不同的两部分,并且之间可以传递数据信息,是相当的好用的。一下分别讲述。DragDrag的部分,其实很简单,需要重新实现mousePressedEvent方法,数据的放在QMimeData方法中,而Drag事件只是一个简单的QDrag方法,具体实现如下:void XXXX::mousePressEvent(QMouseEvent* event){ QListWidg

2016-06-21 11:30:38 1620

原创 64位程序获取CPUID,不使用汇编指令

最近项目中想使用CPU,硬盘,网卡的ID进行加密授权验证,但是CPU的序列号获取网上都是一些使用内嵌汇编的方式,然后我的是64位程序,微软不支持内嵌汇编指令,只好研究替代方式了。进过查找,发现微软推出了__cpuid和__cpuidex函数替代了汇编指令,于是打算使用。 在网上找到有使用__cpuid获取厂商,family,CPU名称的代码,直接拿来使用了(^~^)。对于获取CPU的ID,网上一直

2016-04-22 12:02:16 9252 3

C语言18个经典问题答录

在C 语言中, 类型转换意味着“把这些二进制位看作另一种类型, 并作相应的对待”; 这是一个转换操作符, 根据定义它只能生成一个右值(rvalue)。而右值既不能赋值, 也不能用++ 自增。

2011-02-21

java基础教程TXT版本

这本书也从另一个角度也给了我深刻的启迪。我刚开始的时候以为Java“只是另一种程序设计语言”。这个想法在许多情况下都是成立的。但随着时间的推移,我对它的学习也愈加深入,开始意识到它的基本宗旨与我见过的其他所有语言都有所区别。

2010-07-27

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除