mirror of
https://github.com/logseq/logseq.git
synced 2026-05-24 12:44:22 +00:00
fix: load progress in shared worker
This commit is contained in:
@@ -76,13 +76,13 @@
|
|||||||
;; A fast pprint alternative.
|
;; A fast pprint alternative.
|
||||||
(defn print-prefix-map* [prefix m print-one writer opts]
|
(defn print-prefix-map* [prefix m print-one writer opts]
|
||||||
(pr-sequential-writer
|
(pr-sequential-writer
|
||||||
writer
|
writer
|
||||||
(fn [e w opts]
|
(fn [e w opts]
|
||||||
(print-one (key e) w opts)
|
(print-one (key e) w opts)
|
||||||
(-write w \space)
|
(-write w \space)
|
||||||
(print-one (val e) w opts))
|
(print-one (val e) w opts))
|
||||||
(str prefix "\n{") \newline "}"
|
(str prefix "\n{") \newline "}"
|
||||||
opts (seq m)))
|
opts (seq m)))
|
||||||
|
|
||||||
(defn ugly-pr-str
|
(defn ugly-pr-str
|
||||||
"Ugly printing fast, with newlines so that git diffs are smaller"
|
"Ugly printing fast, with newlines so that git diffs are smaller"
|
||||||
@@ -91,6 +91,6 @@
|
|||||||
(pr-str x)))
|
(pr-str x)))
|
||||||
|
|
||||||
(defn post-message
|
(defn post-message
|
||||||
[type data]
|
[type data & {:keys [port]}]
|
||||||
(when (exists? js/self)
|
(when-let [worker (or port js/self)]
|
||||||
(.postMessage js/self (ldb/write-transit-str [type data]))))
|
(.postMessage worker (ldb/write-transit-str [type data]))))
|
||||||
|
|||||||
@@ -67,4 +67,6 @@
|
|||||||
(glogi-console/install!)
|
(glogi-console/install!)
|
||||||
(let [port (first (.-ports e))
|
(let [port (first (.-ports e))
|
||||||
^js obj #_{:clj-kondo/ignore [:unresolved-symbol]} (InferenceWorker.)]
|
^js obj #_{:clj-kondo/ignore [:unresolved-symbol]} (InferenceWorker.)]
|
||||||
|
(reset! infer-worker.text-embedding/*port port)
|
||||||
|
(.start port)
|
||||||
(Comlink/expose obj port))))
|
(Comlink/expose obj port))))
|
||||||
|
|||||||
@@ -19,6 +19,8 @@
|
|||||||
(log/info :delete-hnsw-index repo)
|
(log/info :delete-hnsw-index repo)
|
||||||
(.delete hnsw-index))))))
|
(.delete hnsw-index))))))
|
||||||
|
|
||||||
|
(defonce *port (atom nil))
|
||||||
|
|
||||||
(def ^:private embedding-opts #js{"pooling" "mean" "normalize" true})
|
(def ^:private embedding-opts #js{"pooling" "mean" "normalize" true})
|
||||||
|
|
||||||
(def ^:private init-max-elems 100)
|
(def ^:private init-max-elems 100)
|
||||||
@@ -181,7 +183,7 @@
|
|||||||
;; :hnsw-config {:dims 1024}}
|
;; :hnsw-config {:dims 1024}}
|
||||||
})
|
})
|
||||||
|
|
||||||
(def ^:private *load-model-progress (atom nil))
|
(defonce ^:private *load-model-progress (atom nil))
|
||||||
|
|
||||||
(defn <load-model
|
(defn <load-model
|
||||||
[model-name]
|
[model-name]
|
||||||
@@ -210,7 +212,9 @@
|
|||||||
(c.m/run-background-task
|
(c.m/run-background-task
|
||||||
::push-load-model-progress
|
::push-load-model-progress
|
||||||
(m/reduce
|
(m/reduce
|
||||||
(fn [_ v] (worker-util/post-message :vector-search/load-model-progress v))
|
(fn [_ v]
|
||||||
|
(when-let [port @*port]
|
||||||
|
(worker-util/post-message :vector-search/load-model-progress v {:port port})))
|
||||||
(c.m/throttle 500 (m/watch *load-model-progress)))))
|
(c.m/throttle 500 (m/watch *load-model-progress)))))
|
||||||
|
|
||||||
(comment
|
(comment
|
||||||
|
|||||||
Reference in New Issue
Block a user