neuralnode 1.0.0__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-1.0.0/LICENSE +21 -0
- neuralnode-1.0.0/PKG-INFO +157 -0
- neuralnode-1.0.0/PUBLISH.md +101 -0
- neuralnode-1.0.0/README.md +77 -0
- neuralnode-1.0.0/docs/documentation.md +2181 -0
- neuralnode-1.0.0/docs/ecosystem_plan.md +479 -0
- neuralnode-1.0.0/docs/telegram_guide.md +518 -0
- neuralnode-1.0.0/examples/agent_tools.py +116 -0
- neuralnode-1.0.0/examples/async_usage.py +103 -0
- neuralnode-1.0.0/examples/basic_chat.py +63 -0
- neuralnode-1.0.0/examples/complete_showcase.py +218 -0
- neuralnode-1.0.0/examples/new_features_demo.py +304 -0
- neuralnode-1.0.0/examples/rag_example.py +112 -0
- neuralnode-1.0.0/examples/structured_output.py +142 -0
- neuralnode-1.0.0/features.md +1013 -0
- neuralnode-1.0.0/nn.md +224 -0
- neuralnode-1.0.0/publish.bat +63 -0
- neuralnode-1.0.0/publish.sh +66 -0
- neuralnode-1.0.0/pyproject.toml +102 -0
- neuralnode-1.0.0/scripts/setup.py +127 -0
- neuralnode-1.0.0/src/neuralnode/__init__.py +138 -0
- neuralnode-1.0.0/src/neuralnode/agents/__init__.py +36 -0
- neuralnode-1.0.0/src/neuralnode/agents/agent.py +276 -0
- neuralnode-1.0.0/src/neuralnode/agents/auto_agent.py +409 -0
- neuralnode-1.0.0/src/neuralnode/agents/enhanced_agent.py +324 -0
- neuralnode-1.0.0/src/neuralnode/agents/orchestrator.py +297 -0
- neuralnode-1.0.0/src/neuralnode/agents/react_agent.py +447 -0
- neuralnode-1.0.0/src/neuralnode/chains/__init__.py +27 -0
- neuralnode-1.0.0/src/neuralnode/chains/multimodal_chain.py +239 -0
- neuralnode-1.0.0/src/neuralnode/chains/pipeline.py +335 -0
- neuralnode-1.0.0/src/neuralnode/cli/main.py +303 -0
- neuralnode-1.0.0/src/neuralnode/core/__init__.py +29 -0
- neuralnode-1.0.0/src/neuralnode/core/ai.py +410 -0
- neuralnode-1.0.0/src/neuralnode/core/types.py +269 -0
- neuralnode-1.0.0/src/neuralnode/deployment/multi_platform.py +568 -0
- neuralnode-1.0.0/src/neuralnode/distributed/advanced_distributed.py +337 -0
- neuralnode-1.0.0/src/neuralnode/distributed/cluster.py +284 -0
- neuralnode-1.0.0/src/neuralnode/gui/quantization_gui.py +180 -0
- neuralnode-1.0.0/src/neuralnode/integrations/telegram.py +470 -0
- neuralnode-1.0.0/src/neuralnode/local/__init__.py +5 -0
- neuralnode-1.0.0/src/neuralnode/local/hardware.py +220 -0
- neuralnode-1.0.0/src/neuralnode/local/llm_hub.py +332 -0
- neuralnode-1.0.0/src/neuralnode/local/quantization.py +419 -0
- neuralnode-1.0.0/src/neuralnode/memory/__init__.py +8 -0
- neuralnode-1.0.0/src/neuralnode/memory/advanced_memory.py +468 -0
- neuralnode-1.0.0/src/neuralnode/memory/context_compression.py +418 -0
- neuralnode-1.0.0/src/neuralnode/memory/conversation.py +119 -0
- neuralnode-1.0.0/src/neuralnode/monitoring/dashboard.py +388 -0
- neuralnode-1.0.0/src/neuralnode/prompts/registry.py +414 -0
- neuralnode-1.0.0/src/neuralnode/providers/__init__.py +15 -0
- neuralnode-1.0.0/src/neuralnode/providers/anthropic.py +270 -0
- neuralnode-1.0.0/src/neuralnode/providers/google.py +206 -0
- neuralnode-1.0.0/src/neuralnode/providers/huggingface.py +223 -0
- neuralnode-1.0.0/src/neuralnode/providers/ollama.py +290 -0
- neuralnode-1.0.0/src/neuralnode/providers/openai.py +233 -0
- neuralnode-1.0.0/src/neuralnode/providers/sdk.py +321 -0
- neuralnode-1.0.0/src/neuralnode/rag/__init__.py +33 -0
- neuralnode-1.0.0/src/neuralnode/rag/advanced_vectorstore.py +532 -0
- neuralnode-1.0.0/src/neuralnode/rag/advanced_vectorstores.py +441 -0
- neuralnode-1.0.0/src/neuralnode/rag/loaders.py +352 -0
- neuralnode-1.0.0/src/neuralnode/rag/vectorstore.py +337 -0
- neuralnode-1.0.0/src/neuralnode/security/human_in_the_loop.py +383 -0
- neuralnode-1.0.0/src/neuralnode/security/privacy_mode.py +251 -0
- neuralnode-1.0.0/src/neuralnode/tools/__init__.py +63 -0
- neuralnode-1.0.0/src/neuralnode/tools/advanced_web_search.py +500 -0
- neuralnode-1.0.0/src/neuralnode/tools/browser_automation.py +444 -0
- neuralnode-1.0.0/src/neuralnode/tools/builtin.py +293 -0
- neuralnode-1.0.0/src/neuralnode/tools/calendar_integration.py +449 -0
- neuralnode-1.0.0/src/neuralnode/tools/code_interpreter.py +337 -0
- neuralnode-1.0.0/src/neuralnode/tools/email_tool.py +349 -0
- neuralnode-1.0.0/src/neuralnode/tools/file_watcher.py +270 -0
- neuralnode-1.0.0/src/neuralnode/tools/multimodal.py +413 -0
- neuralnode-1.0.0/src/neuralnode/tools/native_tool_parser.py +451 -0
- neuralnode-1.0.0/src/neuralnode/tools/secure_code_interpreter.py +357 -0
- neuralnode-1.0.0/src/neuralnode/tools/system_control.py +665 -0
- neuralnode-1.0.0/src/neuralnode/tools/universal_tools.py +370 -0
- neuralnode-1.0.0/src/neuralnode/tools/web_search.py +322 -0
- neuralnode-1.0.0/src/neuralnode/training/benchmark.py +430 -0
- neuralnode-1.0.0/src/neuralnode/training/compression.py +307 -0
- neuralnode-1.0.0/src/neuralnode/training/federated.py +347 -0
- neuralnode-1.0.0/src/neuralnode/training/finetune.py +253 -0
- neuralnode-1.0.0/src/neuralnode/training/rl_system.py +388 -0
- neuralnode-1.0.0/src/neuralnode/training/rlhf_pipeline.py +462 -0
- neuralnode-1.0.0/src/neuralnode/utils/__init__.py +101 -0
- neuralnode-1.0.0/src/neuralnode/utils/auto_provider.py +123 -0
- neuralnode-1.0.0/src/neuralnode/utils/cache.py +418 -0
- neuralnode-1.0.0/src/neuralnode/utils/chat_templates.py +237 -0
- neuralnode-1.0.0/src/neuralnode/utils/graceful_degradation.py +275 -0
- neuralnode-1.0.0/src/neuralnode/utils/monitoring.py +397 -0
- neuralnode-1.0.0/src/neuralnode/utils/neural_doctor.py +487 -0
- neuralnode-1.0.0/src/neuralnode/utils/output_parsers.py +330 -0
- neuralnode-1.0.0/src/neuralnode/utils/retry.py +240 -0
- neuralnode-1.0.0/src/neuralnode/utils/self_healing.py +387 -0
- neuralnode-1.0.0/src/neuralnode/utils/smart_cache.py +352 -0
- neuralnode-1.0.0/src/neuralnode/utils/time_context.py +64 -0
- neuralnode-1.0.0/src/neuralnode/workflow/builder.py +458 -0
- neuralnode-1.0.0/src/nn/__init__.py +50 -0
- neuralnode-1.0.0/tests/__init__.py +1 -0
- neuralnode-1.0.0/tests/test_agents.py +147 -0
- neuralnode-1.0.0/tests/test_comprehensive.py +507 -0
- neuralnode-1.0.0/tests/test_core.py +114 -0
- neuralnode-1.0.0/tests/test_rag.py +133 -0
- neuralnode-1.0.0/tests/test_utils.py +102 -0
neuralnode-1.0.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 NeuralNode
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: neuralnode
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: A comprehensive Python framework for building AI agents with support for both cloud-based LLM APIs and local models
|
|
5
|
+
Project-URL: Homepage, https://github.com/neuralnode/neuralnode
|
|
6
|
+
Project-URL: Documentation, https://neuralnode.readthedocs.io
|
|
7
|
+
Project-URL: Repository, https://github.com/neuralnode/neuralnode
|
|
8
|
+
Project-URL: Issues, https://github.com/neuralnode/neuralnode/issues
|
|
9
|
+
Author-email: Assem Sabry <assemsabry@example.com>
|
|
10
|
+
Maintainer-email: Assem Sabry <assemsabry@example.com>
|
|
11
|
+
License: MIT
|
|
12
|
+
License-File: LICENSE
|
|
13
|
+
Keywords: agent,ai,anthropic,framework,langchain-alternative,llm,ollama,openai,rag,vector-search
|
|
14
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
15
|
+
Classifier: Intended Audience :: Developers
|
|
16
|
+
Classifier: Intended Audience :: Science/Research
|
|
17
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
18
|
+
Classifier: Operating System :: OS Independent
|
|
19
|
+
Classifier: Programming Language :: Python :: 3
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
25
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
26
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
27
|
+
Requires-Python: >=3.8
|
|
28
|
+
Requires-Dist: aiohttp>=3.8.0
|
|
29
|
+
Requires-Dist: pydantic>=2.0.0
|
|
30
|
+
Requires-Dist: requests>=2.28.0
|
|
31
|
+
Requires-Dist: tenacity>=8.2.0
|
|
32
|
+
Requires-Dist: typing-extensions>=4.5.0
|
|
33
|
+
Provides-Extra: all
|
|
34
|
+
Requires-Dist: accelerate>=0.24.0; extra == 'all'
|
|
35
|
+
Requires-Dist: anthropic>=0.18.0; extra == 'all'
|
|
36
|
+
Requires-Dist: beautifulsoup4>=4.12.0; extra == 'all'
|
|
37
|
+
Requires-Dist: faiss-cpu>=1.7.0; extra == 'all'
|
|
38
|
+
Requires-Dist: google-generativeai>=0.3.0; extra == 'all'
|
|
39
|
+
Requires-Dist: llama-cpp-python>=0.2.0; extra == 'all'
|
|
40
|
+
Requires-Dist: numpy>=1.24.0; extra == 'all'
|
|
41
|
+
Requires-Dist: ollama>=0.1.0; extra == 'all'
|
|
42
|
+
Requires-Dist: openai>=1.0.0; extra == 'all'
|
|
43
|
+
Requires-Dist: playwright>=1.40.0; extra == 'all'
|
|
44
|
+
Requires-Dist: pypdf>=3.17.0; extra == 'all'
|
|
45
|
+
Requires-Dist: selenium>=4.15.0; extra == 'all'
|
|
46
|
+
Requires-Dist: torch>=2.0.0; extra == 'all'
|
|
47
|
+
Requires-Dist: transformers>=4.35.0; extra == 'all'
|
|
48
|
+
Provides-Extra: anthropic
|
|
49
|
+
Requires-Dist: anthropic>=0.18.0; extra == 'anthropic'
|
|
50
|
+
Provides-Extra: browser
|
|
51
|
+
Requires-Dist: playwright>=1.40.0; extra == 'browser'
|
|
52
|
+
Requires-Dist: selenium>=4.15.0; extra == 'browser'
|
|
53
|
+
Provides-Extra: dev
|
|
54
|
+
Requires-Dist: black>=23.0.0; extra == 'dev'
|
|
55
|
+
Requires-Dist: mypy>=1.7.0; extra == 'dev'
|
|
56
|
+
Requires-Dist: pre-commit>=3.5.0; extra == 'dev'
|
|
57
|
+
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
|
|
58
|
+
Requires-Dist: pytest>=7.4.0; extra == 'dev'
|
|
59
|
+
Requires-Dist: ruff>=0.1.0; extra == 'dev'
|
|
60
|
+
Provides-Extra: google
|
|
61
|
+
Requires-Dist: google-generativeai>=0.3.0; extra == 'google'
|
|
62
|
+
Provides-Extra: huggingface
|
|
63
|
+
Requires-Dist: accelerate>=0.24.0; extra == 'huggingface'
|
|
64
|
+
Requires-Dist: torch>=2.0.0; extra == 'huggingface'
|
|
65
|
+
Requires-Dist: transformers>=4.35.0; extra == 'huggingface'
|
|
66
|
+
Provides-Extra: local
|
|
67
|
+
Requires-Dist: llama-cpp-python>=0.2.0; extra == 'local'
|
|
68
|
+
Requires-Dist: torch>=2.0.0; extra == 'local'
|
|
69
|
+
Requires-Dist: transformers>=4.35.0; extra == 'local'
|
|
70
|
+
Provides-Extra: ollama
|
|
71
|
+
Requires-Dist: ollama>=0.1.0; extra == 'ollama'
|
|
72
|
+
Provides-Extra: openai
|
|
73
|
+
Requires-Dist: openai>=1.0.0; extra == 'openai'
|
|
74
|
+
Provides-Extra: rag
|
|
75
|
+
Requires-Dist: beautifulsoup4>=4.12.0; extra == 'rag'
|
|
76
|
+
Requires-Dist: faiss-cpu>=1.7.0; extra == 'rag'
|
|
77
|
+
Requires-Dist: numpy>=1.24.0; extra == 'rag'
|
|
78
|
+
Requires-Dist: pypdf>=3.17.0; extra == 'rag'
|
|
79
|
+
Description-Content-Type: text/markdown
|
|
80
|
+
|
|
81
|
+
# NeuralNode
|
|
82
|
+
|
|
83
|
+
A next-generation Python framework for building, running, and managing **Large Language Models (LLMs)** and AI Agents, locally or via cloud providers.
|
|
84
|
+
|
|
85
|
+
> **The smarter, simpler, and more powerful alternative to LangChain.**
|
|
86
|
+
|
|
87
|
+
## Features
|
|
88
|
+
|
|
89
|
+
- **Unified LLM Interface** - One API for all LLMs (local or cloud)
|
|
90
|
+
- **Multi-Provider Support** - OpenAI, Anthropic, Google, Ollama, HuggingFace
|
|
91
|
+
- **Streaming & Async** - Real-time responses with full async support
|
|
92
|
+
- **Function Calling** - Native tool use with structured outputs
|
|
93
|
+
- **Local AI Engine** - Auto-download, quantization, hardware optimization
|
|
94
|
+
- **AI Agents** - Convert any LLM into an autonomous agent
|
|
95
|
+
- **Browser Integration** - Chrome/Edge automation built-in
|
|
96
|
+
- **RAG Built-in** - PDFs, documents, vector stores, semantic search
|
|
97
|
+
- **Real-Time Context** - Automatic time/date injection
|
|
98
|
+
- **Memory Management** - Conversation history, context-aware chaining
|
|
99
|
+
|
|
100
|
+
## Quick Start
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
pip install neuralnode
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
```python
|
|
107
|
+
from neuralnode import NeuralNode
|
|
108
|
+
|
|
109
|
+
# Auto-detect best provider
|
|
110
|
+
ai = NeuralNode(provider="auto")
|
|
111
|
+
|
|
112
|
+
# Simple chat
|
|
113
|
+
response = ai.chat("Explain quantum computing")
|
|
114
|
+
print(response.text)
|
|
115
|
+
|
|
116
|
+
# With streaming
|
|
117
|
+
for chunk in ai.chat("Tell me a story", stream=True):
|
|
118
|
+
print(chunk.text, end="")
|
|
119
|
+
|
|
120
|
+
# Async support
|
|
121
|
+
response = await ai.achat("Hello!")
|
|
122
|
+
|
|
123
|
+
# Create an agent
|
|
124
|
+
agent = ai.agent()
|
|
125
|
+
result = agent.run("Find the latest news about AI")
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Installation
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
# Base install
|
|
132
|
+
pip install neuralnode
|
|
133
|
+
|
|
134
|
+
# With specific providers
|
|
135
|
+
pip install neuralnode[openai,anthropic]
|
|
136
|
+
|
|
137
|
+
# Full install with all features
|
|
138
|
+
pip install neuralnode[all]
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## Architecture
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
neuralnode/
|
|
145
|
+
├── core/ # Base interfaces and types
|
|
146
|
+
├── providers/ # LLM provider implementations
|
|
147
|
+
├── agents/ # Agent system and orchestration
|
|
148
|
+
├── tools/ # Tool integrations (browser, APIs)
|
|
149
|
+
├── rag/ # Retrieval-Augmented Generation
|
|
150
|
+
├── memory/ # Conversation and context management
|
|
151
|
+
├── local/ # Local model runtime and hardware
|
|
152
|
+
└── utils/ # Utilities and helpers
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## License
|
|
156
|
+
|
|
157
|
+
MIT License - see LICENSE file for details.
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# PyPI Publishing Commands for NeuralNode v1.0.0
|
|
2
|
+
|
|
3
|
+
## Prerequisites
|
|
4
|
+
1. Make sure all tests pass
|
|
5
|
+
2. Update version to 1.0.0 in pyproject.toml
|
|
6
|
+
3. Update README.md with latest features
|
|
7
|
+
4. Ensure all files are committed to git
|
|
8
|
+
|
|
9
|
+
## Quick Publish (Linux/Mac)
|
|
10
|
+
```bash
|
|
11
|
+
# Make script executable
|
|
12
|
+
chmod +x publish.sh
|
|
13
|
+
|
|
14
|
+
# Run the script
|
|
15
|
+
./publish.sh
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Quick Publish (Windows)
|
|
19
|
+
```cmd
|
|
20
|
+
# Run the batch file
|
|
21
|
+
publish.bat
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Manual Publishing Steps
|
|
25
|
+
|
|
26
|
+
### 1. Clean and Build
|
|
27
|
+
```bash
|
|
28
|
+
# Clean previous builds
|
|
29
|
+
rm -rf dist/ build/ *.egg-info/
|
|
30
|
+
|
|
31
|
+
# Install build tools
|
|
32
|
+
pip install --upgrade build twine
|
|
33
|
+
|
|
34
|
+
# Build the package
|
|
35
|
+
python -m build
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### 2. Check Distribution
|
|
39
|
+
```bash
|
|
40
|
+
# Verify the package
|
|
41
|
+
twine check dist/*
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### 3. Upload to PyPI
|
|
45
|
+
```bash
|
|
46
|
+
# Upload with your token
|
|
47
|
+
twine upload dist/* \
|
|
48
|
+
--username __token__ \
|
|
49
|
+
--password pypi-AgEIcHlwaS5vcmcCJGQ1ZjQ2NDQyLThjNjctNGNlYi1hOTlhLTYyMGFlZGQ2MzAxOAACKlszLCJiMzI5ODAyMi04MjlhLTRlODItOWQzMC1iNzlmZWM2NjdlZmIiXQAABiDYVt0Dx5n9hI2ZtbQxW1v_fvfgFJd_XwhC3ZT9hp6wfw
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### 4. Verify Installation
|
|
53
|
+
```bash
|
|
54
|
+
# Install from PyPI
|
|
55
|
+
pip install neuralnode==1.0.0
|
|
56
|
+
|
|
57
|
+
# Test import
|
|
58
|
+
python -c "import neuralnode; print(neuralnode.__version__)"
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Test with TestPyPI (Optional)
|
|
62
|
+
```bash
|
|
63
|
+
# Upload to test server first
|
|
64
|
+
twine upload --repository testpypi dist/* \
|
|
65
|
+
--username __token__ \
|
|
66
|
+
--password pypi-AgEIcHlwaS5vcmcCJGQ1ZjQ2NDQyLThjNjctNGNlYi1hOTlhLTYyMGFlZGQ2MzAxOAACKlszLCJiMzI5ODAyMi04MjlhLTRlODItOWQzMC1iNzlmZWM2NjdlZmIiXQAABiDYVt0Dx5n9hI2ZtbQxW1v_fvfgFJd_XwhC3ZT9hp6wfw
|
|
67
|
+
|
|
68
|
+
# Install from TestPyPI
|
|
69
|
+
pip install --index-url https://test.pypi.org/simple/ neuralnode==1.0.0
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## After Publishing
|
|
73
|
+
1. Visit https://pypi.org/project/neuralnode/1.0.0/
|
|
74
|
+
2. Check that all files are uploaded correctly
|
|
75
|
+
3. Test installation in a fresh environment
|
|
76
|
+
4. Update GitHub releases with v1.0.0 tag
|
|
77
|
+
5. Announce the release!
|
|
78
|
+
|
|
79
|
+
## Troubleshooting
|
|
80
|
+
|
|
81
|
+
### Token Issues
|
|
82
|
+
If you get "Invalid token" error:
|
|
83
|
+
1. Check your PyPI token is valid
|
|
84
|
+
2. Ensure no extra spaces in the token
|
|
85
|
+
3. Generate a new token from PyPI account settings
|
|
86
|
+
|
|
87
|
+
### Build Errors
|
|
88
|
+
Common issues:
|
|
89
|
+
- Missing dependencies: `pip install build`
|
|
90
|
+
- Permission errors: Use `sudo` on Linux
|
|
91
|
+
- Python version: Ensure Python 3.8+
|
|
92
|
+
|
|
93
|
+
### Upload Errors
|
|
94
|
+
- File already exists: Increment version number
|
|
95
|
+
- Invalid metadata: Check pyproject.toml syntax
|
|
96
|
+
- Network issues: Try again or use VPN
|
|
97
|
+
|
|
98
|
+
## Success!
|
|
99
|
+
🎉 NeuralNode v1.0.0 is now live on PyPI!
|
|
100
|
+
|
|
101
|
+
Link: https://pypi.org/project/neuralnode/1.0.0/
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# NeuralNode
|
|
2
|
+
|
|
3
|
+
A next-generation Python framework for building, running, and managing **Large Language Models (LLMs)** and AI Agents, locally or via cloud providers.
|
|
4
|
+
|
|
5
|
+
> **The smarter, simpler, and more powerful alternative to LangChain.**
|
|
6
|
+
|
|
7
|
+
## Features
|
|
8
|
+
|
|
9
|
+
- **Unified LLM Interface** - One API for all LLMs (local or cloud)
|
|
10
|
+
- **Multi-Provider Support** - OpenAI, Anthropic, Google, Ollama, HuggingFace
|
|
11
|
+
- **Streaming & Async** - Real-time responses with full async support
|
|
12
|
+
- **Function Calling** - Native tool use with structured outputs
|
|
13
|
+
- **Local AI Engine** - Auto-download, quantization, hardware optimization
|
|
14
|
+
- **AI Agents** - Convert any LLM into an autonomous agent
|
|
15
|
+
- **Browser Integration** - Chrome/Edge automation built-in
|
|
16
|
+
- **RAG Built-in** - PDFs, documents, vector stores, semantic search
|
|
17
|
+
- **Real-Time Context** - Automatic time/date injection
|
|
18
|
+
- **Memory Management** - Conversation history, context-aware chaining
|
|
19
|
+
|
|
20
|
+
## Quick Start
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
pip install neuralnode
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
```python
|
|
27
|
+
from neuralnode import NeuralNode
|
|
28
|
+
|
|
29
|
+
# Auto-detect best provider
|
|
30
|
+
ai = NeuralNode(provider="auto")
|
|
31
|
+
|
|
32
|
+
# Simple chat
|
|
33
|
+
response = ai.chat("Explain quantum computing")
|
|
34
|
+
print(response.text)
|
|
35
|
+
|
|
36
|
+
# With streaming
|
|
37
|
+
for chunk in ai.chat("Tell me a story", stream=True):
|
|
38
|
+
print(chunk.text, end="")
|
|
39
|
+
|
|
40
|
+
# Async support
|
|
41
|
+
response = await ai.achat("Hello!")
|
|
42
|
+
|
|
43
|
+
# Create an agent
|
|
44
|
+
agent = ai.agent()
|
|
45
|
+
result = agent.run("Find the latest news about AI")
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Installation
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# Base install
|
|
52
|
+
pip install neuralnode
|
|
53
|
+
|
|
54
|
+
# With specific providers
|
|
55
|
+
pip install neuralnode[openai,anthropic]
|
|
56
|
+
|
|
57
|
+
# Full install with all features
|
|
58
|
+
pip install neuralnode[all]
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Architecture
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
neuralnode/
|
|
65
|
+
├── core/ # Base interfaces and types
|
|
66
|
+
├── providers/ # LLM provider implementations
|
|
67
|
+
├── agents/ # Agent system and orchestration
|
|
68
|
+
├── tools/ # Tool integrations (browser, APIs)
|
|
69
|
+
├── rag/ # Retrieval-Augmented Generation
|
|
70
|
+
├── memory/ # Conversation and context management
|
|
71
|
+
├── local/ # Local model runtime and hardware
|
|
72
|
+
└── utils/ # Utilities and helpers
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## License
|
|
76
|
+
|
|
77
|
+
MIT License - see LICENSE file for details.
|