Skip to content

Commit 0b5d557

Browse files
committed
[0.2.0] fixing folders issues with src/
1 parent 7de5cd8 commit 0b5d557

33 files changed

+76
-76
lines changed

README.md

+8-8
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ HUGGINGFACE_API_KEY=your_huggingface_api_key
9191
### 🔹 Select the Best LLM for a Prompt
9292

9393
```python
94-
from src.nadir.llm_selector.selector.auto import AutoSelector
94+
from nadir.llm_selector.selector.auto import AutoSelector
9595

9696
nadir = AutoSelector()
9797
prompt = "Explain quantum entanglement in simple terms."
@@ -119,8 +119,8 @@ print(models)
119119
### 🔹 Analyzing Code Complexity and Selecting the Best LLM
120120

121121
```python
122-
from src.nadir.complexity.llm import LLMComplexityAnalyzer
123-
from src.nadir.llm_selector.selector.auto import AutoSelector
122+
from nadir.complexity.llm import LLMComplexityAnalyzer
123+
from nadir.llm_selector.selector.auto import AutoSelector
124124

125125
# Initialize the LLM-based complexity analyzer
126126
complexity_analyzer = LLMComplexityAnalyzer()
@@ -149,8 +149,8 @@ print("Selected Model:", selected_model.name)
149149
### 🔹 Compressing Long Prompts Before Model Selection
150150

151151
```python
152-
from src.nadir.compression import GeminiCompressor
153-
from src.nadir.llm_selector.selector.auto import AutoSelector
152+
from nadir.compression import GeminiCompressor
153+
from nadir.llm_selector.selector.auto import AutoSelector
154154

155155
# Initialize Gemini-based prompt compression
156156
compressor = GeminiCompressor()
@@ -177,9 +177,9 @@ print("Selected Model:", selected_model.name)
177177
### 🔹 Combining Compression & Complexity Analysis
178178

179179
```python
180-
from src.nadir.compression import GeminiCompressor
181-
from src.nadir.complexity.llm import LLMComplexityAnalyzer
182-
from src.nadir.llm_selector.selector.auto import AutoSelector
180+
from nadir.compression import GeminiCompressor
181+
from nadir.complexity.llm import LLMComplexityAnalyzer
182+
from nadir.llm_selector.selector.auto import AutoSelector
183183

184184
# Initialize complexity analyzer and compressor
185185
complexity_analyzer = LLMComplexityAnalyzer()

examples/compression_usage.ipynb

+4-4
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@
2929
}
3030
],
3131
"source": [
32-
"from src.nadir.compression.fast import FasCompressor\n",
33-
"from src.nadir.compression.code import CodeCompressor\n",
34-
"from src.nadir.compression.gemini import GeminiCompressor\n",
35-
"from src.nadir.compression.openai import OpenaiCompressor"
32+
"from nadir.compression.fast import FasCompressor\n",
33+
"from nadir.compression.code import CodeCompressor\n",
34+
"from nadir.compression.gemini import GeminiCompressor\n",
35+
"from nadir.compression.openai import OpenaiCompressor"
3636
]
3737
},
3838
{

examples/gemini_complextiy_analyzer.ipynb

+3-3
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
"import statistics\n",
2222
"sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(\"src\"), '..')))\n",
2323
"\n",
24-
"from src.nadir.complexity.llm import LLMComplexityAnalyzer"
24+
"from nadir.complexity.llm import LLMComplexityAnalyzer"
2525
]
2626
},
2727
{
@@ -752,7 +752,7 @@
752752
"metadata": {},
753753
"outputs": [],
754754
"source": [
755-
"from src.nadir.complextiy.advance import AdvancedComplexityAnalyzer\n",
755+
"from nadir.complextiy.advance import AdvancedComplexityAnalyzer\n",
756756
"analyzer = AdvancedComplexityAnalyzer()\n",
757757
"\n",
758758
"for i, prompt in enumerate(prompts):\n",
@@ -778,7 +778,7 @@
778778
"metadata": {},
779779
"outputs": [],
780780
"source": [
781-
"from src.nadir.complexity.analyzer import ComplexityAnalyzer\n",
781+
"from nadir.complexity.analyzer import ComplexityAnalyzer\n",
782782
"analyzer = ComplexityAnalyzer()\n",
783783
"\n",
784784
"for i, prompt in enumerate(prompts):\n",

examples/latency_test.ipynb

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"import os\n",
1111
"sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(\"src\"), '..')))\n",
1212
"\n",
13-
"from src.nadir.complextiy.analyzer import ComplexityAnalyzer"
13+
"from nadir.complextiy.analyzer import ComplexityAnalyzer"
1414
]
1515
},
1616
{

examples/openai_useage.ipynb

+13-13
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,17 @@
2828
],
2929
"source": [
3030
"import os\n",
31-
"from src.nadir.llm_selector.selector.auto import AutoSelector\n",
32-
"from src.nadir.config.settings import ModelConfig, DynamicLLMSelectorConfig\n",
33-
"from src.nadir.llm_selector.model_registry import ModelRegistry, ModelConfig\n",
34-
"from src.nadir.compression.openai import OpenaiCompressor\n",
35-
"from src.nadir.compression.gemini import GeminiCompressor\n",
36-
"from src.nadir.llm_selector.providers.openai import OpenAIProvider\n",
37-
"from src.nadir.llm_selector.providers.gemini import GeminiProvider\n",
38-
"from src.nadir.llm_selector.providers.anthropic import AnthropicProvider\n",
39-
"from src.nadir.complexity.llm import LLMComplexityAnalyzer\n",
40-
"from src.nadir.complexity.code import CodeComplexityAnalyzer\n",
41-
"from src.nadir.compression.code import CodeCompressor"
31+
"from nadir.llm_selector.selector.auto import AutoSelector\n",
32+
"from nadir.config.settings import ModelConfig, DynamicLLMSelectorConfig\n",
33+
"from nadir.llm_selector.model_registry import ModelRegistry, ModelConfig\n",
34+
"from nadir.compression.openai import OpenaiCompressor\n",
35+
"from nadir.compression.gemini import GeminiCompressor\n",
36+
"from nadir.llm_selector.providers.openai import OpenAIProvider\n",
37+
"from nadir.llm_selector.providers.gemini import GeminiProvider\n",
38+
"from nadir.llm_selector.providers.anthropic import AnthropicProvider\n",
39+
"from nadir.complexity.llm import LLMComplexityAnalyzer\n",
40+
"from nadir.complexity.code import CodeComplexityAnalyzer\n",
41+
"from nadir.compression.code import CodeCompressor"
4242
]
4343
},
4444
{
@@ -559,7 +559,7 @@
559559
}
560560
],
561561
"source": [
562-
"from src.nadir.complexity.analyzer import ComplexityAnalyzer\n",
562+
"from nadir.complexity.analyzer import ComplexityAnalyzer\n",
563563
"base_analyzer = ComplexityAnalyzer(candidate_names=[\"openai/gpt-4o\"])"
564564
]
565565
},
@@ -1184,7 +1184,7 @@
11841184
"import sys\n",
11851185
"import os\n",
11861186
"sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(\"src\"), '..')))\n",
1187-
"from src.nadir.llm_selector.selector.auto import AutoSelector\n",
1187+
"from nadir.llm_selector.selector.auto import AutoSelector\n",
11881188
"auto_selector = AutoSelector()"
11891189
]
11901190
},

scripts/benchmark.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import time
22
import statistics
3-
from src.nadir.llm_selector.selector.auto import AutoSelector
3+
from nadir.llm_selector.selector.auto import AutoSelector
44

55
def benchmark_model_selection():
66
"""

scripts/train_complexity_model.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import numpy as np
22
from sklearn.model_selection import train_test_split
33
from sklearn.ensemble import RandomForestRegressor
4-
from src.nadir.complexity.analyzer import ComplexityAnalyzer
4+
from nadir.complexity.analyzer import ComplexityAnalyzer
55

66
def generate_synthetic_data(num_samples=1000):
77
"""

setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
setup(
44
name="nadir-llm",
5-
version="0.1.0",
5+
version="0.2.0",
66
description="A package for dynamically selecting and interacting with LLMs.",
77
author="Dor Amir",
88
author_email="[email protected]",

src/nadir/complexity/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from abc import ABC, abstractmethod
66
from typing import Dict, Any, Optional, List
77

8-
from src.nadir.utils import load_performance_config
8+
from nadir.utils import load_performance_config
99

1010
# Configure logging
1111
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")

src/nadir/complexity/analyzer.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
import logging
66
import tiktoken
77
from typing import Dict, Any, List, Optional
8-
from src.nadir.complexity import BaseComplexityAnalyzer
9-
from src.nadir.utils import load_performance_config
8+
from nadir.complexity import BaseComplexityAnalyzer
9+
from nadir.utils import load_performance_config
1010

1111
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")
1212

src/nadir/complexity/code.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import logging
66
from typing import Dict, Any, List, Tuple, Optional
77
from collections import defaultdict
8-
from src.nadir.complexity import BaseComplexityAnalyzer
8+
from nadir.complexity import BaseComplexityAnalyzer
99

1010
# Configure Logging
1111
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")

src/nadir/complexity/llm.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import logging
44
from typing import Dict, Any, Optional, List
55
from litellm import completion
6-
from src.nadir.complexity import BaseComplexityAnalyzer
6+
from nadir.complexity import BaseComplexityAnalyzer
77

88
# Configure logging
99
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")

src/nadir/complexity/llm_code.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import logging
44
from typing import Dict, Any, Optional, List
55
from litellm import completion
6-
from src.nadir.complexity import BaseComplexityAnalyzer
6+
from nadir.complexity import BaseComplexityAnalyzer
77

88
# Configure logging
99
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")

src/nadir/compression/gemini.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import google.generativeai as genai
77
from transformers import pipeline
88

9-
from src.nadir.compression import BaseCompression
9+
from nadir.compression import BaseCompression
1010

1111

1212
class GeminiCompressor(BaseCompression):

src/nadir/compression/openai.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
from transformers import pipeline
88

9-
from src.nadir.compression import BaseCompression
9+
from nadir.compression import BaseCompression
1010

1111
class OpenaiCompressor(BaseCompression):
1212
"""

src/nadir/config/settings.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from typing import Dict, Optional, List
22
from pydantic import BaseModel, Field, ConfigDict, field_validator
3-
from src.nadir.llm_selector.providers import BaseProvider
4-
from src.nadir.llm_selector.providers.anthropic import AnthropicProvider
3+
from nadir.llm_selector.providers import BaseProvider
4+
from nadir.llm_selector.providers.anthropic import AnthropicProvider
55
import os
66

77
class ModelConfig(BaseModel):

src/nadir/llm_selector/model_registry.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
from typing import List, Dict, Any
22
from dataclasses import dataclass, field
3-
from src.nadir.llm_selector.providers import BaseProvider
4-
from src.nadir.llm_selector.providers.anthropic import AnthropicProvider
5-
from src.nadir.llm_selector.providers.openai import OpenAIProvider
6-
from src.nadir.llm_selector.providers.huggingface import HuggingFaceProvider
7-
from src.nadir.config.settings import ModelConfig
3+
from nadir.llm_selector.providers import BaseProvider
4+
from nadir.llm_selector.providers.anthropic import AnthropicProvider
5+
from nadir.llm_selector.providers.openai import OpenAIProvider
6+
from nadir.llm_selector.providers.huggingface import HuggingFaceProvider
7+
from nadir.config.settings import ModelConfig
88

99
class ModelRegistry:
1010
def __init__(self):

src/nadir/llm_selector/providers/anthropic.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from src.nadir.llm_selector.providers import BaseProvider
1+
from nadir.llm_selector.providers import BaseProvider
22
from typing import Dict, Any
33

44

src/nadir/llm_selector/providers/deepseek.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from src.nadir.llm_selector.providers import BaseProvider
1+
from nadir.llm_selector.providers import BaseProvider
22
from typing import Dict, Any
33

44
class DeepSeekProvider(BaseProvider):

src/nadir/llm_selector/providers/gemini.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from src.nadir.llm_selector.providers import BaseProvider
1+
from nadir.llm_selector.providers import BaseProvider
22
from typing import Dict, Any
33

44
class GeminiProvider(BaseProvider):

src/nadir/llm_selector/providers/huggingface.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from src.nadir.llm_selector.providers import BaseProvider
1+
from nadir.llm_selector.providers import BaseProvider
22
from typing import Dict, Any
33

44

src/nadir/llm_selector/providers/openai.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from src.nadir.llm_selector.providers import BaseProvider
1+
from nadir.llm_selector.providers import BaseProvider
22
from typing import Dict, Any
33

44
class OpenAIProvider(BaseProvider):

src/nadir/llm_selector/selector/auto.py

+10-10
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@
33
import os
44
import logging
55
from typing import Dict, Any, List, Optional
6-
from src.nadir.utils import load_performance_config, safe_float
7-
from src.nadir.complexity import BaseComplexityAnalyzer
8-
from src.nadir.complexity.llm import LLMComplexityAnalyzer
9-
from src.nadir.llm_selector.model_registry import ModelRegistry
10-
from src.nadir.config.settings import DynamicLLMSelectorConfig, ModelConfig
11-
from src.nadir.llm_selector.providers.openai import OpenAIProvider
12-
from src.nadir.llm_selector.providers.gemini import GeminiProvider
13-
from src.nadir.llm_selector.providers.anthropic import AnthropicProvider
14-
from src.nadir.compression import BaseCompression
15-
from src.nadir.cost.tracker import CostTracker
6+
from nadir.utils import load_performance_config, safe_float
7+
from nadir.complexity import BaseComplexityAnalyzer
8+
from nadir.complexity.llm import LLMComplexityAnalyzer
9+
from nadir.llm_selector.model_registry import ModelRegistry
10+
from nadir.config.settings import DynamicLLMSelectorConfig, ModelConfig
11+
from nadir.llm_selector.providers.openai import OpenAIProvider
12+
from nadir.llm_selector.providers.gemini import GeminiProvider
13+
from nadir.llm_selector.providers.anthropic import AnthropicProvider
14+
from nadir.compression import BaseCompression
15+
from nadir.cost.tracker import CostTracker
1616

1717
# Configure logging
1818
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")

src/nadir/llm_selector/selector/balance.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import logging
2-
from src.nadir.llm_selector.selector.auto import AutoSelector
2+
from nadir.llm_selector.selector.auto import AutoSelector
33

44
class BalancedSelector(AutoSelector):
55
"""

src/nadir/llm_selector/selector/budget_friendly.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import logging
2-
from src.nadir.llm_selector.selector.auto import AutoSelector
2+
from nadir.llm_selector.selector.auto import AutoSelector
33

44
class BudgetFriendlySelector(AutoSelector):
55
"""

src/nadir/llm_selector/selector/ensemble.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import logging
22
from collections import Counter
3-
from src.nadir.llm_selector.selector.auto import AutoSelector
3+
from nadir.llm_selector.selector.auto import AutoSelector
44

55
class EnsembleSelector(AutoSelector):
66
"""

src/nadir/llm_selector/selector/low_latency.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import logging
2-
from src.nadir.llm_selector.selector.auto import AutoSelector
2+
from nadir.llm_selector.selector.auto import AutoSelector
33

44
class LowLatencySelector(AutoSelector):
55
"""

tests/test_complexity.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import pytest
2-
from src.nadir.complexity.analyzer import ComplexityAnalyzer
2+
from nadir.complexity.analyzer import ComplexityAnalyzer
33

44
@pytest.fixture
55
def complexity_analyzer():

tests/test_compression.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import pytest
22
from unittest.mock import MagicMock
3-
from src.nadir.llm_selector.providers.openai import OpenAIProvider
3+
from nadir.llm_selector.providers.openai import OpenAIProvider
44

55
@pytest.fixture
66
def mock_openai_provider():

tests/test_cost_tracking.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import pytest
2-
from src.nadir.cost.tracker import CostTracker
2+
from nadir.cost.tracker import CostTracker
33

44
def test_cost_tracker():
55
tracker = CostTracker()

tests/test_llm_complexity.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
import pytest
33
import json
44
from unittest.mock import patch, MagicMock
5-
from src.nadir.complexity.llm import LLMComplexityAnalyzer
5+
from nadir.complexity.llm import LLMComplexityAnalyzer
66

77
@pytest.fixture
88
def llm_analyzer():
99
"""Fixture to initialize LLMComplexityAnalyzer."""
1010
return LLMComplexityAnalyzer(performance_config_path=os.path.join(os.path.dirname(__file__),"assets/model_performance.json"))
1111

1212

13-
@patch("src.nadir.complexity.llm.completion")
13+
@patch("nadir.complexity.llm.completion")
1414
def test_get_complexity_details(mock_completion, llm_analyzer):
1515
"""Test if LLMComplexityAnalyzer returns valid complexity details."""
1616

@@ -35,7 +35,7 @@ def test_get_complexity_details(mock_completion, llm_analyzer):
3535
assert 0 <= details["overall_complexity"] <= 100
3636
assert details["recommended_model"] == "openai/gpt-3.5-turbo"
3737

38-
@patch("src.nadir.complexity.llm.completion")
38+
@patch("nadir.complexity.llm.completion")
3939
def test_calculate_complexity(mock_completion, llm_analyzer):
4040
"""Test if LLMComplexityAnalyzer calculates a valid complexity score."""
4141

0 commit comments

Comments
 (0)