symbolicai 1.1.0__py3-none-any.whl → 1.1.1__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.
symai/__init__.py CHANGED
@@ -33,7 +33,7 @@ os.environ["TOKENIZERS_PARALLELISM"] = "false"
33
33
  # Create singleton instance
34
34
  config_manager = settings.SymAIConfig()
35
35
 
36
- SYMAI_VERSION = "1.1.0"
36
+ SYMAI_VERSION = "1.1.1"
37
37
  __version__ = SYMAI_VERSION
38
38
  __root_dir__ = config_manager.config_dir
39
39
 
@@ -1,6 +1,8 @@
1
1
  from ...mixin import (
2
2
  ANTHROPIC_CHAT_MODELS,
3
3
  ANTHROPIC_REASONING_MODELS,
4
+ CEREBRAS_CHAT_MODELS,
5
+ CEREBRAS_REASONING_MODELS,
4
6
  DEEPSEEK_CHAT_MODELS,
5
7
  DEEPSEEK_REASONING_MODELS,
6
8
  GOOGLE_CHAT_MODELS,
@@ -12,6 +14,7 @@ from ...mixin import (
12
14
  )
13
15
  from .engine_anthropic_claudeX_chat import ClaudeXChatEngine
14
16
  from .engine_anthropic_claudeX_reasoning import ClaudeXReasoningEngine
17
+ from .engine_cerebras import CerebrasEngine
15
18
  from .engine_deepseekX_reasoning import DeepSeekXReasoningEngine
16
19
  from .engine_google_geminiX_reasoning import GeminiXReasoningEngine
17
20
  from .engine_groq import GroqEngine
@@ -22,6 +25,8 @@ from .engine_openai_gptX_reasoning import GPTXReasoningEngine
22
25
  ENGINE_MAPPING = {
23
26
  **dict.fromkeys(ANTHROPIC_CHAT_MODELS, ClaudeXChatEngine),
24
27
  **dict.fromkeys(ANTHROPIC_REASONING_MODELS, ClaudeXReasoningEngine),
28
+ **dict.fromkeys(CEREBRAS_CHAT_MODELS, CerebrasEngine),
29
+ **dict.fromkeys(CEREBRAS_REASONING_MODELS, CerebrasEngine),
25
30
  **dict.fromkeys(DEEPSEEK_REASONING_MODELS, DeepSeekXReasoningEngine),
26
31
  **dict.fromkeys(GOOGLE_REASONING_MODELS, GeminiXReasoningEngine),
27
32
  **dict.fromkeys(OPENAI_CHAT_MODELS, GPTXChatEngine),
@@ -33,6 +38,8 @@ ENGINE_MAPPING = {
33
38
  __all__ = [
34
39
  "ANTHROPIC_CHAT_MODELS",
35
40
  "ANTHROPIC_REASONING_MODELS",
41
+ "CEREBRAS_CHAT_MODELS",
42
+ "CEREBRAS_REASONING_MODELS",
36
43
  "DEEPSEEK_CHAT_MODELS",
37
44
  "DEEPSEEK_REASONING_MODELS",
38
45
  "ENGINE_MAPPING",
@@ -1,5 +1,7 @@
1
1
  from .anthropic import SUPPORTED_CHAT_MODELS as ANTHROPIC_CHAT_MODELS
2
2
  from .anthropic import SUPPORTED_REASONING_MODELS as ANTHROPIC_REASONING_MODELS
3
+ from .cerebras import SUPPORTED_CHAT_MODELS as CEREBRAS_CHAT_MODELS
4
+ from .cerebras import SUPPORTED_REASONING_MODELS as CEREBRAS_REASONING_MODELS
3
5
  from .deepseek import SUPPORTED_CHAT_MODELS as DEEPSEEK_CHAT_MODELS
4
6
  from .deepseek import SUPPORTED_REASONING_MODELS as DEEPSEEK_REASONING_MODELS
5
7
  from .google import SUPPORTED_CHAT_MODELS as GOOGLE_CHAT_MODELS
@@ -12,6 +14,8 @@ from .openai import SUPPORTED_REASONING_MODELS as OPENAI_REASONING_MODELS
12
14
  __all__ = [
13
15
  "ANTHROPIC_CHAT_MODELS",
14
16
  "ANTHROPIC_REASONING_MODELS",
17
+ "CEREBRAS_CHAT_MODELS",
18
+ "CEREBRAS_REASONING_MODELS",
15
19
  "DEEPSEEK_CHAT_MODELS",
16
20
  "DEEPSEEK_REASONING_MODELS",
17
21
  "GOOGLE_CHAT_MODELS",
@@ -0,0 +1,9 @@
1
+ SUPPORTED_CHAT_MODELS: list[str] = [
2
+ "cerebras:qwen-3-235b-a22b-instruct-2507",
3
+ ]
4
+
5
+ SUPPORTED_REASONING_MODELS: list[str] = [
6
+ "cerebras:zai-glm-4.6",
7
+ "cerebras:gpt-oss-120b",
8
+ "cerebras:qwen-3-32b",
9
+ ]
symai/components.py CHANGED
@@ -1330,6 +1330,25 @@ class MetadataTracker(Expression):
1330
1330
  token_details[(engine_name, model_name)]["completion_breakdown"][
1331
1331
  "reasoning_tokens"
1332
1332
  ] += usage.output_tokens_details.reasoning_tokens
1333
+ elif engine_name == "CerebrasEngine":
1334
+ usage = metadata["raw_output"].usage
1335
+ token_details[(engine_name, model_name)]["usage"]["completion_tokens"] += (
1336
+ usage.completion_tokens
1337
+ )
1338
+ token_details[(engine_name, model_name)]["usage"]["prompt_tokens"] += (
1339
+ usage.prompt_tokens
1340
+ )
1341
+ token_details[(engine_name, model_name)]["usage"]["total_tokens"] += (
1342
+ usage.total_tokens
1343
+ )
1344
+ token_details[(engine_name, model_name)]["usage"]["total_calls"] += 1
1345
+ #!: Backward compatibility for components like `RuntimeInfo`
1346
+ token_details[(engine_name, model_name)]["prompt_breakdown"][
1347
+ "cached_tokens"
1348
+ ] += 0 # Assignment not allowed with defualtdict
1349
+ token_details[(engine_name, model_name)]["completion_breakdown"][
1350
+ "reasoning_tokens"
1351
+ ] += 0
1333
1352
  else:
1334
1353
  logger.warning(f"Tracking {engine_name} is not supported.")
1335
1354
  continue
@@ -1475,9 +1494,12 @@ class DynamicEngine(Expression):
1475
1494
  """Create an engine instance based on the model name."""
1476
1495
  # Deferred to avoid components <-> neurosymbolic engine circular imports.
1477
1496
  from .backend.engines.neurosymbolic import ENGINE_MAPPING # noqa
1497
+ from .backend.engines.neurosymbolic.engine_cerebras import CerebrasEngine # noqa
1478
1498
 
1479
1499
  try:
1480
1500
  engine_class = ENGINE_MAPPING.get(self.model)
1501
+ if engine_class is None and self.model.startswith("cerebras:"):
1502
+ engine_class = CerebrasEngine
1481
1503
  if engine_class is None:
1482
1504
  UserMessage(f"Unsupported model '{self.model}'", raise_with=ValueError)
1483
1505
  return engine_class(api_key=self.api_key, model=self.model)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: symbolicai
3
- Version: 1.1.0
3
+ Version: 1.1.1
4
4
  Summary: A Neurosymbolic Perspective on Large Language Models
5
5
  Author-email: Marius-Constantin Dinu <marius@extensity.ai>, Leoveanu-Condrei Claudiu <leo@extensity.ai>
6
6
  License: BSD 3-Clause License
@@ -1,7 +1,7 @@
1
1
  symai/TERMS_OF_SERVICE.md,sha256=HN42UXVI_wAVDHjMShzy_k7xAsbjXaATNeMKcIte_eg,91409
2
- symai/__init__.py,sha256=tfavYhEZTrbPwBKJWYPhxGs1ceV-HDIvPNbxkp8KlKI,18530
2
+ symai/__init__.py,sha256=KnIPNxN20P6-2mEa3c9mbeCNI9aV7w0_HJEjMZmMOjU,18530
3
3
  symai/chat.py,sha256=DCEbmZ96wv-eitAVt6-oF6PT3JM3cT59Iy3r2Hucd_M,14100
4
- symai/components.py,sha256=b8B8AvjbMMEgmFSqpzvLYLUZu6zwRnRc1r2hJWSbf1s,62584
4
+ symai/components.py,sha256=iMpuICXkfXKA2j2u__92COQ10BmqNKHH4GginihD614,63906
5
5
  symai/constraints.py,sha256=ljjB9p0qK4DrDl_u5G_Y-Y6WAH5ZHANIqLLxRtwcORs,1980
6
6
  symai/context.py,sha256=4M69MJOeWSdPTr2Y9teoNTs-nEvpzcAcr7900UgORXA,189
7
7
  symai/core.py,sha256=gI9qvTT0Skq2D0izdhAoN3RdwBtWei59KO52mKN1Sos,70420
@@ -44,7 +44,7 @@ symai/backend/engines/index/engine_pinecone.py,sha256=fxCew1ldUdjd9UtqnMuWFDiVz5
44
44
  symai/backend/engines/index/engine_qdrant.py,sha256=f2lguAgCTZz2p6UI__u7puxH-X9UteWxBIzQnOUX1Xk,37748
45
45
  symai/backend/engines/index/engine_vectordb.py,sha256=xXU8QaC2BX9O4dDjDCVYgWO4PxQMpmNlhtal6UVtV0o,8541
46
46
  symai/backend/engines/lean/engine_lean4.py,sha256=ln5nbQn5szq8nRulbREPLCPQ5bwjM_A5XAGMkfzPdT8,10102
47
- symai/backend/engines/neurosymbolic/__init__.py,sha256=TKPs76bp726JQnHpPy-iLGUquZSf5SiUsui7UTLRAxs,1777
47
+ symai/backend/engines/neurosymbolic/__init__.py,sha256=txvvXueinXrY1wq2Fp9xYqb5eLbkxXIJ82whhphKqyE,2062
48
48
  symai/backend/engines/neurosymbolic/engine_anthropic_claudeX_chat.py,sha256=WyuskobMjf9ynxRWUnXk55DUMUN7qv7jT1nbZP3Bx9o,21054
49
49
  symai/backend/engines/neurosymbolic/engine_anthropic_claudeX_reasoning.py,sha256=thEPDh8H-5XrsADF0mVTWB6m_dJgKeTT49HvyCGJcQM,21291
50
50
  symai/backend/engines/neurosymbolic/engine_cerebras.py,sha256=ki84Qh7hdxaKn--UgMMUvAEoqJos7VeKtkka6XpHI3g,13336
@@ -68,8 +68,9 @@ symai/backend/engines/symbolic/engine_wolframalpha.py,sha256=mTH0N4rA0gMffSBLjf2
68
68
  symai/backend/engines/text_to_speech/engine_openai.py,sha256=AtY0mDvIM_yZQ6AgYNXuyinZr_OaMK7XiPLQ6fe6RBo,2013
69
69
  symai/backend/engines/text_vision/engine_clip.py,sha256=hU9vsHtKPpQYEoESyjuGXOzMhUNhvspYMCNkCAqn2x8,3648
70
70
  symai/backend/engines/userinput/engine_console.py,sha256=fDO6PRQI3NYZ_nHVXDFIsS9cFDRv3aTOfv8h5a360jc,743
71
- symai/backend/mixin/__init__.py,sha256=yGo_NQjG5r7Y1_fXCXPMvLFxNrqB_dA60rQ0CXITLRo,1008
71
+ symai/backend/mixin/__init__.py,sha256=KamwgTNRE63ro-uy5QGmPWkmSMKNxm6pRiRfG_LSic0,1215
72
72
  symai/backend/mixin/anthropic.py,sha256=kTHJnFlmgqN6X5fjsAnwSwZ6Qdhr-Zo5vI46_D9Ke3Y,2286
73
+ symai/backend/mixin/cerebras.py,sha256=MEc9vQ6G4KWWrt0NFjdt2y0rojhtBidwa_n4M8Z5EKI,215
73
74
  symai/backend/mixin/deepseek.py,sha256=7TnyqXQb2t6r6-hzOClPzxfO2d7TShYC989Lmn_YTzM,414
74
75
  symai/backend/mixin/google.py,sha256=N1xxrrTcQkcKJtdPbRorev6dfJ1F65I5XavrGR06GN4,494
75
76
  symai/backend/mixin/groq.py,sha256=at6yFLa35Js8o7D8p_-Y4NjOPJI-lH8yx6tsCDrEy6M,227
@@ -160,9 +161,9 @@ symai/server/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
160
161
  symai/server/huggingface_server.py,sha256=wSAVqFiKQsCu5UB2YYVpxJBhJ7GgQBBfePxNi265yP8,9039
161
162
  symai/server/llama_cpp_server.py,sha256=-WPTNB2cbnwtnpES4AtPM__MCasDKl83jr94JGS9tmI,2144
162
163
  symai/server/qdrant_server.py,sha256=pOm382ZmPJ2jlJiLIxt_KUJqISOgWiKhs3Ojbp5REOI,7420
163
- symbolicai-1.1.0.dist-info/licenses/LICENSE,sha256=9vRFudlJ1ghVfra5lcCUIYQCqnZSYcBLjLHbGRsrQCs,1505
164
- symbolicai-1.1.0.dist-info/METADATA,sha256=IrMaEQXGdoacrMYuIiWkqOuCoEdCo7s80Igr0rGrjI4,23603
165
- symbolicai-1.1.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
166
- symbolicai-1.1.0.dist-info/entry_points.txt,sha256=JV5sdydIfUZdDF6QBEQHiZHod6XNPjCjpWQrXh7gTAw,261
167
- symbolicai-1.1.0.dist-info/top_level.txt,sha256=bOoIDfpDIvCQtQgXcwVKJvxAKwsxpxo2IL4z92rNJjw,6
168
- symbolicai-1.1.0.dist-info/RECORD,,
164
+ symbolicai-1.1.1.dist-info/licenses/LICENSE,sha256=9vRFudlJ1ghVfra5lcCUIYQCqnZSYcBLjLHbGRsrQCs,1505
165
+ symbolicai-1.1.1.dist-info/METADATA,sha256=NZ8WBjmA0arIzmZQPnBRE6-SOgDtCvMI6VHOhLzzOGU,23603
166
+ symbolicai-1.1.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
167
+ symbolicai-1.1.1.dist-info/entry_points.txt,sha256=JV5sdydIfUZdDF6QBEQHiZHod6XNPjCjpWQrXh7gTAw,261
168
+ symbolicai-1.1.1.dist-info/top_level.txt,sha256=bOoIDfpDIvCQtQgXcwVKJvxAKwsxpxo2IL4z92rNJjw,6
169
+ symbolicai-1.1.1.dist-info/RECORD,,