adaptive-intelligence 2.0.0__tar.gz → 2.0.1__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.
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/PKG-INFO +56 -14
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/README.md +55 -13
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/__init__.py +1 -1
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/core/engine.py +2 -2
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence.egg-info/PKG-INFO +56 -14
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/pyproject.toml +1 -1
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/tests/test_core.py +1 -1
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/LICENSE +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/core/__init__.py +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/core/config.py +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/core/response.py +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/evaluation/__init__.py +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/graph/__init__.py +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/indexes/__init__.py +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/indexes/base.py +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/indexes/keyword_index.py +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/indexes/page_index.py +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/indexes/vector_index.py +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/ingestion/__init__.py +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/ingestion/chunker.py +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/ingestion/engine.py +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/ingestion/parser.py +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/llm/__init__.py +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/memory/__init__.py +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/prompts/__init__.py +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/query/__init__.py +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/rl/__init__.py +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/security/__init__.py +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/utils/__init__.py +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence.egg-info/SOURCES.txt +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence.egg-info/dependency_links.txt +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence.egg-info/requires.txt +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence.egg-info/top_level.txt +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/setup.cfg +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/tests/test_evaluation.py +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/tests/test_graph.py +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/tests/test_ingestion.py +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/tests/test_query.py +0 -0
- {adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/tests/test_rl.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: adaptive-intelligence
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.1
|
|
4
4
|
Summary: Self-improving retrieval orchestration framework with RL-based routing, conditional graph activation, and evaluation-driven learning.
|
|
5
5
|
Author-email: Venkatkumar Rajan <venkatkumarr.vk99@gmail.com>
|
|
6
6
|
License: Apache-2.0
|
|
@@ -116,19 +116,59 @@ engine.feedback(response.query_id, "bad", reason="Missing data")
|
|
|
116
116
|
|
|
117
117
|
---
|
|
118
118
|
|
|
119
|
-
##
|
|
120
|
-
|
|
121
|
-
| | Traditional RAG | Adaptive Intelligence |
|
|
122
|
-
|
|
123
|
-
| Retrieval | Static vector similarity | RL-learned
|
|
124
|
-
|
|
|
125
|
-
|
|
|
126
|
-
|
|
|
127
|
-
|
|
|
128
|
-
|
|
|
129
|
-
|
|
|
130
|
-
|
|
|
131
|
-
|
|
|
119
|
+
## Comparison: Traditional RAG vs GraphRAG vs Adaptive Intelligence
|
|
120
|
+
|
|
121
|
+
| S.No. | Capability | Traditional RAG | GraphRAG | Adaptive Intelligence |
|
|
122
|
+
|-------|-----------|----------------|----------|----------------------|
|
|
123
|
+
| 1 | Retrieval strategy | Static vector similarity | Always graph + vector | RL-learned per query (6+ routes) |
|
|
124
|
+
| 2 | Knowledge graph | None | Always on | Conditional (5-signal gate) |
|
|
125
|
+
| 3 | Learning | None — same forever | None — static | Improves every query (RL reward loop) |
|
|
126
|
+
| 4 | Evaluation | None built-in | None built-in | 6 metrics automatic per response |
|
|
127
|
+
| 5 | Prompt engineering | Fixed template | Fixed template | Domain-aware, evolving from feedback |
|
|
128
|
+
| 6 | Query understanding | None | Basic | Type + complexity + domain + entities |
|
|
129
|
+
| 7 | Keyword retrieval | No (vector only) | No | BM25 + hybrid RRF fusion |
|
|
130
|
+
| 8 | Vectorless option | No | No | Page BM25 + graph (zero dependencies) |
|
|
131
|
+
| 9 | Graph compute waste | N/A | Yes — runs on every query | No — conditional activation |
|
|
132
|
+
| 10 | Output formats | Text only | Text only | JSON, CSV, YAML, DataFrame |
|
|
133
|
+
| 11 | User feedback | None | None | Thumbs up/down → RL update |
|
|
134
|
+
| 12 | Crash recovery | None | Partial | Auto-checkpoint + graceful shutdown |
|
|
135
|
+
| 13 | LLM agnostic | Usually tied to one | Usually tied to one | Any provider (10+ supported) |
|
|
136
|
+
| 14 | Audit trail | None | None | Full per-query decision log |
|
|
137
|
+
|
|
138
|
+
## Version Evolution (v1 → v2)
|
|
139
|
+
|
|
140
|
+
| S.No. | Feature | v1 | v2 (current) |
|
|
141
|
+
|-------|---------|----|----|
|
|
142
|
+
| 1 | RL policy engine | Thompson Sampling | + configurable warmup |
|
|
143
|
+
| 2 | Conditional graph | 5-signal gate + BFS | + disk persistence |
|
|
144
|
+
| 3 | Evaluation | 6 metrics → reward | + user feedback as reward |
|
|
145
|
+
| 4 | Ingestion | Basic parsing | Hardened (every edge case) |
|
|
146
|
+
| 5 | SQL connector | No | PostgreSQL, MySQL, SQLite |
|
|
147
|
+
| 6 | Vectorless mode | No | Page BM25, zero dependencies |
|
|
148
|
+
| 7 | Output formats | Text only | JSON, CSV, YAML, DataFrame, custom schema |
|
|
149
|
+
| 8 | User feedback | No | Thumbs up/down → RL reward |
|
|
150
|
+
| 9 | Crash recovery | Partial (ChromaDB only) | Full (BM25 + graph + RL + memory) |
|
|
151
|
+
| 10 | Incremental ingest | No | add / remove / update |
|
|
152
|
+
| 11 | Parallel ingestion | No | ThreadPoolExecutor |
|
|
153
|
+
| 12 | System prompt | Hardcoded | Custom per-init, per-query |
|
|
154
|
+
| 13 | Page citations | chunk_id only | Page numbers |
|
|
155
|
+
| 14 | Chunk quality | No filtering | Quality scoring + dedup (SimHash) |
|
|
156
|
+
| 15 | Providers | Ollama + OpenAI + HF | 10+ (NVIDIA, Groq, Gemini, Grok, Azure...) |
|
|
157
|
+
|
|
158
|
+
## Experimental Results
|
|
159
|
+
|
|
160
|
+
20 queries, 5 categories. Same LLM backend, same document corpus.
|
|
161
|
+
|
|
162
|
+
| S.No. | Query category | Traditional RAG | Adaptive Intelligence | Delta |
|
|
163
|
+
|-------|---------------|----------------|----------------------|-------|
|
|
164
|
+
| 1 | Factual | 85% | 90% | +5% |
|
|
165
|
+
| 2 | Relational | 45% | 78% | +33% |
|
|
166
|
+
| 3 | Analytical | 55% | 75% | +20% |
|
|
167
|
+
| 4 | Comparative | 50% | 80% | +30% |
|
|
168
|
+
| 5 | Multi-hop | 35% | 72% | +37% |
|
|
169
|
+
| 6 | **Overall** | **54%** | **79%** | **+25%** |
|
|
170
|
+
|
|
171
|
+
Metric: keyword coverage (fraction of expected keywords in answer). Both systems use identical LLM and corpus. Adaptive Intelligence used 5 different retrieval strategies; Traditional RAG used 1. Graph activated for 5/20 queries (conditional, not wasted on simple lookups).
|
|
132
172
|
|
|
133
173
|
---
|
|
134
174
|
|
|
@@ -369,6 +409,8 @@ config = AdaptiveConfig(
|
|
|
369
409
|
engine = AdaptiveAI(config=config)
|
|
370
410
|
```
|
|
371
411
|
|
|
412
|
+
---
|
|
413
|
+
|
|
372
414
|
## Why This Exists
|
|
373
415
|
|
|
374
416
|
The world has 500+ LLMs. Every cloud provider (Azure, AWS, GCP), every platform (HuggingFace, Ollama), every company (NVIDIA, Meta, Google, xAI) is producing models. Many are free.
|
|
@@ -54,19 +54,59 @@ engine.feedback(response.query_id, "bad", reason="Missing data")
|
|
|
54
54
|
|
|
55
55
|
---
|
|
56
56
|
|
|
57
|
-
##
|
|
58
|
-
|
|
59
|
-
| | Traditional RAG | Adaptive Intelligence |
|
|
60
|
-
|
|
61
|
-
| Retrieval | Static vector similarity | RL-learned
|
|
62
|
-
|
|
|
63
|
-
|
|
|
64
|
-
|
|
|
65
|
-
|
|
|
66
|
-
|
|
|
67
|
-
|
|
|
68
|
-
|
|
|
69
|
-
|
|
|
57
|
+
## Comparison: Traditional RAG vs GraphRAG vs Adaptive Intelligence
|
|
58
|
+
|
|
59
|
+
| S.No. | Capability | Traditional RAG | GraphRAG | Adaptive Intelligence |
|
|
60
|
+
|-------|-----------|----------------|----------|----------------------|
|
|
61
|
+
| 1 | Retrieval strategy | Static vector similarity | Always graph + vector | RL-learned per query (6+ routes) |
|
|
62
|
+
| 2 | Knowledge graph | None | Always on | Conditional (5-signal gate) |
|
|
63
|
+
| 3 | Learning | None — same forever | None — static | Improves every query (RL reward loop) |
|
|
64
|
+
| 4 | Evaluation | None built-in | None built-in | 6 metrics automatic per response |
|
|
65
|
+
| 5 | Prompt engineering | Fixed template | Fixed template | Domain-aware, evolving from feedback |
|
|
66
|
+
| 6 | Query understanding | None | Basic | Type + complexity + domain + entities |
|
|
67
|
+
| 7 | Keyword retrieval | No (vector only) | No | BM25 + hybrid RRF fusion |
|
|
68
|
+
| 8 | Vectorless option | No | No | Page BM25 + graph (zero dependencies) |
|
|
69
|
+
| 9 | Graph compute waste | N/A | Yes — runs on every query | No — conditional activation |
|
|
70
|
+
| 10 | Output formats | Text only | Text only | JSON, CSV, YAML, DataFrame |
|
|
71
|
+
| 11 | User feedback | None | None | Thumbs up/down → RL update |
|
|
72
|
+
| 12 | Crash recovery | None | Partial | Auto-checkpoint + graceful shutdown |
|
|
73
|
+
| 13 | LLM agnostic | Usually tied to one | Usually tied to one | Any provider (10+ supported) |
|
|
74
|
+
| 14 | Audit trail | None | None | Full per-query decision log |
|
|
75
|
+
|
|
76
|
+
## Version Evolution (v1 → v2)
|
|
77
|
+
|
|
78
|
+
| S.No. | Feature | v1 | v2 (current) |
|
|
79
|
+
|-------|---------|----|----|
|
|
80
|
+
| 1 | RL policy engine | Thompson Sampling | + configurable warmup |
|
|
81
|
+
| 2 | Conditional graph | 5-signal gate + BFS | + disk persistence |
|
|
82
|
+
| 3 | Evaluation | 6 metrics → reward | + user feedback as reward |
|
|
83
|
+
| 4 | Ingestion | Basic parsing | Hardened (every edge case) |
|
|
84
|
+
| 5 | SQL connector | No | PostgreSQL, MySQL, SQLite |
|
|
85
|
+
| 6 | Vectorless mode | No | Page BM25, zero dependencies |
|
|
86
|
+
| 7 | Output formats | Text only | JSON, CSV, YAML, DataFrame, custom schema |
|
|
87
|
+
| 8 | User feedback | No | Thumbs up/down → RL reward |
|
|
88
|
+
| 9 | Crash recovery | Partial (ChromaDB only) | Full (BM25 + graph + RL + memory) |
|
|
89
|
+
| 10 | Incremental ingest | No | add / remove / update |
|
|
90
|
+
| 11 | Parallel ingestion | No | ThreadPoolExecutor |
|
|
91
|
+
| 12 | System prompt | Hardcoded | Custom per-init, per-query |
|
|
92
|
+
| 13 | Page citations | chunk_id only | Page numbers |
|
|
93
|
+
| 14 | Chunk quality | No filtering | Quality scoring + dedup (SimHash) |
|
|
94
|
+
| 15 | Providers | Ollama + OpenAI + HF | 10+ (NVIDIA, Groq, Gemini, Grok, Azure...) |
|
|
95
|
+
|
|
96
|
+
## Experimental Results
|
|
97
|
+
|
|
98
|
+
20 queries, 5 categories. Same LLM backend, same document corpus.
|
|
99
|
+
|
|
100
|
+
| S.No. | Query category | Traditional RAG | Adaptive Intelligence | Delta |
|
|
101
|
+
|-------|---------------|----------------|----------------------|-------|
|
|
102
|
+
| 1 | Factual | 85% | 90% | +5% |
|
|
103
|
+
| 2 | Relational | 45% | 78% | +33% |
|
|
104
|
+
| 3 | Analytical | 55% | 75% | +20% |
|
|
105
|
+
| 4 | Comparative | 50% | 80% | +30% |
|
|
106
|
+
| 5 | Multi-hop | 35% | 72% | +37% |
|
|
107
|
+
| 6 | **Overall** | **54%** | **79%** | **+25%** |
|
|
108
|
+
|
|
109
|
+
Metric: keyword coverage (fraction of expected keywords in answer). Both systems use identical LLM and corpus. Adaptive Intelligence used 5 different retrieval strategies; Traditional RAG used 1. Graph activated for 5/20 queries (conditional, not wasted on simple lookups).
|
|
70
110
|
|
|
71
111
|
---
|
|
72
112
|
|
|
@@ -307,6 +347,8 @@ config = AdaptiveConfig(
|
|
|
307
347
|
engine = AdaptiveAI(config=config)
|
|
308
348
|
```
|
|
309
349
|
|
|
350
|
+
---
|
|
351
|
+
|
|
310
352
|
## Why This Exists
|
|
311
353
|
|
|
312
354
|
The world has 500+ LLMs. Every cloud provider (Azure, AWS, GCP), every platform (HuggingFace, Ollama), every company (NVIDIA, Meta, Google, xAI) is producing models. Many are free.
|
{adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/core/engine.py
RENAMED
|
@@ -76,7 +76,7 @@ class AdaptiveAI:
|
|
|
76
76
|
|
|
77
77
|
# Setup
|
|
78
78
|
setup_logging(config.log_level, config.log_file)
|
|
79
|
-
logger.info(f"Initializing Adaptive Intelligence v2.0.
|
|
79
|
+
logger.info(f"Initializing Adaptive Intelligence v2.0.1")
|
|
80
80
|
|
|
81
81
|
self._storage_dir = Path(config.storage_dir)
|
|
82
82
|
self._storage_dir.mkdir(parents=True, exist_ok=True)
|
|
@@ -748,7 +748,7 @@ class AdaptiveAI:
|
|
|
748
748
|
|
|
749
749
|
def status(self) -> Dict[str, Any]:
|
|
750
750
|
return {
|
|
751
|
-
"version": "2.0.
|
|
751
|
+
"version": "2.0.1",
|
|
752
752
|
"vectorless": self._vectorless,
|
|
753
753
|
"documents_indexed": self.page_index.count() if self._vectorless else (self.vector_index.count() if self.vector_index else 0),
|
|
754
754
|
"total_queries": self._total_queries,
|
{adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: adaptive-intelligence
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.1
|
|
4
4
|
Summary: Self-improving retrieval orchestration framework with RL-based routing, conditional graph activation, and evaluation-driven learning.
|
|
5
5
|
Author-email: Venkatkumar Rajan <venkatkumarr.vk99@gmail.com>
|
|
6
6
|
License: Apache-2.0
|
|
@@ -116,19 +116,59 @@ engine.feedback(response.query_id, "bad", reason="Missing data")
|
|
|
116
116
|
|
|
117
117
|
---
|
|
118
118
|
|
|
119
|
-
##
|
|
120
|
-
|
|
121
|
-
| | Traditional RAG | Adaptive Intelligence |
|
|
122
|
-
|
|
123
|
-
| Retrieval | Static vector similarity | RL-learned
|
|
124
|
-
|
|
|
125
|
-
|
|
|
126
|
-
|
|
|
127
|
-
|
|
|
128
|
-
|
|
|
129
|
-
|
|
|
130
|
-
|
|
|
131
|
-
|
|
|
119
|
+
## Comparison: Traditional RAG vs GraphRAG vs Adaptive Intelligence
|
|
120
|
+
|
|
121
|
+
| S.No. | Capability | Traditional RAG | GraphRAG | Adaptive Intelligence |
|
|
122
|
+
|-------|-----------|----------------|----------|----------------------|
|
|
123
|
+
| 1 | Retrieval strategy | Static vector similarity | Always graph + vector | RL-learned per query (6+ routes) |
|
|
124
|
+
| 2 | Knowledge graph | None | Always on | Conditional (5-signal gate) |
|
|
125
|
+
| 3 | Learning | None — same forever | None — static | Improves every query (RL reward loop) |
|
|
126
|
+
| 4 | Evaluation | None built-in | None built-in | 6 metrics automatic per response |
|
|
127
|
+
| 5 | Prompt engineering | Fixed template | Fixed template | Domain-aware, evolving from feedback |
|
|
128
|
+
| 6 | Query understanding | None | Basic | Type + complexity + domain + entities |
|
|
129
|
+
| 7 | Keyword retrieval | No (vector only) | No | BM25 + hybrid RRF fusion |
|
|
130
|
+
| 8 | Vectorless option | No | No | Page BM25 + graph (zero dependencies) |
|
|
131
|
+
| 9 | Graph compute waste | N/A | Yes — runs on every query | No — conditional activation |
|
|
132
|
+
| 10 | Output formats | Text only | Text only | JSON, CSV, YAML, DataFrame |
|
|
133
|
+
| 11 | User feedback | None | None | Thumbs up/down → RL update |
|
|
134
|
+
| 12 | Crash recovery | None | Partial | Auto-checkpoint + graceful shutdown |
|
|
135
|
+
| 13 | LLM agnostic | Usually tied to one | Usually tied to one | Any provider (10+ supported) |
|
|
136
|
+
| 14 | Audit trail | None | None | Full per-query decision log |
|
|
137
|
+
|
|
138
|
+
## Version Evolution (v1 → v2)
|
|
139
|
+
|
|
140
|
+
| S.No. | Feature | v1 | v2 (current) |
|
|
141
|
+
|-------|---------|----|----|
|
|
142
|
+
| 1 | RL policy engine | Thompson Sampling | + configurable warmup |
|
|
143
|
+
| 2 | Conditional graph | 5-signal gate + BFS | + disk persistence |
|
|
144
|
+
| 3 | Evaluation | 6 metrics → reward | + user feedback as reward |
|
|
145
|
+
| 4 | Ingestion | Basic parsing | Hardened (every edge case) |
|
|
146
|
+
| 5 | SQL connector | No | PostgreSQL, MySQL, SQLite |
|
|
147
|
+
| 6 | Vectorless mode | No | Page BM25, zero dependencies |
|
|
148
|
+
| 7 | Output formats | Text only | JSON, CSV, YAML, DataFrame, custom schema |
|
|
149
|
+
| 8 | User feedback | No | Thumbs up/down → RL reward |
|
|
150
|
+
| 9 | Crash recovery | Partial (ChromaDB only) | Full (BM25 + graph + RL + memory) |
|
|
151
|
+
| 10 | Incremental ingest | No | add / remove / update |
|
|
152
|
+
| 11 | Parallel ingestion | No | ThreadPoolExecutor |
|
|
153
|
+
| 12 | System prompt | Hardcoded | Custom per-init, per-query |
|
|
154
|
+
| 13 | Page citations | chunk_id only | Page numbers |
|
|
155
|
+
| 14 | Chunk quality | No filtering | Quality scoring + dedup (SimHash) |
|
|
156
|
+
| 15 | Providers | Ollama + OpenAI + HF | 10+ (NVIDIA, Groq, Gemini, Grok, Azure...) |
|
|
157
|
+
|
|
158
|
+
## Experimental Results
|
|
159
|
+
|
|
160
|
+
20 queries, 5 categories. Same LLM backend, same document corpus.
|
|
161
|
+
|
|
162
|
+
| S.No. | Query category | Traditional RAG | Adaptive Intelligence | Delta |
|
|
163
|
+
|-------|---------------|----------------|----------------------|-------|
|
|
164
|
+
| 1 | Factual | 85% | 90% | +5% |
|
|
165
|
+
| 2 | Relational | 45% | 78% | +33% |
|
|
166
|
+
| 3 | Analytical | 55% | 75% | +20% |
|
|
167
|
+
| 4 | Comparative | 50% | 80% | +30% |
|
|
168
|
+
| 5 | Multi-hop | 35% | 72% | +37% |
|
|
169
|
+
| 6 | **Overall** | **54%** | **79%** | **+25%** |
|
|
170
|
+
|
|
171
|
+
Metric: keyword coverage (fraction of expected keywords in answer). Both systems use identical LLM and corpus. Adaptive Intelligence used 5 different retrieval strategies; Traditional RAG used 1. Graph activated for 5/20 queries (conditional, not wasted on simple lookups).
|
|
132
172
|
|
|
133
173
|
---
|
|
134
174
|
|
|
@@ -369,6 +409,8 @@ config = AdaptiveConfig(
|
|
|
369
409
|
engine = AdaptiveAI(config=config)
|
|
370
410
|
```
|
|
371
411
|
|
|
412
|
+
---
|
|
413
|
+
|
|
372
414
|
## Why This Exists
|
|
373
415
|
|
|
374
416
|
The world has 500+ LLMs. Every cloud provider (Azure, AWS, GCP), every platform (HuggingFace, Ollama), every company (NVIDIA, Meta, Google, xAI) is producing models. Many are free.
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "adaptive-intelligence"
|
|
7
|
-
version = "2.0.
|
|
7
|
+
version = "2.0.1"
|
|
8
8
|
description = "Self-improving retrieval orchestration framework with RL-based routing, conditional graph activation, and evaluation-driven learning."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = {text = "Apache-2.0"}
|
|
@@ -118,7 +118,7 @@ class TestAdaptiveAIInit:
|
|
|
118
118
|
engine = AdaptiveAI(storage_dir=d, log_level="WARNING")
|
|
119
119
|
assert engine.config.llm_backend == LLMBackend.OLLAMA
|
|
120
120
|
status = engine.status()
|
|
121
|
-
assert status["version"] == "2.0.
|
|
121
|
+
assert status["version"] == "2.0.1"
|
|
122
122
|
|
|
123
123
|
def test_kwargs_init(self):
|
|
124
124
|
with tempfile.TemporaryDirectory() as d:
|
|
File without changes
|
{adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/core/__init__.py
RENAMED
|
File without changes
|
{adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/core/config.py
RENAMED
|
File without changes
|
{adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/core/response.py
RENAMED
|
File without changes
|
|
File without changes
|
{adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/graph/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/indexes/base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/llm/__init__.py
RENAMED
|
File without changes
|
{adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/memory/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/query/__init__.py
RENAMED
|
File without changes
|
{adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/rl/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{adaptive_intelligence-2.0.0 → adaptive_intelligence-2.0.1}/adaptive_intelligence/utils/__init__.py
RENAMED
|
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
|