SymbolicAI
FreeA neuro-symbolic framework for building applications with LLMs at the core.
FreeFree tier
About SymbolicAI
SymbolicAI is a neuro-symbolic framework that combines classical Python programming with the differentiable, programmable nature of LLMs in a way that feels natural in Python. It provides Symbol objects with syntactic and semantic modes, composable primitives (comparison, arithmetic, logical/bitwise), and dot-notation operations like .map(). The framework is modular, extensible, and allows users to write custom engines, host local models, or interface with external tools such as web search and image generation.
Key Features
Symbol objects with syntactic and semantic views
Composable primitives for comparison, arithmetic, and logical operations
Dot-notation semantic functions (e.g., .map())
Projection methods (.sem and .syn) to switch between syntactic and semantic modes
Modular and extensible design allowing custom engines and local model hosting
Interface with external tools like web search and image generation
Pros & Cons
Pros
- Combines classical Python with LLM capabilities in a natural way
- Modular and extensible architecture
- Supports both syntactic (safe/fast) and semantic (context-aware) operations
- Allows integration with external services and local engines
Best For
Building applications with LLMs at the coreNeuro-symbolic reasoning and semantic data processingCombining classical programming logic with LLM capabilitiesPrototyping and experimenting with hybrid AI systems
FAQ
What is the difference between syntactic and semantic symbols?
Syntactic symbols behave like normal Python values (string, list, int) with literal comparisons and operations. Semantic symbols are wired to the neuro-symbolic engine, enabling meaning-based comparisons and operations (e.g., 'Hi' == 'Hello' evaluates to true).
How do I switch between syntactic and semantic views?
You can create a symbol with semantic=True at initialization, or use the .sem projection to switch to semantic mode and .syn to switch back. Dot-notation operations like .map() automatically switch the symbol to semantic mode.
What operations does SymbolicAI support?
SymbolicAI supports a wide range of primitives including equality comparison (==), addition (+), logical/bitwise operations, and dot-notation functions such as .map(). The syntactic mode uses literal semantics while the semantic mode uses conceptual equivalence.