SAAD_AI / README.md
saad-sust's picture
Upload README.md
3adeca5 verified
|
Raw
History Blame Contribute Delete
4.63 kB

A newer version of the Streamlit SDK is available: 1.62.0

Upgrade
metadata
title: Saad.AI
emoji: 🧠
colorFrom: blue
colorTo: indigo
sdk: streamlit
sdk_version: 1.40.0
python_version: '3.10'
app_file: app.py
pinned: false

Saad.AI — B.Sc. Mathematics Engine

Saad.AI is an academic mathematics assistant for university students. It combines a deterministic SymPy computation engine with configurable AI providers for explanations, proofs, theory questions, graph descriptions, and image/PDF-based problem solving.

Important: SymPy verification applies only when a request matches one of the implemented deterministic adapters. General proofs, theory questions, unsupported matrix formats, and unsupported subjects are treated as AI-generated unless a deterministic adapter returns a verified result.

Current capabilities

Area Examples Verification mode
Calculus Derivatives, integrals, limits SymPy when parsed successfully
Equations Polynomial equations and roots SymPy when parsed successfully
Differential equations Selected first- and second-order ODE forms SymPy for supported forms
Numerical methods Newton–Raphson, bisection, secant, Simpson, trapezoidal, Euler, RK4 Deterministic numeric adapter
Number theory GCD, LCM, factorization, totient, congruences, CRT, selected theorems, modulo SymPy / deterministic adapter
Linear algebra Determinants, eigenvalues/eigenvectors, inverses, ranks, transposes Deterministic SymPy adapter
Real analysis Selected sequence, series, Taylor, and integral computations SymPy for supported computations; AI for theory/proofs
Differential geometry Curvature, arc length, Frenet–Serret, fundamental forms SymPy for supported parametric forms
Hydro mechanics Continuity, Bernoulli, Reynolds, flow rate, pressure, Torricelli Deterministic formula adapter for supported prompts
Graphing Explicit requests to plot or graph a function Matplotlib rendering
Attachments JPG, PNG, WEBP, and PDF questions Vision provider; deterministic verification when extractable

The engine is intentionally not presented as a universal proof checker. For questions that cannot be deterministically parsed, the application sends the prompt to the configured AI provider and labels the result as AI-generated where appropriate.

Portfolio architecture

The deployed Space uses a flat layout because the Hugging Face web uploader preserves uploaded filenames. The responsibilities remain separated into the same modules used by the GitHub portfolio branch:

app.py              # Streamlit UI, session flow, and graph rendering
config.py           # Centralized provider and runtime configuration
sympy_engine.py     # Deterministic symbolic and numeric adapters
ai.py               # Provider rotation, vision, uploads, and verification
requirements.txt    # Runtime dependencies

Chat history is intentionally session-local in the portfolio edition. This keeps the application easy to understand and deploy while still allowing users to create, switch, and delete conversations during a demo session. A database is not required.

Example prompts

Find the derivative of x^3 + 5x^2 - 3x + 7
Integrate sin(x) * e^x dx
Find limit of sin(x)/x as x -> 0
Apply Newton-Raphson to x^3 - 2x - 5 = 0, x0=2, 3 iterations
Apply bisection of x^3 - x on [0, 2], 4 iterations
Find gcd of 84 and 30
Solve 14x ≡ 30 (mod 44) using Euclidean algorithm
Plot y = x^2 - 4 from -3 to 3

Configuration

AI providers are optional for deterministic SymPy requests but required for explanations and unsupported subjects. Configure provider credentials through Hugging Face Space secrets:

GROQ_API_KEY_1
GROQ_API_KEY_2
GROQ_API_KEY_3
GEMINI_API_KEY_1
GEMINI_API_KEY_2
GEMINI_API_KEY_3
GEMINI_API_KEY_4
OPENROUTER_API_KEY

If providers are unavailable, supported deterministic requests still return their verified SymPy result instead of failing with “All providers failed.”

Local development

git clone https://github.com/almuyed-saad/math-engine.git
cd math-engine
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
streamlit run app.py

The project source and full test suite are maintained in the GitHub repository.

Credits

The project was created by Saad for B.Sc. Mathematics students at Shahjalal University of Science and Technology. It uses Streamlit, SymPy, Matplotlib, and hosted AI provider APIs.