llama-cpp-sys-4 0.4.4

Low Level Bindings to llama.cpp
Documentation
--- a/common/speculative.cpp
+++ b/common/speculative.cpp
@@ -613,7 +613,9 @@ struct common_speculative_impl_draft_eagle3 : public common_speculative_impl {
                 ? llama_get_embeddings_layer_inp(ctx_tgt, (uint32_t) target_layer_ids[k])
                 : llama_get_embeddings_nextn(ctx_tgt);
             if (!layer) {
-                GGML_ABORT("EAGLE3: target layer %d input not extracted.", target_layer_ids[k]);
+                SPC_ERR("EAGLE3: target layer %d input not extracted.\n",
+                        target_layer_ids[k]);
+                return false;
             }
             for (int32_t i = 0; i < n_tokens; ++i) {
                 float * dst = features_buf.data() + (size_t) i * n_embd_enc + k * (size_t) n_embd_tgt;
@@ -648,6 +650,9 @@ struct common_speculative_impl_draft_eagle3 : public common_speculative_impl {
             // g_embd has shape [n_chunk, n_embd_dec] in ctx_dft's pre-norm embeddings buffer.
             const float * g_embd_chunk = llama_get_embeddings_nextn(ctx_dft);
-            GGML_ASSERT(g_embd_chunk && "EAGLE3 encoder produced no output.");
+            if (!g_embd_chunk) {
+                SPC_ERR("%s\n", "EAGLE3 encoder produced no output.");
+                return false;
+            }
             std::memcpy(g_embd_buf.data() + (size_t) i * n_embd_dec,
                         g_embd_chunk,
                         (size_t) n_chunk * n_embd_dec * sizeof(float));