自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 Next中的App Router

在next的13版本中,推出了一个新的App路由,由React Server Components构建,它支持共享布局、内部路由、加载状态、错误处理等。next中也包含一些特殊的文件,这些文件均为一种特殊的component,可以在react中直接使用。和Pages router类似,App router同样使用文件系统的目录结构。nextjs中的目录,可以创建特殊的文件夹,来实现特殊的功能。目录,保持原先的行为,而一些使用新的App Router。每一个文件夹在路径中都表示为路由中的一个片段。

2024-04-10 21:32:16 352

原创 babyAGI(8)-babyCoder5主程序逻辑

前期代码都以阅读完毕,接下来我们来看主程序逻辑,建议大家好好看看流程图,有个流程的影响。

2024-04-05 22:48:39 487

原创 babyAGI(6)-babyCoder源码阅读4_Embbeding代码实现

在进入到主程序前,我们还需要看一个Embedding的实现代码,这里的功能主要是为了计算代码之间的相关性。embedding可以文本中的词语转化为低维实数向量的表示,来计算两段文字间的几何距离来判断词语的含义是否相近。

2024-04-05 19:45:22 655

原创 babyAGI(7)-babyCoder源码阅读3(任务执行相关agent)

该agent会根据,objective和task的内容自动分配要执行的agent整个任务分配的agent分成了两部分,一部分是任务推荐建议的agent,给出推荐的agent的建议第二部分,是结合推荐的建议,给出一个确定的agent推荐。

2024-04-03 22:58:08 359

原创 babyAGI(6)-babyCoder源码阅读2任务描述部分

废话不多说,我们直接看task的prompt这里需要注意的是,每个openai_call的temperature都不相同,这也是开发程序时需要调整和关注的一点。

2024-04-02 22:04:06 554

原创 BabyAGI(4)-babycoder第一部分,配置项和agent tools函数

babyCoder是一个工作在AI系统的上的工具,它可以根据一些简单的目标写一些短的代码。作为babyagi的一部分,babycoder的目标是为越来越厉害的人工智能agent打下基础,能够生成更大、更复杂的项目。babycoder主要的目的是为编写代码和修改的代码的AI agent提供一个简单的框架,随着时间的推移,变成一个更通用的系统。下面是整个babycoder的流程,同样从一个目标开始,然后进行任务创建、任务分解、调用相应的agents,编程代码。

2024-04-01 21:24:45 571

原创 babyAGI(3)-COOPERATIVE_MODE

babyAGI中有cooperative模式,其核心是调用ray库,实现分布式多进程执行任务。从BabyAGI的源码中,我们可以学习ray core的使用。

2024-03-31 13:05:56 519

原创 BabyAGI源码解读(2)-核心agents部分

话不多说,我们直接进入babyAGI的核心部分,也就是task agent部分。

2024-03-30 11:04:32 525

原创 BabyAGI源码解读(1)-主体配置部分

BabyAGI源码原理解释

2024-03-29 16:05:20 809

原创 在DeepLn环境中安装VLLM与ChatGLM3

总体而言,vllm的优势有- vLLM通过PagedAttention机制,可以高效地管理大语言模型的keys和values,显著提高吞吐量。- memory sharing机制可以实现不同样本间的显存共享,进一步提升吞吐量。- 使用pip安装vLLM后,可以通过几行代码进行离线推理。- 也可以启动在线服务,然后通过API调用vLLM。- vLLM兼容主流的预训练模型,可以不修改模型结构就获得显著的加速效果。

2024-03-10 20:44:42 521

原创 设置RabbitMQ超时时间

RabbitMQ默认的超时时间是30分钟,在消息消费超过30分钟后,rabbitMQ会发生错误,导致整个channel被销毁,无法继续消费。值得注意的是,这个事临时更改,永久更改需要进入rabbit.conf文件里修改。在RabbitMQ安装的终端执行。命令,将超时时间延长。可以查看设置的超时值。

2023-10-17 15:04:01 2626

原创 谈谈TIME_WAIT

当主机1要关闭TCP连接时,会先发送FIN报文给主机2。主机2进入CLOSE_WAIT状态,并发送一个ACK应答。同时,主机2通过read调用获得EOF,并将此结果通知应用程序进行主动关闭操作,发送FIN报文。主机1在接收到FIN报文后发送ACK应答,此时进入TIME_WAIT状态。主动发起关闭行为的客户端会进入到TIME_WAIT状态。主机1在TIME_WAIT停留时间是固定的,是MSL(maximum segment lifetime)的两倍,一般称为2MSL。

2023-09-15 11:24:23 147

原创 Java中无符号数的处理

核心思想使用位数更长的数字覆盖之前的无符号位,如果我们使用short计算,那么我们就要转换到int类型去计算,int的无符号类型就需要使用long以此类推。在使用java编写虚拟机类型的程序时,经常会使用无符号数来作为地址或者操作数。java原生语言中并不支持无符号数,因此需要我们将有符号数转为无符号数。使用&计算符号,将有符号的参数提升到无符号参数。对于short而言使用&0xffff,来获取无符号数的真实值。获得结果可以使用&0xff,来获取无符号数的真实值。在编写8bit计算时十分有用。

2023-08-17 15:13:55 268

原创 使用zap日志替代xorm日志

xorm提供了日志接口,也就是说我们可以自己实现这些接口,用自己的日志框架啊替代原生的日志框架。直接在engine出调用SetLogger即可。这段代码实现了xorm.logger接口。下面是我用zap实现该接口的代码。

2023-08-11 11:05:53 157

原创 Clojure中面向对象的编程方式,Multimethods和hierarchy

multimethod这时尝试寻找关联dispatching值或者从dispatching值派生的方法,如果一个函数被defmethod定义,这个函数将被调用。clojure倾向于创建一个大的方法库,方法库中只有一个小的类型集合。clojure通过Multimethods来实现复杂的运行时多态,该系统支持调度一个或多个参数的类型、值、属性和元数据以及它们之间的关系。这段代码需要注意的是:Shape也是一个函数,返回一个Map中的键为:Shape的值。最后来一段clojure实现的面向对象的数据结构。

2023-07-04 16:11:14 118

原创 gradio离线化使用

js文件可以直接从gradio安装目录下,分别打开gradio\templates\cdn\index.html、gradio\templates\frontend\index.html、gradio\templates\frontend\share.html,找到这个文件中script中的js地址。进入到gradio\themes中,将所有的文件中出现的fonts.GoogleFont("Quicksand")这段代码注释掉。gradio离线的资源主要分两种,一个js文件,一个css中使用的字体。

2023-05-26 15:16:28 1657 1

原创 PyQt5 windows 5.15版本Designer找不到的问题

PyQt5 windows 5.15版本Designer找不到的问题

2022-03-13 18:33:04 346

原创 FL Studio 中菜单无效项的处理

FL Studio 中菜单无效项的处理在fl菜单中,有时候已经卸载的插件不会自动删除,这时候就需要手动删除。用户\Documents\Image-Line\FL Studio\Presets\Plugin database\Generators删除该目录下子目录的无效插件即可。...

2021-02-02 22:11:27 648

原创 golang os.walk 使用

golang os.walk 使用go 中提供的 os.walk函数可以方便的遍历指定目录下的所有子文件夹,其采用的回调的方式处理遍历到的文件夹,回调函数格式为func (path string, info os.FileInfo, err error) error;下面是一个获取临时文件夹下所有文件夹的例子:package mainimport( "fmt" "os" "path...

2019-08-24 18:33:01 1039

原创 theano在windows下的安装

安装步骤:Python的安装及一系列的包Microsoft Visual Studio CUDApycudatheano1. Python的安装一及一系列的包 Python建议安装Anaconda,这个打包集成科学计算的包,像什么numpy、scipy等等。 地址:https://www.continuum.io/downloads/ 不过国内的下载速度感人,建议上ss。这里我用的是最新的版本2.

2017-03-17 17:20:20 570

原创 JavaScript对象的常用函数

/**** 把p中可枚举的的属性复制到o中,并返回o* 如果o和p中含有同名属性,则覆盖o中的属性。* 这个函数并不处理getter和setter以及复制属性**/function extend(o, p) { for (prop in p) { o[prop] = p[prop]; } return 0;}/

2016-05-04 21:48:08 650

原创 JavaScript的属性访问

属性访问并不总是返回或设置一个值。查询一个不存在的属性并不会报错,只会返回undefined的。但是,如果对象不存在,那么试图查询这个不存在的对象的属性就会报错。null和undefined都没有属性值,因此查询这些值的属性会报错。这个方法可以解决这个问题:var len = undefined;if (book) { if (book.subtitle) len = boo

2016-05-01 20:11:58 552

原创 JavaScript的对象属性的两种访问方式

JavaScript中的对象可以通过点(.)方式和方括号([])运算符来获得属性的值。运算符的左侧应当是一个表达式它返回一个对象。对于点(.)来说右侧必须是一个以属性命名的简单标识符。对于方括号来说([]),右侧必须是一个以计算结果为字符串的表达式,而这个表达式必须是一个结果为字符串,这个字符串就是属性名。在ECMAscript 3中,点运算符后的标识符不能是保留字。如

2016-05-01 15:10:28 3085

原创 JavaScript 对象(1)

JavaScript 对象(1)JavaScript中的对象是基本数据类型。对象是一种复合值:它将很多值(原始值或其他对象)聚合在一起,可通过名字访问这些值。対像也可看做属性的无序集合,每个属性都是一个名/值对。属性名是字符串,因此我们可以把对象看成是从字符串到值的映射。对象除了可以保持自有的属性,JavaScript对象还可以从一个称为原型的对象继承属性。对象的方法通常是继承的属性。JavaScr

2016-04-26 20:39:51 485

原创 JavaScript的strict模式

use strict;strict模式是ECMAScript 5语言的一个受限子集,它修正了语言的重要缺陷,并提供健壮的查错功能和增强的安全机制。严格模式与非严格模式之间的区别如下:在严格模式中禁止使用with语句。在严格模式中,所有变量都要先声明,如果给一个未声明的变量、函数、函数参数、catch从句参数或全局对象属性赋值,将会抛出一个异常。而在非严格模式中(这种隐式

2016-04-25 20:38:18 1219

原创 JavaScript中的for in (1)

for (variable in object) statement;在执行for/in语句过程中,JavaScript解释器会首先计算object表达式。如果表达式为null或undefined,JavaScript解释器将会跳过循环并执行后续代码。如果表达式等于一个原始值,这个原始值将会转换为之对应的的包装对象(wrapper object)。否则,expression已经

2016-04-23 21:33:19 655

原创 JavaScript的===和==

==和===都是判断两个值是否相等,当然它们对相等的定义不尽相同。===称为严格相等运算符(strict equality),它检测两个操作数是否严格相等,比较过程没有任何类型转换:如果两个值类型不相同,则它们不相等。如果两个值都是null或者都是undefined,则它们不相等。如果两个值都是true或者都是false,则它们相等。如果其中一个值是NaN,或者两个值都是NaN,则

2016-04-20 18:57:46 487

原创 JavaScript的类型转换(2)

“+”运算符二元运算符“+”可以对两个数字做加法,也可以做字符串的连接操作。加法运算符的转换规则优先于考虑字符串的连接,如果其中一个操作数是字符串或转换为字符串的对象,另外一个操作数将会转为字符串,加法将进行字符串的连接操作。如果两个操作数都不是类字符串(string-like)的,那么将进行算术加法运算。如果其中一个操作数是对象,则对象会遵循对象到原始值的转换规则转换为原始类值。

2016-04-20 18:21:34 393

原创 JavaScript中的运算符(1)

从书上摘的表JavaScript运算符通常会根据需要对操作数进行类型转换。左值(lvalue)指的是“表达式只能出现在赋值运算符的左侧”。在JavaScript中,变量、对象属性和数组元素均是左值。赋值运算符是有副作用的:如果给一个变量或属性赋值,那么那些使用这个变量或属性的表达式的值都会发生改变。“++”和“--”递增和递减运算与此类似,因为它们都包含隐性的赋值。delete运算符同

2016-04-19 19:36:19 429

原创 JavaScript数组与对象(1)

this并不是一个常量,它在程序的不同地方返回的值也不相同。JavaScript对数组初始化表达式进行求值的时候,数组初始化表达式中的元素表达式也都会各自计算一次。数组直接量中的列表逗号之间的元素可以省略,这时省略的空位会填充undefined。JavaScript求对象初始化表达式值的时候,对象表达式也都会各自计算一次并且它们不必包含数值:它们可以是任意的JavaScript表达式。

2016-04-19 19:09:00 453

原创 CSS继承多个同样属性时的行为

p.red { color:red;}p.green { color: green;}p.yellow { color: yellow;}这是样式及html文件:这样以后p.red { color:red;}p.yellow { color: yellow;}p.green { color: green;}更改之后:可

2016-04-18 20:54:37 600

原创 JavaScript的变量作用域

全局变量拥有全局作用域,在JavaScript代码中任何地方都是有定义的。然而在函数内声明的变量只在函数体内有定义。函数参数也是局部变量,他们只在函数体内有定义。在函数体内,局部变量的优先级高于同名的全局变量。如果在函数内声明的一个局部变量或者函数参数中带有的变量与全局变量重名,那么全局变量就会被局部变量所遮盖。在声明全局作用域编写代码时可以不写var语句,但声明局部变量时则必须使

2016-04-18 17:06:52 464

原创 JavaScript的对象转为原始值

对象到字符串(object-to-string)和对象到数字(object-to-number)的转换是通过调用待转换对象的一个方法来完成的。所有的对象都继承了两个转换的方法。第一个是toString(),它的作用是返回一个反映该对象的字符串。许多类都定义了toString()的方法,都有其各自的实现。另一个转换对象的函数式valueOf()。这个方法并未详细定义:如果存在任意

2016-04-18 15:57:28 1242 1

原创 Linux 下Pillow的安装

Pillow的安装需要libjpeg、libpng、freetype。jpeg安装时需要:libtool在安装freetype时会出现_imagingft.c:73:31: fatal error: freetype/fterrors.h: No such file or directory #include 这时需要:ln -s /usr/lo

2016-04-04 13:07:32 5677

原创 阿里云出现sudo get-apt install出现page404错误

其实是软件列表太落后,有些东西已经更改位置,所以再用以前的列表自然就找不到了用 sudo apt-get update更新一下列表就可以了

2016-01-02 20:19:27 902

原创 郁闷的vs2015安装

安装vs2015,安装3天,昨天刚刚安装好,今天就发现不能编译,一直提示>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\crtdefs.h(10): fatal error C1083: Cannot open include file: 'corecrt.h': No such file or directory

2015-10-05 17:37:17 1599

空空如也

空空如也

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

TA关注的人

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