AbstractIntegratedModule 0.8.3__tar.gz → 0.8.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {abstractintegratedmodule-0.8.3 → abstractintegratedmodule-0.8.4}/AbstractIntegratedModule.egg-info/PKG-INFO +10 -10
- {abstractintegratedmodule-0.8.3 → abstractintegratedmodule-0.8.4}/AbstractIntegratedModule.py +23 -4
- {abstractintegratedmodule-0.8.3 → abstractintegratedmodule-0.8.4}/AbstractOptimizedModules.c +200 -200
- {abstractintegratedmodule-0.8.3 → abstractintegratedmodule-0.8.4}/PKG-INFO +10 -10
- {abstractintegratedmodule-0.8.3 → abstractintegratedmodule-0.8.4}/README.md +9 -9
- {abstractintegratedmodule-0.8.3 → abstractintegratedmodule-0.8.4}/setup.py +1 -1
- {abstractintegratedmodule-0.8.3 → abstractintegratedmodule-0.8.4}/AbstractIntegratedModule.egg-info/SOURCES.txt +0 -0
- {abstractintegratedmodule-0.8.3 → abstractintegratedmodule-0.8.4}/AbstractIntegratedModule.egg-info/dependency_links.txt +0 -0
- {abstractintegratedmodule-0.8.3 → abstractintegratedmodule-0.8.4}/AbstractIntegratedModule.egg-info/requires.txt +0 -0
- {abstractintegratedmodule-0.8.3 → abstractintegratedmodule-0.8.4}/AbstractIntegratedModule.egg-info/top_level.txt +0 -0
- {abstractintegratedmodule-0.8.3 → abstractintegratedmodule-0.8.4}/AbstractOptimizedModules.pyx +0 -0
- {abstractintegratedmodule-0.8.3 → abstractintegratedmodule-0.8.4}/MANIFEST.in +0 -0
- {abstractintegratedmodule-0.8.3 → abstractintegratedmodule-0.8.4}/abstract_model_storage/Cargo.toml +0 -0
- {abstractintegratedmodule-0.8.3 → abstractintegratedmodule-0.8.4}/abstract_model_storage/pyproject.toml +0 -0
- {abstractintegratedmodule-0.8.3 → abstractintegratedmodule-0.8.4}/abstract_model_storage/src/lib.rs +0 -0
- {abstractintegratedmodule-0.8.3 → abstractintegratedmodule-0.8.4}/abstract_model_storage/target/debug/build/libsqlite3-sys-ed07b882cd2aa5e2/out/bindgen.rs +0 -0
- {abstractintegratedmodule-0.8.3 → abstractintegratedmodule-0.8.4}/abstract_model_storage/target/debug/build/serde_core-ebc15f2e9cad7f5f/out/private.rs +0 -0
- {abstractintegratedmodule-0.8.3 → abstractintegratedmodule-0.8.4}/abstract_model_storage/target/debug/build/target-lexicon-08527f45de28143d/out/host.rs +0 -0
- {abstractintegratedmodule-0.8.3 → abstractintegratedmodule-0.8.4}/abstract_model_storage/target/release/build/libsqlite3-sys-bf0400df4523274c/out/bindgen.rs +0 -0
- {abstractintegratedmodule-0.8.3 → abstractintegratedmodule-0.8.4}/abstract_model_storage/target/release/build/serde_core-5cdb76131825e4af/out/private.rs +0 -0
- {abstractintegratedmodule-0.8.3 → abstractintegratedmodule-0.8.4}/abstract_model_storage/target/release/build/target-lexicon-43eb95a0588bf457/out/host.rs +0 -0
- {abstractintegratedmodule-0.8.3 → abstractintegratedmodule-0.8.4}/pyproject.toml +0 -0
- {abstractintegratedmodule-0.8.3 → abstractintegratedmodule-0.8.4}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: AbstractIntegratedModule
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.4
|
|
4
4
|
Summary: Library for Advanced Integrated Non-LLM AI Models - Optimized Backend Framework For Non-LLM AI Agent
|
|
5
5
|
Author: Micro-Novelty
|
|
6
6
|
Author-email: hernikpuspita5@gmail.com
|
|
@@ -42,7 +42,7 @@ https://github.com/Micro-Novelty/IntegratedPipeline-Specialized-Non-LLM-AI-Agent
|
|
|
42
42
|
#### Note: The README here you are reading is a direct copy from my README Repository, to download the necessary files, you can visit my Repository with the provided link above.
|
|
43
43
|
|
|
44
44
|
### Library Short Description:
|
|
45
|
-
- Development Stage: 0.8.
|
|
45
|
+
- Development Stage: 0.8.4 Official Release.
|
|
46
46
|
- Maintainer: Micro-Novelty.
|
|
47
47
|
- library Source-Code is Open-sourced on github.
|
|
48
48
|
- Purpose: Specifically Designed for providing Non-LLM AI Agent Framework for edge Devices, Optimized for ARM64 architecture.
|
|
@@ -80,17 +80,17 @@ https://github.com/Micro-Novelty/IntegratedPipeline-Specialized-Non-LLM-AI-Agent
|
|
|
80
80
|
- Transformer Optimized using Cython, to reduce Memory overhead and Reduce CPU Usage, With Reduced Training Time.
|
|
81
81
|
______________
|
|
82
82
|
- Changelog:
|
|
83
|
-
- v0.8.
|
|
83
|
+
- v0.8.4:
|
|
84
84
|
- [=] New features:
|
|
85
|
-
|
|
86
85
|
- Added more robust inhomogenous shape handling for handling input_ids in Transformer and AccurateAnswerCache architecture.
|
|
86
|
+
- Added improvements for handling batch prediction responses, ensuring robust references and graceful conditions for edge cases.
|
|
87
87
|
- Fixed P2P Vulnerabilities:
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
88
|
+
- Empty allowed_ips in PRODUCTION/HARDENED mode now DENIES external IPs instead of allowing all
|
|
89
|
+
- Startup validation warns about dangerous config combinations
|
|
90
|
+
- Loopback (127.0.0.1) always permitted for local agent comms
|
|
91
|
+
- DEVELOPMENT/STAGING retains allow-all behavior with explicit warning since local P2P testing requires it
|
|
92
|
+
- pickle.loads() replaced by json.loads with utf-8 encoding order.
|
|
93
|
+
- generate self signed cert fixes and added client.crt for fallback when users dont provide any SSL cert and key for both server and client.
|
|
94
94
|
|
|
95
95
|
____________
|
|
96
96
|
<img width="1280" height="600" alt="WhatsApp Image 2026-05-27 at 07 16 32" src="https://github.com/user-attachments/assets/4b58a556-45a3-419b-96fd-9c1b76cac574" />
|
{abstractintegratedmodule-0.8.3 → abstractintegratedmodule-0.8.4}/AbstractIntegratedModule.py
RENAMED
|
@@ -11687,6 +11687,12 @@ class AccurateAnswerCache:
|
|
|
11687
11687
|
flat_ids_a = self.pipeline._safe_to_2d_float(ids_a)
|
|
11688
11688
|
flat_ids_b = self.pipeline._safe_to_2d_float(ids_b)
|
|
11689
11689
|
|
|
11690
|
+
if flat_ids_a.shape != flat_ids_b.shape:
|
|
11691
|
+
min_rows = min(flat_ids_a.shape[0], flat_ids_b.shape[0])
|
|
11692
|
+
min_cols = min(flat_ids_a.shape[1], flat_ids_b.shape[1])
|
|
11693
|
+
flat_ids_a = flat_ids_a[:min_rows, :min_cols]
|
|
11694
|
+
flat_ids_b = flat_ids_b[:min_rows, :min_cols]
|
|
11695
|
+
|
|
11690
11696
|
return flat_ids_a, flat_ids_b
|
|
11691
11697
|
except Exception as e:
|
|
11692
11698
|
print(f'[!] cannot adapt indices shape due to: {e}')
|
|
@@ -11780,6 +11786,7 @@ class AccurateAnswerCache:
|
|
|
11780
11786
|
|
|
11781
11787
|
if ids_a.shape != ids_b.shape:
|
|
11782
11788
|
ids_a, ids_b = self._adapt_ids_shape(ids_a, ids_b)
|
|
11789
|
+
|
|
11783
11790
|
min_len = min(len(ids_a), len(ids_b))
|
|
11784
11791
|
if min_len > 0:
|
|
11785
11792
|
seq_sim = float(np.mean(ids_a[:min_len] == ids_b[:min_len]))
|
|
@@ -13479,6 +13486,9 @@ class PipelineAsyncManager:
|
|
|
13479
13486
|
try:
|
|
13480
13487
|
attn_weights = None
|
|
13481
13488
|
final_idx = None
|
|
13489
|
+
attn_weight_rate = None
|
|
13490
|
+
final_idx = None
|
|
13491
|
+
|
|
13482
13492
|
reverse_label_map = {v: k for k, v in label_map.items()}
|
|
13483
13493
|
|
|
13484
13494
|
if 'attn_weights' in self.pipeline.model2.cache:
|
|
@@ -13506,8 +13516,14 @@ class PipelineAsyncManager:
|
|
|
13506
13516
|
result, chosen_label, confidence = self.advanced_prediction_method(
|
|
13507
13517
|
self.prediction_manager, test_titles, label_map, rules,
|
|
13508
13518
|
X=X, y=y, method='Transformer_included')
|
|
13509
|
-
|
|
13510
|
-
|
|
13519
|
+
|
|
13520
|
+
try:
|
|
13521
|
+
if isinstance(result, list) and len(result) > 0:
|
|
13522
|
+
final_idx = result[0].get('index')
|
|
13523
|
+
elif isinstance(result, dict):
|
|
13524
|
+
final_idx = result.get('index')
|
|
13525
|
+
except (KeyError, IndexError):
|
|
13526
|
+
final_idx = None
|
|
13511
13527
|
|
|
13512
13528
|
print(f'[=+=] Local single advanced Prediction result: {result}')
|
|
13513
13529
|
|
|
@@ -13529,7 +13545,10 @@ class PipelineAsyncManager:
|
|
|
13529
13545
|
except IndexError:
|
|
13530
13546
|
calibrated_probs = probs + (1.0 - attn_weight_rate) * confidence
|
|
13531
13547
|
else:
|
|
13532
|
-
|
|
13548
|
+
try:
|
|
13549
|
+
calibrated_probs = probs + (1.0 - attn_weight_rate) * confidence
|
|
13550
|
+
except:
|
|
13551
|
+
calibrated_probs = calibrated_probs.copy()
|
|
13533
13552
|
|
|
13534
13553
|
predicted_index = np.argmax(calibrated_probs) # Get index with highest probability
|
|
13535
13554
|
predicted_label = reverse_label_map.get(predicted_index, f"class_{predicted_index}")
|
|
@@ -15328,7 +15347,7 @@ class ConsecutivePeerAgent:
|
|
|
15328
15347
|
|
|
15329
15348
|
response = self._receive_message(sock)
|
|
15330
15349
|
|
|
15331
|
-
print(f'[ConsecutivePeerAgent] Got Authentication response from peer
|
|
15350
|
+
print(f'[ConsecutivePeerAgent] Got Authentication response from peer!')
|
|
15332
15351
|
if not response or response.get('status') != 'ok':
|
|
15333
15352
|
sock.close()
|
|
15334
15353
|
print('[ConsecutivePeerAgent] Socket is closed!')
|