neuralnode 2.1.1__tar.gz → 2.1.2__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.
- {neuralnode-2.1.1 → neuralnode-2.1.2}/PKG-INFO +6 -6
- {neuralnode-2.1.1 → neuralnode-2.1.2}/README.md +5 -5
- {neuralnode-2.1.1 → neuralnode-2.1.2}/docs/documentation.md +5 -5
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_codes_camples/01_basic_usage.py +5 -5
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_codes_camples/03_one_liner.py +1 -1
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_codes_camples/19_gguf_4bit.py +1 -1
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_codes_camples/20_gguf_5bit.py +1 -1
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_codes_camples/21_gguf_6bit.py +1 -1
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_codes_camples/22_gguf_8bit.py +1 -1
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_codes_camples/23_gguf_16bit.py +1 -1
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_codes_camples/25_interactive_chat.py +1 -1
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_codes_camples/README.md +6 -6
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_tq_ready_gguf.py +2 -2
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/thinking_mode_example.py +1 -1
- {neuralnode-2.1.1 → neuralnode-2.1.2}/horus_chat_voice.py +1 -1
- {neuralnode-2.1.1 → neuralnode-2.1.2}/pyproject.toml +1 -1
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/__init__.py +1 -1
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/providers/horus.py +5 -5
- neuralnode-2.1.1/nn.md +0 -224
- neuralnode-2.1.1/replica_output_85218.mp3 +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/.env.example +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/.github/workflows/tests.yml +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/Dockerfile +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/LICENSE +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/docker-compose.yml +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/docs/ecosystem_plan.md +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/docs/replica_voice_ids.csv +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/docs/replica_voice_ids.md +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/docs/telegram_guide.md +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/agent_with_tools.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/basic_chat.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_codes_camples/02_with_token.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_codes_camples/04_custom_cache.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_codes_camples/05_4bit_quantization.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_codes_camples/06_8bit_quantization.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_codes_camples/07_multi_gpu.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_codes_camples/08_flash_attention.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_codes_camples/09_data_types.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_codes_camples/10_generation_params.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_codes_camples/11_streaming.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_codes_camples/12_chat_templates.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_codes_camples/13_offline_mode.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_codes_camples/14_force_download.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_codes_camples/15_model_info.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_codes_camples/16_cpu_offloading.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_codes_camples/17_cpu_only.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_codes_camples/18_production_setup.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_codes_camples/24_list_models.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_download_guide.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_examples.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/horus_transformers_features.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/local_models.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/neuralnode_v21_complete_demo.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/shade_model_with_tools.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/telegram_bot_demo.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/tts_demo.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/turboquant_example.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/examples/v3_features.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/neuralnode_horus_replica_telegram.ipynb +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/publish.bat +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/publish.sh +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/requirements_shade.txt +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/scripts/setup.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/debug_import.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/agents/__init__.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/chains/__init__.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/config/__init__.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/core/__init__.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/core/openai_blocker.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/diagnostics/__init__.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/integrations/discord.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/integrations/slack.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/integrations/telegram.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/integrations/whatsapp.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/memory/__init__.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/memory/advanced.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/prompts/__init__.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/providers/__init__.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/providers/base.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/providers/chat/__init__.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/providers/chat/ai21.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/providers/chat/anthropic.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/providers/chat/cohere.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/providers/chat/deepseek.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/providers/chat/fireworks.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/providers/chat/google.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/providers/chat/groq.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/providers/chat/mistral.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/providers/chat/perplexity.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/providers/chat/together.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/providers/chat_models.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/providers/embeddings.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/providers/local/__init__.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/providers/local_providers.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/providers/text_generation.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/providers/universal_local.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/rag/__init__.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/rag/loaders.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/reasoning/__init__.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/replica.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/speech/__init__.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/thinking.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/tools/__init__.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/tools/advanced.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/tools/multisearch.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/tools/system/__init__.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/tools/system/operations.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/tools/web/__init__.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/tts/__init__.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/turboquant.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/utils/__init__.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/utils/dependencies.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/utils/logger.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/utils/metrics.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/vectorstores/__init__.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/neuralnode/vision/__init__.py +0 -0
- {neuralnode-2.1.1 → neuralnode-2.1.2}/src/nn/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: neuralnode
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.2
|
|
4
4
|
Summary: Comprehensive AI Framework with 50+ LLM Providers, Advanced Agents, Chains, Memory, RAG, and 100+ Tools
|
|
5
5
|
Project-URL: Homepage, https://assem.cloud/
|
|
6
6
|
Project-URL: Documentation, https://neuralnode.readthedocs.io
|
|
@@ -238,11 +238,11 @@ print(HorusModel.list_available_models())
|
|
|
238
238
|
Supported IDs currently include:
|
|
239
239
|
- `tokenaii/horus`
|
|
240
240
|
- `tokenaii/horus/Horus-1.0-4B`
|
|
241
|
-
- `tokenaii/
|
|
242
|
-
- `tokenaii/
|
|
243
|
-
- `tokenaii/
|
|
244
|
-
- `tokenaii/
|
|
245
|
-
- `tokenaii/
|
|
241
|
+
- `tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q4_K_M.gguf`
|
|
242
|
+
- `tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q5_K_M.gguf`
|
|
243
|
+
- `tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q6_K.gguf`
|
|
244
|
+
- `tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q8_0.gguf`
|
|
245
|
+
- `tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-F16.gguf`
|
|
246
246
|
|
|
247
247
|
## Replica TTS
|
|
248
248
|
|
|
@@ -72,11 +72,11 @@ print(HorusModel.list_available_models())
|
|
|
72
72
|
Supported IDs currently include:
|
|
73
73
|
- `tokenaii/horus`
|
|
74
74
|
- `tokenaii/horus/Horus-1.0-4B`
|
|
75
|
-
- `tokenaii/
|
|
76
|
-
- `tokenaii/
|
|
77
|
-
- `tokenaii/
|
|
78
|
-
- `tokenaii/
|
|
79
|
-
- `tokenaii/
|
|
75
|
+
- `tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q4_K_M.gguf`
|
|
76
|
+
- `tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q5_K_M.gguf`
|
|
77
|
+
- `tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q6_K.gguf`
|
|
78
|
+
- `tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q8_0.gguf`
|
|
79
|
+
- `tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-F16.gguf`
|
|
80
80
|
|
|
81
81
|
## Replica TTS
|
|
82
82
|
|
|
@@ -128,11 +128,11 @@ print(response.content)
|
|
|
128
128
|
Available Horus model IDs:
|
|
129
129
|
- `tokenaii/horus`
|
|
130
130
|
- `tokenaii/horus/Horus-1.0-4B`
|
|
131
|
-
- `tokenaii/
|
|
132
|
-
- `tokenaii/
|
|
133
|
-
- `tokenaii/
|
|
134
|
-
- `tokenaii/
|
|
135
|
-
- `tokenaii/
|
|
131
|
+
- `tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q4_K_M.gguf`
|
|
132
|
+
- `tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q5_K_M.gguf`
|
|
133
|
+
- `tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q6_K.gguf`
|
|
134
|
+
- `tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q8_0.gguf`
|
|
135
|
+
- `tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-F16.gguf`
|
|
136
136
|
|
|
137
137
|
## Replica
|
|
138
138
|
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
Basic usage - Choose a Horus model version
|
|
3
3
|
Available versions with different compression levels:
|
|
4
4
|
- tokenaii/horus/Horus-1.0-4B (Full - 8GB+ VRAM)
|
|
5
|
-
- tokenaii/
|
|
6
|
-
- tokenaii/
|
|
7
|
-
- tokenaii/
|
|
8
|
-
- tokenaii/
|
|
5
|
+
- tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q4_K_M.gguf (4-bit - 2GB VRAM)
|
|
6
|
+
- tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q5_K_M.gguf (5-bit - 2.5GB VRAM)
|
|
7
|
+
- tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q6_K.gguf (6-bit - 3GB VRAM)
|
|
8
|
+
- tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q8_0.gguf (8-bit - 4GB VRAM)
|
|
9
9
|
"""
|
|
10
10
|
|
|
11
11
|
import neuralnode as nn
|
|
12
12
|
|
|
13
13
|
# Choose your model version (replace with your preferred version)
|
|
14
|
-
MODEL_ID = "tokenaii/
|
|
14
|
+
MODEL_ID = "tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q4_K_M.gguf" # 4-bit for low VRAM
|
|
15
15
|
|
|
16
16
|
# Download and load
|
|
17
17
|
model = nn.HorusModel(MODEL_ID).load()
|
|
@@ -9,7 +9,7 @@ Choose your model version before running:
|
|
|
9
9
|
import neuralnode as nn
|
|
10
10
|
|
|
11
11
|
# One-liner: create model, load it, and chat in a single chain
|
|
12
|
-
response = nn.HorusModel("tokenaii/
|
|
12
|
+
response = nn.HorusModel("tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q4_K_M.gguf").load().chat(
|
|
13
13
|
[{"role": "user", "content": "What is AI?"}]
|
|
14
14
|
)
|
|
15
15
|
|
|
@@ -7,7 +7,7 @@ import neuralnode as nn
|
|
|
7
7
|
|
|
8
8
|
# Load GGUF 4-bit model (~2.78GB file, ~2GB VRAM)
|
|
9
9
|
model = nn.HorusModel(
|
|
10
|
-
"tokenaii/
|
|
10
|
+
"tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q4_K_M.gguf"
|
|
11
11
|
).load()
|
|
12
12
|
|
|
13
13
|
response = model.chat([{"role": "user", "content": "Hello!"}])
|
|
@@ -6,7 +6,7 @@ Best for: Balance between quality and memory (~2.5GB VRAM)
|
|
|
6
6
|
import neuralnode as nn
|
|
7
7
|
|
|
8
8
|
model = nn.HorusModel(
|
|
9
|
-
"tokenaii/
|
|
9
|
+
"tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q5_K_M.gguf"
|
|
10
10
|
).load()
|
|
11
11
|
|
|
12
12
|
response = model.chat([{"role": "user", "content": "Hello!"}])
|
|
@@ -6,7 +6,7 @@ Best for: Better quality than 4/5-bit with reasonable memory
|
|
|
6
6
|
import neuralnode as nn
|
|
7
7
|
|
|
8
8
|
model = nn.HorusModel(
|
|
9
|
-
"tokenaii/
|
|
9
|
+
"tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q6_K.gguf"
|
|
10
10
|
).load()
|
|
11
11
|
|
|
12
12
|
response = model.chat([{"role": "user", "content": "Hello!"}])
|
|
@@ -6,7 +6,7 @@ Best for: Good quality with ~50% memory savings
|
|
|
6
6
|
import neuralnode as nn
|
|
7
7
|
|
|
8
8
|
model = nn.HorusModel(
|
|
9
|
-
"tokenaii/
|
|
9
|
+
"tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q8_0.gguf"
|
|
10
10
|
).load()
|
|
11
11
|
|
|
12
12
|
response = model.chat([{"role": "user", "content": "Hello!"}])
|
|
@@ -7,7 +7,7 @@ Best for: Maximum quality, same as original model
|
|
|
7
7
|
import neuralnode as nn
|
|
8
8
|
|
|
9
9
|
model = nn.HorusModel(
|
|
10
|
-
"tokenaii/
|
|
10
|
+
"tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-F16.gguf"
|
|
11
11
|
).load()
|
|
12
12
|
|
|
13
13
|
response = model.chat([{"role": "user", "content": "Hello!"}])
|
|
@@ -6,7 +6,7 @@ Press Ctrl+C to exit
|
|
|
6
6
|
import neuralnode as nn
|
|
7
7
|
|
|
8
8
|
# Load model (choose any available model)
|
|
9
|
-
MODEL_ID = "tokenaii/
|
|
9
|
+
MODEL_ID = "tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q4_K_M.gguf"
|
|
10
10
|
|
|
11
11
|
print("="*50)
|
|
12
12
|
print(" Horus Chat Terminal")
|
|
@@ -7,11 +7,11 @@ This folder contains code examples for downloading and using Horus models.
|
|
|
7
7
|
| Model ID | File Size | Type | Best For |
|
|
8
8
|
|----------|-----------|------|----------|
|
|
9
9
|
| `tokenaii/horus/Horus-1.0-4B` | ~10 GB | Safetensors | Maximum accuracy, GPU with 8GB+ VRAM |
|
|
10
|
-
| `tokenaii/
|
|
11
|
-
| `tokenaii/
|
|
12
|
-
| `tokenaii/
|
|
13
|
-
| `tokenaii/
|
|
14
|
-
| `tokenaii/
|
|
10
|
+
| `tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q4_K_M.gguf` | 2.78 GB | GGUF 4-bit | Low VRAM (4-6GB), fastest inference |
|
|
11
|
+
| `tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q5_K_M.gguf` | 3.23 GB | GGUF 5-bit | Balance between quality and memory |
|
|
12
|
+
| `tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q6_K.gguf` | 3.71 GB | GGUF 6-bit | Better quality with reasonable memory |
|
|
13
|
+
| `tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q8_0.gguf` | 4.8 GB | GGUF 8-bit | Good quality with ~50% memory savings |
|
|
14
|
+
| `tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-F16.gguf` | 9.83 GB | GGUF 16-bit | Maximum quality, same as original |
|
|
15
15
|
|
|
16
16
|
## Installation
|
|
17
17
|
|
|
@@ -24,7 +24,7 @@ pip install neuralnode[horus]
|
|
|
24
24
|
```python
|
|
25
25
|
import neuralnode as nn
|
|
26
26
|
|
|
27
|
-
model = nn.HorusModel("tokenaii/
|
|
27
|
+
model = nn.HorusModel("tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q4_K_M.gguf").load()
|
|
28
28
|
response = model.chat([{"role": "user", "content": "Hello!"}])
|
|
29
29
|
print(response.content)
|
|
30
30
|
```
|
|
@@ -13,8 +13,8 @@ import neuralnode as nn
|
|
|
13
13
|
|
|
14
14
|
def main() -> None:
|
|
15
15
|
# Example TQ model id (replace with the real published TQ GGUF file when available)
|
|
16
|
-
tq_model_id = "tokenaii/
|
|
17
|
-
q4_model_id = "tokenaii/
|
|
16
|
+
tq_model_id = "tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-TQ3_1S.gguf"
|
|
17
|
+
q4_model_id = "tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q4_K_M.gguf"
|
|
18
18
|
|
|
19
19
|
# Optional: register TQ in Horus listed models for nicer discovery.
|
|
20
20
|
nn.HorusModel.register_gguf_variant(
|
|
@@ -11,7 +11,7 @@ sys.path.insert(0, r"d:\Work Space\NeuralNode\neuralnode\src")
|
|
|
11
11
|
import neuralnode as nn
|
|
12
12
|
|
|
13
13
|
# Configuration
|
|
14
|
-
MODEL_ID = "tokenaii/
|
|
14
|
+
MODEL_ID = "tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q4_K_M.gguf"
|
|
15
15
|
CACHE_DIR = "D:/neuralnode_models"
|
|
16
16
|
|
|
17
17
|
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "neuralnode"
|
|
7
|
-
version = "2.1.
|
|
7
|
+
version = "2.1.2"
|
|
8
8
|
description = "Comprehensive AI Framework with 50+ LLM Providers, Advanced Agents, Chains, Memory, RAG, and 100+ Tools"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.9"
|
|
@@ -165,7 +165,7 @@ class HorusProvider(BaseLLMProvider):
|
|
|
165
165
|
"repo_id": "tokenaii/horus",
|
|
166
166
|
"subfolder": "Horus-1.0-4B",
|
|
167
167
|
},
|
|
168
|
-
"tokenaii/
|
|
168
|
+
"tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q4_K_M.gguf": {
|
|
169
169
|
"name": "Horus-1.0-4B-Q4_K_M.gguf",
|
|
170
170
|
"official_name": "Horus-1.0-4B-Q4_K_M.gguf",
|
|
171
171
|
"size": "4B",
|
|
@@ -173,7 +173,7 @@ class HorusProvider(BaseLLMProvider):
|
|
|
173
173
|
"quantization": "Q4_K_M",
|
|
174
174
|
"file_size": "2.78 GB",
|
|
175
175
|
},
|
|
176
|
-
"tokenaii/
|
|
176
|
+
"tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q5_K_M.gguf": {
|
|
177
177
|
"name": "Horus-1.0-4B-Q5_K_M.gguf",
|
|
178
178
|
"official_name": "Horus-1.0-4B-Q5_K_M.gguf",
|
|
179
179
|
"size": "4B",
|
|
@@ -181,7 +181,7 @@ class HorusProvider(BaseLLMProvider):
|
|
|
181
181
|
"quantization": "Q5_K_M",
|
|
182
182
|
"file_size": "3.23 GB",
|
|
183
183
|
},
|
|
184
|
-
"tokenaii/
|
|
184
|
+
"tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q6_K.gguf": {
|
|
185
185
|
"name": "Horus-1.0-4B-Q6_K.gguf",
|
|
186
186
|
"official_name": "Horus-1.0-4B-Q6_K.gguf",
|
|
187
187
|
"size": "4B",
|
|
@@ -189,7 +189,7 @@ class HorusProvider(BaseLLMProvider):
|
|
|
189
189
|
"quantization": "Q6_K",
|
|
190
190
|
"file_size": "3.71 GB",
|
|
191
191
|
},
|
|
192
|
-
"tokenaii/
|
|
192
|
+
"tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-Q8_0.gguf": {
|
|
193
193
|
"name": "Horus-1.0-4B-Q8_0.gguf",
|
|
194
194
|
"official_name": "Horus-1.0-4B-Q8_0.gguf",
|
|
195
195
|
"size": "4B",
|
|
@@ -197,7 +197,7 @@ class HorusProvider(BaseLLMProvider):
|
|
|
197
197
|
"quantization": "Q8_0",
|
|
198
198
|
"file_size": "4.8 GB",
|
|
199
199
|
},
|
|
200
|
-
"tokenaii/
|
|
200
|
+
"tokenaii/Horus-1.0-4B-GGUF/Horus-1.0-4B-F16.gguf": {
|
|
201
201
|
"name": "Horus-1.0-4B-F16.gguf",
|
|
202
202
|
"official_name": "Horus-1.0-4B-F16.gguf",
|
|
203
203
|
"size": "4B",
|
neuralnode-2.1.1/nn.md
DELETED
|
@@ -1,224 +0,0 @@
|
|
|
1
|
-
# NeuralNode AI Framework
|
|
2
|
-
|
|
3
|
-
**NeuralNode** is a next-generation Python framework for building, running, and managing **Large Language Models (LLMs)** and AI Agents, locally or via cloud providers. It is designed as a **smarter, simpler, and more powerful alternative to LangChain**, solving its major limitations while adding advanced capabilities for real-time AI interactions.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Table of Contents
|
|
8
|
-
|
|
9
|
-
1. [Overview](#overview)
|
|
10
|
-
2. [Key Features](#key-features)
|
|
11
|
-
3. [Advantages over LangChain](#advantages-over-langchain)
|
|
12
|
-
4. [Supported Providers and Models](#supported-providers-and-models)
|
|
13
|
-
5. [LLM Management & Runtime Features](#llm-management--runtime-features)
|
|
14
|
-
6. [AI Agents & Browser Integration](#ai-agents--browser-integration)
|
|
15
|
-
7. [Real-Time Time & Date Access](#real-time-time--date-access)
|
|
16
|
-
8. [Future Enhancements](#future-enhancements)
|
|
17
|
-
9. [Architecture Overview](#architecture-overview)
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
## Overview
|
|
22
|
-
|
|
23
|
-
NeuralNode aims to simplify AI development by providing a **unified, modular, and highly flexible framework** for:
|
|
24
|
-
|
|
25
|
-
- Local LLM deployment
|
|
26
|
-
- Cloud-based LLM integration
|
|
27
|
-
- Advanced agent creation
|
|
28
|
-
- Tool integration
|
|
29
|
-
- Real-time interactions
|
|
30
|
-
|
|
31
|
-
Unlike existing frameworks, NeuralNode prioritizes **speed, simplicity, and modularity** while maintaining full extensibility for developers and researchers.
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## Key Features
|
|
36
|
-
|
|
37
|
-
### 1. Unified LLM Interface
|
|
38
|
-
- One API for **all LLMs**, local or cloud
|
|
39
|
-
- Supports **chat, completion, embeddings, code generation, vision**
|
|
40
|
-
- Automatic provider selection (cloud vs local)
|
|
41
|
-
|
|
42
|
-
```python
|
|
43
|
-
from neuralnode import NeuralNode
|
|
44
|
-
|
|
45
|
-
ai = NeuralNode(provider="auto")
|
|
46
|
-
ai.chat("Explain Neural Networks")
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
### 2. Multi-Provider Support
|
|
50
|
-
- OpenAI, Anthropic, Google, Ollama, HuggingFace, and more
|
|
51
|
-
- Users can switch providers seamlessly without changing code
|
|
52
|
-
- Provider-specific optimizations handled automatically
|
|
53
|
-
|
|
54
|
-
### 3. Local AI Engine
|
|
55
|
-
- Runs any model fully locally (CPU/GPU supported)
|
|
56
|
-
- Automatic model download, installation, and quantization
|
|
57
|
-
- Detects hardware and recommends the best model
|
|
58
|
-
|
|
59
|
-
```python
|
|
60
|
-
ai.install("qwen2.5") # Auto downloads and configures model
|
|
61
|
-
ai.local_chat("Hello") # Runs fully offline
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### 4. Agent Capabilities
|
|
65
|
-
- Convert any LLM into a fully autonomous AI Agent
|
|
66
|
-
- Supports decision-making, tool usage, memory
|
|
67
|
-
- Can interact with web browsers, APIs, local tools
|
|
68
|
-
|
|
69
|
-
### 5. Tool & Browser Integration
|
|
70
|
-
- Connect LLMs to Chrome, Edge, or other browsers
|
|
71
|
-
- Automate tasks like web search, scraping, or navigation
|
|
72
|
-
- Supports JavaScript execution, form filling, and more
|
|
73
|
-
|
|
74
|
-
```python
|
|
75
|
-
ai.agent("search latest bitcoin price")
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
### 6. Real-Time Context Awareness
|
|
79
|
-
- Automatically provides current time and date to the model
|
|
80
|
-
- No additional coding required
|
|
81
|
-
- Useful for scheduling, reminders, or time-sensitive reasoning
|
|
82
|
-
|
|
83
|
-
### 7. RAG (Retrieval-Augmented Generation)
|
|
84
|
-
- Built-in support for PDFs, documents, and knowledge bases
|
|
85
|
-
- Embeddings, vector stores, and semantic search fully integrated
|
|
86
|
-
|
|
87
|
-
### 8. Advanced Prompt & Memory Management
|
|
88
|
-
- Conversation memory for multi-turn chat
|
|
89
|
-
- Automatic prompt formatting
|
|
90
|
-
- Context-aware chaining of tools and models
|
|
91
|
-
|
|
92
|
-
### 9. Hardware & Performance Optimization
|
|
93
|
-
- Detects CPU/GPU, RAM, and VRAM
|
|
94
|
-
- Automatically selects best model configuration (quantization, batch size, precision)
|
|
95
|
-
- Benchmarks models for latency and throughput
|
|
96
|
-
|
|
97
|
-
### 10. Modular & Extensible Architecture
|
|
98
|
-
- Easily add new providers, tools, embeddings, or agents
|
|
99
|
-
- Lightweight core, avoids LangChain over-engineering
|
|
100
|
-
|
|
101
|
-
---
|
|
102
|
-
|
|
103
|
-
## Advantages over LangChain
|
|
104
|
-
|
|
105
|
-
| LangChain Limitation | NeuralNode Solution |
|
|
106
|
-
| :--- | :--- |
|
|
107
|
-
| Over-engineered; too many layers for simple tasks | Minimal, unified API: `ai.chat("Hello")` |
|
|
108
|
-
| Slow due to deep abstraction layers | Direct API calls, optimized runtime |
|
|
109
|
-
| Complex to learn; 50+ concepts | 5 core concepts: Provider, Model, Agent, Tool, Memory |
|
|
110
|
-
| Debugging difficult | Clear errors and logging system |
|
|
111
|
-
| No real-time system access | Built-in time & date injection |
|
|
112
|
-
| Limited local AI support | Full local model support with auto installation & quantization |
|
|
113
|
-
| Partial provider support | Supports OpenAI, Anthropic, Google, HuggingFace, Ollama, and any future provider |
|
|
114
|
-
| Browser automation requires custom coding | Built-in browser and tool integration |
|
|
115
|
-
| Agent conversion is manual | Any LLM can be instantly converted into a fully autonomous local agent |
|
|
116
|
-
|
|
117
|
-
---
|
|
118
|
-
|
|
119
|
-
## Supported Providers and Models
|
|
120
|
-
|
|
121
|
-
- **Cloud Providers:** OpenAI, Anthropic, Google Gemini
|
|
122
|
-
- **Local Providers/Models:** Ollama, LLaMA (via llama.cpp), Qwen, HuggingFace Transformers
|
|
123
|
-
- **Embeddings:** OpenAI, HuggingFace, local models
|
|
124
|
-
- **Vision:** OpenAI Vision, HuggingFace Diffusion, local Vision models
|
|
125
|
-
- **Auto Provider Selection:** `provider="auto"` chooses cloud or local based on available hardware and API keys
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
## LLM Management & Runtime Features
|
|
130
|
-
|
|
131
|
-
- Automatic model download & caching
|
|
132
|
-
- Quantization (Q4/Q5/Q8)
|
|
133
|
-
- Batch processing & multi-turn chat
|
|
134
|
-
- Embeddings, code generation, and summarization
|
|
135
|
-
- GPU optimization and memory-efficient execution
|
|
136
|
-
- Real-time vector search for RAG applications
|
|
137
|
-
- Chain multiple models or tools without custom chaining code
|
|
138
|
-
|
|
139
|
-
---
|
|
140
|
-
|
|
141
|
-
## AI Agents & Browser Integration
|
|
142
|
-
|
|
143
|
-
**Agents can:**
|
|
144
|
-
- Open browser tabs in Chrome/Edge
|
|
145
|
-
- Execute search queries
|
|
146
|
-
- Scrape information
|
|
147
|
-
- Fill forms & interact with websites
|
|
148
|
-
- Connect to APIs and local tools
|
|
149
|
-
|
|
150
|
-
**Easy one-line agent creation:**
|
|
151
|
-
```python
|
|
152
|
-
ai.agent("Book a flight from NYC to London next week")
|
|
153
|
-
```
|
|
154
|
-
- Supports multi-agent orchestration
|
|
155
|
-
|
|
156
|
-
---
|
|
157
|
-
|
|
158
|
-
## Real-Time Time & Date Access
|
|
159
|
-
|
|
160
|
-
Every LLM invocation automatically receives:
|
|
161
|
-
- Current time
|
|
162
|
-
- Current date
|
|
163
|
-
- Timezone awareness
|
|
164
|
-
|
|
165
|
-
**Example:**
|
|
166
|
-
```python
|
|
167
|
-
ai.chat("Schedule a meeting 2 hours from now")
|
|
168
|
-
# Model automatically knows the current time & timezone
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
---
|
|
172
|
-
|
|
173
|
-
## Future Enhancements
|
|
174
|
-
|
|
175
|
-
- Voice integration (text-to-speech / speech-to-text)
|
|
176
|
-
- Multi-modal LLMs with vision & audio
|
|
177
|
-
- Built-in model benchmarking and recommendation engine
|
|
178
|
-
- Enhanced agent orchestration for large workflows
|
|
179
|
-
|
|
180
|
-
---
|
|
181
|
-
|
|
182
|
-
## Architecture Overview
|
|
183
|
-
|
|
184
|
-
```text
|
|
185
|
-
neuralnode/
|
|
186
|
-
│
|
|
187
|
-
├─ core/
|
|
188
|
-
│ └─ ai.py # Main API interface
|
|
189
|
-
│
|
|
190
|
-
├─ providers/
|
|
191
|
-
│ ├─ openai.py
|
|
192
|
-
│ ├─ anthropic.py
|
|
193
|
-
│ ├─ google.py
|
|
194
|
-
│ ├─ ollama.py
|
|
195
|
-
│ └─ huggingface.py
|
|
196
|
-
│
|
|
197
|
-
├─ local/
|
|
198
|
-
│ ├─ hardware.py # GPU/CPU detection
|
|
199
|
-
│ ├─ installer.py # Auto model download
|
|
200
|
-
│ └─ runtime.py # llama.cpp, Ollama runtime
|
|
201
|
-
│
|
|
202
|
-
├─ agents/
|
|
203
|
-
│ └─ agent.py # Full AI Agent logic
|
|
204
|
-
│
|
|
205
|
-
├─ tools/
|
|
206
|
-
│ └─ browser_integration.py
|
|
207
|
-
│
|
|
208
|
-
└─ rag/
|
|
209
|
-
└─ vectorstore.py
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
---
|
|
213
|
-
|
|
214
|
-
## Summary
|
|
215
|
-
|
|
216
|
-
NeuralNode is designed to be:
|
|
217
|
-
- **Simpler than LangChain**
|
|
218
|
-
- **More powerful & modular**
|
|
219
|
-
- **Fully local & cloud-ready**
|
|
220
|
-
- **Agent-first design**
|
|
221
|
-
- **Real-time aware**
|
|
222
|
-
- **Provider-agnostic**
|
|
223
|
-
|
|
224
|
-
It turns any LLM into a fully autonomous AI Agent running locally, with easy integration to browsers, tools, and real-world data sources. NeuralNode solves the main pain points of existing frameworks while staying flexible for research, development, and production use.
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|