kelindar/search

kelindar/search

kelindar/search 是一个Go语言库,它提供了嵌入式向量搜索和语义嵌入的功能,基于llama.cpp构建。这个库特别适合于小到中型项目,需要强大的语义搜索能力,同时保持简单高效的实现。它支持GGUF BERT模型,允许用户利用复杂的嵌入技术,而不需要深陷传统搜索系统的复杂性。该库还提供了GPU加速功能,能够在支持的硬件上快速进行计算。如果你的数据集少于100,000条目,这个库可以轻松集成到你的Go应用中,实现语义搜索功能。

需求人群:

"目标受众为需要在Go应用中集成语义搜索功能的开发者,尤其是那些处理小型到中型数据集,并且希望利用BERT模型和GPU加速来提高搜索效率的开发者。"

使用场景示例:

使用该库为文档或文章创建向量索引,实现快速检索。

在推荐系统中,利用用户行为生成的向量嵌入,进行相似项目推荐。

在自然语言处理应用中,使用BERT模型生成文本的语义嵌入,进行文本相似度分析。

产品特色:

llama.cpp无cgo集成:不使用cgo,而是依赖purego,直接从Go代码调用共享C库,简化了集成、部署和交叉编译。

支持BERT模型:通过llama.cpp支持BERT模型,只要它们使用GGUF格式。

预编译二进制文件与Vulkan GPU支持:为Windows和Linux提供预编译的二进制文件,编译时包含Vulkan以实现GPU加速。

嵌入搜索索引:支持从计算出的嵌入创建搜索索引,可以保存到磁盘上,之后加载使用,适合小规模应用的基本向量搜索。

使用教程:

1. 安装库:下载适用于Windows和Linux的预编译二进制文件,或者从源代码编译。

2. 加载模型:使用`search.NewVectorizer`函数初始化一个模型,使用GGUF文件。

3. 生成文本嵌入:使用`EmbedText`方法为给定的文本输入生成向量嵌入。

4. 创建索引并添加向量:使用`search.NewIndex`创建一个新的索引,并使用`Add`方法添加多个向量及其对应的标签。

5. 搜索索引:使用`Search`方法执行搜索,传入嵌入向量和要检索的结果数量。

6. 打印结果:遍历搜索结果,打印每个结果及其相关性分数。

浏览量:5

s1785318098921236

打开站点

构建AI去赚钱
s1785341518918206
网站流量情况

最新流量情况

月访问量

5.16m

平均访问时长

00:06:42

每次访问页数

5.81

跳出率

37.20%

流量来源

直接访问

52.27%

自然搜索

32.92%

邮件

0.05%

外链引荐

12.52%

社交媒体

2.15%

展示广告

0

截止目前所有流量趋势图

地理流量分布情况

中国

11.99%

德国

3.63%

印度

9.20%

俄罗斯

5.25%

美国

19.02%

类似产品

© 2024     AIbase    备案号:闽ICP备08105208号-14

隐私政策

用户协议

意见反馈 网站地图