

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. 打印結果:遍歷搜索結果,打印每個結果及其相關性分數。
精選AI產品推薦

Pseudoeditor
PseudoEditor是一款免費在線偽代碼編輯器。它具有語法高亮、自動完成等功能,幫助您更輕鬆地編寫偽代碼。您還可以使用我們的偽代碼編譯器功能進行測試。無需下載,即可立即使用。
開發與工具
4.5M

Erbuilder
Softbuilder的AI-powered ER diagrams generation是一款基於人工智能技術的數據建模工具,能夠根據自然語言的數據模型描述、用戶故事或需求自動生成ER圖。通過使用OpenAI GPT,它能夠快速生成精美的ER圖,大大提高了數據建模的效率。此外,它還提供數據模型文檔、驗證、探索等功能,可滿足各種數據建模需求。Softbuilder的AI-powered ER diagrams generation適用於各類企業和組織,幫助用戶輕鬆創建和管理數據模型。
開發與工具
4.1M