Kelindar/search

使用场景使用该库为文档或文章创建向量索引,实现快速检索。在推荐系统中,利用用户行为生成的向量嵌入,进行相似项目推荐。在自然语言处理应用中,使用BERT模型生成文...

  • Kelindar/search

    类别:AI搜索,开发与工具,搜索引擎,人工智能,GPU,嵌入,SIMD,语义搜索,BERT,向量搜索,llamacpp,gguf,普通产品,开源,
    官网:https://github.com/kelindar/search 更新时间:2025-08-02 09:41:12
  • 使用场景

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

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

    在自然语言处理应用中,使用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. 打印结果:遍历搜索结果,打印每个结果及其相关性分数。