自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

读万卷书 行万里路

我是人间惆怅客,知君何事泪纵横,断肠声里忆平生(纳兰容若).

  • 博客(248)
  • 收藏
  • 关注

原创 LangChain:输出封装OutputParser

LLM模型的输出通常都是字符串形式,Langchain中的输出封装`OutputParser`可以将其转化解析成结构化对象。

2024-04-24 10:53:14 522

原创 Langchain:模型I/O封装

LangChain是一个大语言模型(LLM)的应用开发框架(SDK),可以帮助开发人员快速搭建大模型应用。在Python上可以使用如下命令安装Langchain。

2024-04-13 20:14:53 983

原创 LLM:检索增强生成(RAG)

其基本思想是利用信息检索的技术,从大规模语料库(存储在向量数据库)中检索出与当前任务相关的文本片段,并将这些文本片段作为输入提供给生成模型,以引导生成模型产生更准确、更相关的文本输出。通过预训练的方式,GPT模型能够学习得到通用的文本表示,从而在各种自然语言处理任务中表现出色,包括文本生成、文本分类、问答等。简单地说,嵌入(Embedding)思想可以视为一种尝试通过用向量来表示所有东西的“本质”的方法,其特性是“相近的事物”由相近的数表示。参数调整输出的文本向量的维度。

2024-04-03 18:16:02 875

原创 LLM:函数调用(Function Calling)

虽然大模型能解决很多问题,但大模型并不能知晓一切。比如,大模型不知道最新消息(GPT-3.5 的知识截至 2021年9月,GPT-4 是 2023 年12月)。另外,大模型没有“真逻辑”。它表现出的逻辑、推理,是训练文本的统计规律,而不是真正的逻辑,所以有幻觉。所以大模型需要连接真实世界,并对接真逻辑系统。这就需要用到“函数调用”。让用户能够使用高效的外部工具、与外部API进行交互。函数调用(Function Calling)可以。在使用GPT模型进行函数调用时,需要用到。

2024-03-31 18:39:09 533

原创 JSON Schema及其用法

本篇主要介绍JSON Schema的基本语法,必要时会使用python代码来验证。JSON Schema是一种用于描述的规范,可以用来定义JSON数据对象的结构、格式和约束条件。通过JSON Schema,可以对JSON数据进行验证、校验和文档化,确保数据的正确性和完整性。

2024-03-30 17:30:34 1128

原创 GPT:多轮对话并搭建简单的聊天机器人

多轮对话能力至关重要,它不仅能深化交流,精准捕捉对方意图,还能促进有效沟通,增强理解。在智能客服、教育辅导等领域,多轮对话更是提升服务质量、增强用户体验的关键。

2024-03-28 15:30:39 915 2

原创 LLM: Prompt的使用

本文用的LLM是openai的gpt系列。Prompt是输入给AI模型的文本或语句,用来引导大模型(Large Language Model, LLM)生成相关的输出。好的prompt可以提高大模型输出的准确性和可靠性。。

2024-03-25 19:58:28 905

原创 Fabric2.2:在有系统通道的情况下搭建应用通道

Fabric-SDK-GO的当前版本没有办法在没有系统通道的情况下创建应用通道,而Fabric的最新几个版本允许在没有系统通道的情况下搭建应用通道。为了解决这个矛盾并使用Fabric-SDK-GO完成后续的项目开发,所以只能将Fabric做降级。出现这种错误是因为在docker配置文件中指定了系统通道文件路径,docker容器会自己创建相关文件。本篇博客不会完整地介绍整个系统通道的搭建过程,这里主要是为了配合使用Fabric-SDK-GO。接下来使用如下命令创建应用通道并配置各个组织的锚节点。

2024-01-12 17:15:32 1243

原创 Fabric:使用GoLand+Fabric-SDK-Go操作Fabric网络(附代码)

本篇博客主要记录使用[email protected]操作FabricV2.2.10网络的整体代码及错误记录。涉及创建通道、安装及实例化链码、链码执行等过程。

2023-12-20 13:22:30 1542 5

原创 Fabric:链码的部署及执行

Tips:peer lifecycle chaincode package命令只是将链码打包成一个tar格式的文件,这个过程不需要与具体的peer节点交互,因此这个命令的执行不需要事先绑定节点。Fabric中链码的部署一般包括以下步骤:编写链码->打包链码->安装链码->实例化链码->部署链码等。Tips: 虽然在fabric_test网络中创建了3个peer节点,但链码不一定需要在所有peer节点上都安装。安装链码主要负责将将链码部署到每个需要执行链码的Peer节点上。查看peer节点已经安装的链码。

2023-12-06 18:21:43 1406

原创 Fabric:创建应用通道

两部分需要频繁的设置环境变量,尤其是当需要添加的peer节点越多时,整个过程比较繁琐并且容易出错。并且给组织添加锚节点的时候也需要执行很多命令。Tips:在执行这条命令的时候要保证环境变量FABRIC_CFG_PATH为空值,若不为空,需要使用-configPath参数指定。通道创建完成后,需要将orderer节点和peer节点加入都通道中。在通道配置信息中包含了每个组织的锚节点信息,每个通道都可以通过使用。这里一共有3个peer节点要添加到通道上,这里仅以。文件来完成节点的添加及锚节点的设置。

2023-12-02 21:34:14 590

原创 Fabric:搭建自定义网络

可以根据要搭建的网络的需求在在文件中修改相关的配置。两个组织:Org1, Org2。Org1中有2个peer节点,而Org2中有2个peer节点,另外还有1个orderer节点。

2023-11-28 17:14:43 1643

原创 Fabric: 使用InvokeChaincode实现跨通道数据访问

因为工作中遇到一些问题考虑使用Fabric的跨通道链码调用方法InvokeChaincode()来解决,这篇文章主要是记录以下在Fabric测试网络中InvokeChaincode()的使用过程及遇到的问题。

2023-11-09 17:57:06 627 5

原创 Go:如何在GoLand中引用github.com中的第三方包

本篇博客主要介绍如何在GoLand中引入github.com中的第三方包。

2023-11-07 19:29:11 2414 1

原创 Go语言:数组和切片

Python中的数组(这里指的是List类型)及其切片Slice基本相同,但在Go语言中这两者差别很大。

2023-10-31 19:00:23 138

原创 Hyperledger Fabric搭建测试网络

本文使用的Fabric版本:V2.5.4Ubuntu系统:16.04LTS前序文章已经详细介绍了如何安装部署Hyperledger Fabric系统,这里不再赘述。本篇文章主要介绍如何使用Fabric的测试网络。为了方便,。

2023-10-26 19:45:00 1645 5

原创 Ubuntu系统下配置安装区块链Hyperledger Fabric(新手小白篇)

有些安装过程比较简单的,不会详细赘述。主要还是集中在Hyperledger Fabric的配置上。本篇主要介绍在Ubuntu系统上安装Hyperledger Fabric的过程。这里使用的Ubuntu:16.04 LTS。

2023-10-15 19:13:20 1412

原创 布隆过滤器及其用法

布隆过滤器(Bloom Filter, BF)是由Howrad Bloom在1970年提出的一种具有高效时间和空间效率的二进制向量数据结构,用来检测一个元素是不是属于这个集合。注意,布隆过滤器只判断是否出现在集合中,无法给出元素在集合中的具体位置。

2023-10-07 17:10:10 166

原创 线性插值方法介绍及图像缩放

双线性插值,是连个变量的插值函数的线性插值扩展,其核心思想是在两个方向分别进行一次线性插值。下面是一段使用双线性插值方法对图片像素进行修改的方法。假设现在想知道未知函数。

2023-09-18 11:31:59 243

原创 数字水印技术介绍

数字水印,即通过某种算法,在不影响原有多媒体价值及使用的前提下,将标识信息嵌入到多媒体文件中的技术。数字水印利用人体感官自身的不敏感性和信息本身存在的冗余,采用硬件或软件的方法将图像、文本等一切可以作为标识信息的数字信号与原始载体融合并深深隐藏其中。并且在必要时可检测或提取秘密信息。数字水印技术是一种被动保护工具,只能标记数据,无法阻止原始数据的非法使用。不可感知性:从感官的角度,在多媒体作品中嵌入隐藏信息会造成原始数据的改变,但这种改变光凭听觉或视觉是不会察觉到的。安全性:数字水印的信息不可伪造。

2023-09-11 14:35:48 653

原创 机器学习:最大熵模型

给定训练集Tx1y1x2y2xNyNT{(x1​y1​x2​y2​xN​yN​)},现在需要利用最大熵原理构建一个分类模型。经验分布在给定数据集上,联合概率分布PXYP(X,Y)PXY和边缘概率分布PXP(X)PXPXxYyvXxYyNPXxYyNvXxYy​PXxvXxNPXxNvXx​其中,vXxYyv(X=x,Y=y)vXx。

2023-08-23 19:00:00 575

原创 机器学习:隐马尔可夫模型(HMM)

隐马尔可夫模型是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列,再由各个状态生成同一个观测从而产生观测随机序列的过程。隐藏的马尔可夫链随机生成状态序列,而每一个状态又生成一个观测。

2023-08-12 15:05:15 858

原创 EM算法推导--三硬币模型推导过程

本篇博客主要介绍李航《统计学习方法(第2版)》中讲解EM算法涉及到的三硬币模型案例,原文中该模型的推导过程被省略了。

2023-08-09 17:32:52 392

原创 机器学习:马尔可夫模型

考虑一组随机变量序列XX0X1XtXX0​X1​Xt​,其中XtX_{t}Xt​表示时刻ttt的随机变量,并且每个随机变量XtX_{t}Xt​的取值集合相同,称为状态空间SSS。SSS可以是离散的,也可以是连续的。假设在时刻000的随机变量X0X_{0}X0​遵循概率分布PX0π0PX0​π0, 即为初始状态分布。若某个时刻t≥1t\ge1t≥1的随机变量XtX_{t}Xt​。

2023-08-05 11:12:42 920

原创 区块链:可验证随机函数

可验证随机函数(Verifiable Random Function,VRF)本质上还是一类具有验证功能的伪随机函数。对于一个特定的输入mmm以及输入者的私钥SKSKSK,VRF会输出一个随机数resultresultresult以及一个证明proofproofproof,验证者可以通过输出的随机数、证明和输入这三部分验证出随机数是否由该输入产生。在这个过程中,不必暴露输入者的私钥。

2023-07-31 17:37:13 646

原创 区块链:哈希算法与一致性哈希算法

哈希算法是指通过哈希函数(Hash Function)对任意长度的输入数据(比如文件、消息、数字等)进行转换,生成一个固定长度的哈希值(Hash Value)的过程。在区块链中,哈希算法常用于区块的数据验证和区块链的安全性保证。抗冲突(collision-resistance): 即不同的输入不能产生相同的输出;信息隐藏性(information hiding): 即无法通过哈希函数的输出反推出其输入;

2023-07-13 16:54:12 2140 2

原创 MySQL:触发器

触发器是一种特殊的与表事件相关的存储过程,其执行不是由程序调用,也不是手工启动,而是由事件触发。触发器经常用于加强数据的完整性约束和业务规则等。也可以用于强制引用完整性,以便在多个表中添加、更新或删除行时,保留在这些表之间所定义的关系。

2023-07-09 21:01:53 373

原创 区块链:对称加密、非对称加密和数字签名

对称加密,指的是信息发送者和接收者通过使用的相同的密钥来完成数据的加密和解密。常用的对称加密算法有:AES、DES、3DES等。非对称加密,主要是依据一组唯一性的密钥完成,即公开密钥和私有密钥。两个密钥之间存在数学关联性,信息发送者使用公钥对数据进行加密后,接收者只可以通过对应的私钥进行解密。在非对称加密中,信息收、发者之间无需进行密钥交换。常用的非加密算法主要有:RSA算法、Diffie-Hellman算法等。

2023-07-01 15:43:00 2677 2

原创 Python网络编程:socket包的用法

python网络编程

2023-06-25 16:26:17 632

原创 MySQL:存储过程

本篇博客主要介绍MySQL中的存储过程及触发器的用法。

2023-05-20 00:44:58 800

原创 Python:Pandas对象的深浅拷贝

这里仅以DataFrame为例进行说明。Pandas版本:1.5.3。

2023-03-19 20:42:55 2526 1

原创 模型解释性:PFI、PDP、ICE等包的用法

本篇主要介绍几种其他较常用的模型解释性方法。

2023-02-28 13:42:18 1982 1

原创 利用Python实现局部异常因子(LOF)的计算

局部异常因子(Local Outlier Factor,LOF)算法是目前比较常用的离群点检测算法,该算法通过一种模糊的手段来判断数据对象是否为异常点。这里仅介绍使用sklearn包中的LocalOutlierFactor的用法。

2023-02-23 15:21:00 1344 2

原创 模型解释性:SHAP包的使用

本篇博客介绍另一种事后可解释性方法:SHAP(SHapley Additive exPlanation)方法。

2023-02-13 15:42:12 2598

原创 Pyspark机器学习:模型评估(ml.Evaluation包的使用)

本篇博客主要介绍pyspark.ml.Evaluation包的使用。

2023-02-07 20:51:45 1180

原创 模型解释性:Lime包的使用

对于每一个输入实例,LIME首先利用该实例以及该实例的一组近邻数据训练一个易于解释的线性模型来拟合待解释模型的局部边界,然后基于该线性模型解释待解释模型针对该实例的决策依据,其中,线性模型的权重系数直接体现了当前决策中该实例的每一维特征的重要性(可以只针对重要特征进行解释)。基于复杂数据挖掘方法构建的预测模型,通常存在“黑箱问题”,导致其可解释性与可利用性降低。是一类可解释的模型,即简单模型的一个集合;是可选的正则项,用于控制模型复杂度。可解释的简单模型(一般为线性模型)是扰动样本与预测样本。

2023-02-06 21:17:56 2397 3

原创 机器学习:Python实现多标签分类(Multi-label Classification)

传统的多分类算法是对一个训练样本仅标记一个类别标签。而多标签分类(Multi-label Classification, MLC)是指对每个训练样本分配一个或一个以上的类别标签。其数学模型如下:给定一个ddd维输入空间XX1X2XdXX1​X2​Xd​和一个输出标签Yλ1λ2λqq1Yλ1​λ2​λq​q1。多标签实例可以定义为一对xy(x,y)xy,其中xx1x2xd∈Xxx1​x2。

2023-02-04 22:32:30 3636

原创 Python进行因子分析

因子分析法(Factor Analysis)是一种利用降维的思想,从研究原始变量相关矩阵内部的依赖关系出发,把一些具有错综复杂关系的变量归结为少数几个综合因子的一种多变量统计分析方法。其优势在于不仅可以在减少大量指标分析的工作量的同时保证分析结果的合理性,还能够使得提取的公因子更具有对研究对象的解释性和客观性。设随机变量XX1X2XpXX1​X2​Xp​, 其中EXμDX∑EXμDX∑;同时有几个难以观测的随机变量FF1F2Fmm。

2023-01-28 20:52:17 1766

原创 数据清洗:函数依赖及其发现算法(附Python代码)

最经典的函数依赖发现算法为TANE算法,其具体原理及Python代码可以查看参考文献1、2、3。一个函数依赖(Functional Dependency)关于这个算法我也有些内容没有完全弄懂。,那么这个函数依赖在关系。,满足一下条件:如果。

2022-12-17 13:59:12 876 5

原创 Tableau:详细表达式(LOD表达式)的计算过程

很早以前写过一篇关于Tableau详细级别表达式的博客,具体可以参考https://blog.csdn.net/yeshang_lady/article/details/104945361。前序博客重点在于介绍三种详细级表达式,这篇博客主要介绍使用详细级别表达式时的注意事项。  在未支持详细表达式之前,Tableau表达式中并不能同时支持聚合计算和非聚合计算。如下图:上述表达式会提示:“无法将聚合和非聚合参数与此函数混用”。而有了详细级别表达式之后,就可以实现上述功能了,如下图:所以LOD表达式

2022-12-03 19:16:11 1515

空空如也

空空如也

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

TA关注的人

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