基于BM25检索算法构建RAG智能文档问答助手--学习和实践
基于BM25检索算法构建RAG智能文档问答助手 本篇文章记录DataWhale微学习中课程–从零打造RAG检索系统 推一波DataWhale的学习内容,可以关注DataWhale公众号,选择自己喜欢的内容 学习内容原作者的公众号: 从零打造RAG检索系统:BM25让检索快到飞起 github仓库地址: XiaokeAILabs 文章重点是了解RAG检索的...
基于BM25检索算法构建RAG智能文档问答助手 本篇文章记录DataWhale微学习中课程–从零打造RAG检索系统 推一波DataWhale的学习内容,可以关注DataWhale公众号,选择自己喜欢的内容 学习内容原作者的公众号: 从零打造RAG检索系统:BM25让检索快到飞起 github仓库地址: XiaokeAILabs 文章重点是了解RAG检索的...
在阿里云服务器部署Deepseek-R1-32B,并使用gradio进行简单可视化交互 这段时间国产大模型deepseek受到广泛关注,deepseek也开源了他们模型的参数,在huggingface上,提供了原始模型和经过不同程度蒸馏的模型 因为好奇,手边刚好也有之前白嫖的阿里云的服务器,就尝试一下本地部署的过程 本文简单介绍一下部署的过程,也提供一个gradio的示例...
Golang的版本管理工具–g 最近在进行go的实践,要做go的项目,运行一些项目的时候可能要用到不同的go环境,想到go有没有和python一样的环境管理工具(做实验还是用python比较多),然后查了一下,还是有的,比如gvm、g等等,最终选择了g,感觉找到的博客不够“保姆”就自己写一遍,进行记录,供小白参考。 Step1-g的下载和安装 下载 我是用的操作系统是Windo...
开源协议介绍 开源协议是软件开发与分发中的重要组成部分。它们不仅影响软件的使用方式,还影响开发者、用户及整个社区的权利与责任。本文将深入探讨开源协议的定义、类型、重要性及其对软件生态的影响。 什么是开源协议? 开源协议是一种法律协议,允许软件的源代码被自由使用、修改和分发。开源协议的核心理念在于促进协作与创新,确保用户和开发者可以自由地利用软件,同时保护原作者的权利。 开源与自由软件...
一种免费、高清、安全、但是有点麻烦的电脑远程连接方案 该方案能够解决的问题 1、远程连接不受距离限制,通过tailscale实现,但是一定要保证网络的稳定 2、免费高清串流,通过sunshine和moonlight实现 3、安全,本方案中安全指的是远端的电脑屏幕在串流期间能够保持黑屏,能有效保护隐私,通过ParsecVDisplay诱骗电脑分屏实现 1、基本原理...
go中的单元测试 1、单元测试用例 go test命令是一个按照一定约定和组织的测试代码驱动程序 在包目录中,所有以_test.go结尾的源码文件都会被go test运行到 我们写的 _test.go源码文件不用担心内容过多,因为go test命令不会将这些测试文件打包到最后的可执行文件 在实际应用中,test文件有四类: 1、Test开头的:功能测试 ...
go 中的 package 和 gomodules 1、package的定义和导入 在go中,package是一个非常重要的概念,它是go语言中的一个基本单位,它可以包含多个.go文件,每个.go文件都必须属于一个package,这也是代码复用的基础,其中fmt、os、io等都是一个包 每个源码文件的第一行都是package xxx,xxx就是这个文件所属的包名 同一目...
接口–interface go语言中interface是一种非常重要的类型,是非常重要的组成部分 1、鸭子类型 鸭子类型 当一只鸟走起来像鸭子,游泳起来像鸭子,叫起来也想鸭子,那这只鸟就是鸭子 鸭子类型强调的是事物的方法,而不是内部的结构 也就是说,只要一个对象实现了接口的所有方法,那么这个对象就可以被认为是实现了这个接口,就能将这个对象作为这个接口的实...
指针 指针是一个变量,其值为另一个变量的地址,即,内存地址。 指针类型的数据大小为固定值,32位系统为4字节,64位系统为8字节。 1、指针的定义和使用 取址符号:& 指针:* 传过去一个地址,通过指针进行接收 定义一个指针: var a int = 10 var p *int = &a // 定义了一个指针,p的类型为*int,p...
结构体 1、type关键字 type关键字常用于 定义结构体 定义接口 定义类型别名 类型定义 类型判断 1.1、类型别名 别名可以让使用者更好理解代码,提高代码的可读性和可维护性,在编译的时候,会将别名编译为原来的类型 //以定义int的别名举例 type MyInt = int var i MyInt fmt.Println("%...
函数 go语言中的函数支持普通函数、匿名函数、闭包函数、方法等 在go语言中函数是一等公民,函数可以作为参数、函数可以作为返回值、函数可以赋值给变量、函数可以作为闭包函数等 函数可以满足接口 1、函数的定义 函数的基本定义方式如下: func 函数名(参数列表) (返回值列表) { 函数体 } 参数列表:参数列表可以为空,也可以有多个参数,多个参...
go中的集合类型数据结构——数组、切片(slice)、map和list 1、数组 数组的定义: var name [length] type 举个例子: var name [5] int 当中括号内没有length,就表示数组的长度是不确定的,这种数组叫做切片。 1.1、数组的基本用法 fmt.Println(name),可以打印数组的所有元素 数组的...
条件判断和for循环 1、if条件判断 1.1、if条件判断的基本语法 个其他语言差不多,go中if语句后面的条件判断可以加括号,也可以不加,通常不写括号,但是如果条件比较复杂,建议加上括号。 age := 10 //1、加括号 if age > 18 { fmt.Println("你已经成年了") } //2、不加括号 if (age > 18){ fm...
字符串的基本操作 1、转义符 1.1、基本规则 通常在各种语言中转义符都是同一个:\,千万不要写反 举例: name := "你可真是个\"小机灵鬼\"" //在这里直接使用"小机灵鬼"会报错,因为双引号是字符串的标志,所以需要使用转义符来表示引号:\" 1.2、常见的转义符 在golang中常用的转义符如下: 2、格式化输出 Println:表示输出换行 Pri...
基础数据类型 go的基础数据类型有bool、string、int、float、byte、rune、uint、int8、int16、int32、int64、uint8、uint16、uint32、uint64、float32、float64等 具体可以分成以下几种: 1、数值、浮点数和字符类型 1.1、布尔类型 true 和 false 1.2、数值类型 ...
变量和常量 go是一种静态语言,变量的类型是在编译阶段确定的。 变量必须先定义后使用 变量必须要有类型 变量类型定下来后不能改变 1、变量 1.1、定义变量的方式 // 第一种 var age int (string bool 等) age = 10 // 第二种 var age = 10 // 第三种 age := 10 1.2、全局变量和局部变量 全局...
Golang开发基础 Golang程序开发和基本结构 首先要创建golang开发的目录,可以创建成下面的形式 go_project src go_code project01 main ...
Golong环境搭建 SDK(Soft Development Kit, 软件开发工具包):是一套工具得集合,方便开发者在特定的编程语言环境下进行开发 工具通常包含库、框架、文档和使用指导…… 下载SDK工具包 工具包下载网址 根据自己的需要可以选择不同的工具包,我的是Windows10 64位,选择下载“go1.17.3.windows-arm64.zip” 下载完成...
如何创建自己的个人网站 文章主要介绍如何使用 Jekyll 和 GitHub 创建一个属于自己的个人网站,通过网站可以记录自己的学习笔记,技术收获,同时也可以更好地展示自己,养成笔记的好习惯(21天轻松养成好习惯,哈哈哈)。 0、放在开头的一些东西 Ruby安装教程 因为文章是后补的,文章中没有介绍Ruby的安装,安装教程可以参考前面的链接。 安装Ruby的目的是在本地运行代...