abstractcore 2.5.0__py3-none-any.whl → 2.5.3__py3-none-any.whl
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.
- abstractcore/__init__.py +12 -0
- abstractcore/apps/__main__.py +8 -1
- abstractcore/apps/deepsearch.py +644 -0
- abstractcore/apps/intent.py +614 -0
- abstractcore/architectures/detection.py +250 -4
- abstractcore/assets/architecture_formats.json +14 -1
- abstractcore/assets/model_capabilities.json +583 -44
- abstractcore/compression/__init__.py +29 -0
- abstractcore/compression/analytics.py +420 -0
- abstractcore/compression/cache.py +250 -0
- abstractcore/compression/config.py +279 -0
- abstractcore/compression/exceptions.py +30 -0
- abstractcore/compression/glyph_processor.py +381 -0
- abstractcore/compression/optimizer.py +388 -0
- abstractcore/compression/orchestrator.py +380 -0
- abstractcore/compression/pil_text_renderer.py +818 -0
- abstractcore/compression/quality.py +226 -0
- abstractcore/compression/text_formatter.py +666 -0
- abstractcore/compression/vision_compressor.py +371 -0
- abstractcore/config/main.py +66 -1
- abstractcore/config/manager.py +111 -5
- abstractcore/core/session.py +105 -5
- abstractcore/events/__init__.py +1 -1
- abstractcore/media/auto_handler.py +312 -18
- abstractcore/media/handlers/local_handler.py +14 -2
- abstractcore/media/handlers/openai_handler.py +62 -3
- abstractcore/media/processors/__init__.py +11 -1
- abstractcore/media/processors/direct_pdf_processor.py +210 -0
- abstractcore/media/processors/glyph_pdf_processor.py +227 -0
- abstractcore/media/processors/image_processor.py +7 -1
- abstractcore/media/processors/text_processor.py +18 -3
- abstractcore/media/types.py +164 -7
- abstractcore/processing/__init__.py +5 -1
- abstractcore/processing/basic_deepsearch.py +2173 -0
- abstractcore/processing/basic_intent.py +690 -0
- abstractcore/providers/__init__.py +18 -0
- abstractcore/providers/anthropic_provider.py +29 -2
- abstractcore/providers/base.py +279 -6
- abstractcore/providers/huggingface_provider.py +658 -27
- abstractcore/providers/lmstudio_provider.py +52 -2
- abstractcore/providers/mlx_provider.py +103 -4
- abstractcore/providers/model_capabilities.py +352 -0
- abstractcore/providers/ollama_provider.py +44 -6
- abstractcore/providers/openai_provider.py +29 -2
- abstractcore/providers/registry.py +91 -19
- abstractcore/server/app.py +91 -81
- abstractcore/structured/handler.py +161 -1
- abstractcore/tools/common_tools.py +98 -3
- abstractcore/utils/__init__.py +4 -1
- abstractcore/utils/cli.py +114 -1
- abstractcore/utils/trace_export.py +287 -0
- abstractcore/utils/version.py +1 -1
- abstractcore/utils/vlm_token_calculator.py +655 -0
- {abstractcore-2.5.0.dist-info → abstractcore-2.5.3.dist-info}/METADATA +140 -23
- abstractcore-2.5.3.dist-info/RECORD +107 -0
- {abstractcore-2.5.0.dist-info → abstractcore-2.5.3.dist-info}/entry_points.txt +4 -0
- abstractcore-2.5.0.dist-info/RECORD +0 -86
- {abstractcore-2.5.0.dist-info → abstractcore-2.5.3.dist-info}/WHEEL +0 -0
- {abstractcore-2.5.0.dist-info → abstractcore-2.5.3.dist-info}/licenses/LICENSE +0 -0
- {abstractcore-2.5.0.dist-info → abstractcore-2.5.3.dist-info}/top_level.txt +0 -0
abstractcore/__init__.py
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
"""
|
|
3
3
|
AbstractCore - Unified interface to all LLM providers with essential infrastructure.
|
|
4
4
|
|
|
5
|
+
CRITICAL: Offline-first design - enforces offline mode for open source LLMs by default.
|
|
6
|
+
|
|
5
7
|
Key Features:
|
|
6
8
|
• Multi-provider support (OpenAI, Anthropic, Ollama, HuggingFace, MLX, LMStudio)
|
|
7
9
|
• Unified token parameter vocabulary across all providers
|
|
@@ -47,6 +49,13 @@ _has_processing = True
|
|
|
47
49
|
# Tools module (core functionality)
|
|
48
50
|
from .tools import tool
|
|
49
51
|
|
|
52
|
+
# Compression module (optional import)
|
|
53
|
+
try:
|
|
54
|
+
from .compression import GlyphConfig, CompressionOrchestrator
|
|
55
|
+
_has_compression = True
|
|
56
|
+
except ImportError:
|
|
57
|
+
_has_compression = False
|
|
58
|
+
|
|
50
59
|
__all__ = [
|
|
51
60
|
'create_llm',
|
|
52
61
|
'BasicSession',
|
|
@@ -64,5 +73,8 @@ __all__ = [
|
|
|
64
73
|
if _has_embeddings:
|
|
65
74
|
__all__.append('EmbeddingManager')
|
|
66
75
|
|
|
76
|
+
if _has_compression:
|
|
77
|
+
__all__.extend(['GlyphConfig', 'CompressionOrchestrator'])
|
|
78
|
+
|
|
67
79
|
# Processing is core functionality
|
|
68
80
|
__all__.extend(['BasicSummarizer', 'SummaryStyle', 'SummaryLength', 'BasicExtractor'])
|
abstractcore/apps/__main__.py
CHANGED
|
@@ -9,11 +9,13 @@ Available apps:
|
|
|
9
9
|
summarizer - Document summarization tool
|
|
10
10
|
extractor - Entity and relationship extraction tool
|
|
11
11
|
judge - Text evaluation and scoring tool
|
|
12
|
+
intent - Intent analysis and motivation identification tool
|
|
12
13
|
|
|
13
14
|
Examples:
|
|
14
15
|
python -m abstractcore.apps summarizer document.txt
|
|
15
16
|
python -m abstractcore.apps extractor report.txt --format json-ld
|
|
16
17
|
python -m abstractcore.apps judge essay.txt --criteria clarity,accuracy
|
|
18
|
+
python -m abstractcore.apps intent "I need help with this problem" --depth comprehensive
|
|
17
19
|
python -m abstractcore.apps <app> --help
|
|
18
20
|
"""
|
|
19
21
|
|
|
@@ -43,9 +45,14 @@ def main():
|
|
|
43
45
|
sys.argv = [sys.argv[0]] + sys.argv[2:]
|
|
44
46
|
from .judge import main as judge_main
|
|
45
47
|
judge_main()
|
|
48
|
+
elif app_name == "intent":
|
|
49
|
+
# Remove the app name from sys.argv and run intent analyzer
|
|
50
|
+
sys.argv = [sys.argv[0]] + sys.argv[2:]
|
|
51
|
+
from .intent import main as intent_main
|
|
52
|
+
intent_main()
|
|
46
53
|
else:
|
|
47
54
|
print(f"Unknown app: {app_name}")
|
|
48
|
-
print("\nAvailable apps: summarizer, extractor, judge")
|
|
55
|
+
print("\nAvailable apps: summarizer, extractor, judge, intent")
|
|
49
56
|
sys.exit(1)
|
|
50
57
|
|
|
51
58
|
if __name__ == "__main__":
|