使用场景
使用该库为文档或文章创建向量索引,实现快速检索。
在推荐系统中,利用用户行为生成的向量嵌入,进行相似项目推荐。
在自然语言处理应用中,使用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. 打印结果:遍历搜索结果,打印每个结果及其相关性分数。