Răsfoiți Sursa

enhance: set embedding distance to 0.3 to keep search result related

Tienson Qin 5 luni în urmă
părinte
comite
f1d8e526fc

+ 1 - 2
src/main/frontend/inference_worker/text_embedding.cljs

@@ -36,8 +36,7 @@
 (defn- init-index!
   [^js hnsw]
   (.initIndex hnsw init-max-elems 16 200 100)
-  (.setEfSearch hnsw 64 ;;default 32
-                ))
+  (.setEfSearch hnsw 32))
 
 (defn- ^js get-hnsw-index
   [repo]

+ 3 - 1
src/main/frontend/worker/embedding.cljs

@@ -264,7 +264,9 @@
                 (worker-util/profile (str "search: '" query-string "'")
                                      (js->clj (c.m/<? (.search infer-worker repo query-string nums-neighbors)) :keywordize-keys true))
                 labels (->> (map vector distances neighbors)
-                            (keep (fn [[distance label]] (when-not (js/isNaN distance) label))))
+                            (keep (fn [[distance label]]
+                                    (when-not (or (js/isNaN distance) (> distance 0.3))
+                                      label))))
                 datoms (map (fn [label]
                               (->> label
                                    (d/datoms @conn :avet :logseq.property.embedding/hnsw-label)