MasterSpeakAI is a GenAI-powered speech analysis app with:
- ποΈ A Streamlit frontend using
st.navigationandst.Page - π₯ FastAPI backend
- π§ͺ GPT-powered analysis (via OpenAI)
- πΎ Local SQLite databases for storing analyses, prompt presets, and model settings
- βοΈ Model-specific configuration (e.g., temperature, max_tokens)
- π¦ Managed with Poetry
- ποΈ Analyze speech content using OpenAI GPT models (3.5, 4, 4o, etc.)
- π§ Create and edit reusable system prompt presets
- βοΈ Configure model settings (e.g., temperature) per model
- πΎ View and retrieve records using compact scrollable DB viewers
- π Manual ID lookup for speech/prompt/model records
- π§© Grouped sidebar navigation for logical app structure
kaiser-data-masterspeakai\_streamlit/
βββ backend/
β βββ database.py # SQLModel tables for speech, prompts, models
β βββ main.py # FastAPI app with /analyze endpoint
β βββ init\_db.py # Creates all DB tables
βββ frontend/
β βββ app.py # Main entrypoint with st.navigation sidebar
β βββ pages/
β βββ 0\_Home.py
β βββ 1\_Speech\_Analysis.py
β βββ 2\_Database\_Viewer.py # Speech DB (manual ID lookup)
β βββ 3\_Prompt\_Settings.py # Create/edit prompts
β βββ 4\_Prompt\_Viewer.py # Prompt DB (manual ID lookup)
β βββ 5\_Model\_Settings.py # Edit model config
β βββ 6\_Model\_Settings\_Viewer.py # View saved configs
βββ init\_db.py # Calls backend.init\_db functions
βββ pyproject.toml # Poetry config
βββ requirements.txt # pip fallback
βββ speech\_db.db
βββ prompt\_db.db
βββ model\_settings.db
βββ .env # For OPENAI\_API\_KEY
Organized using st.navigation() with icons and sections:
-
π§ MasterSpeakAI
- π Home
-
π Speech Analysis
- ποΈ Analyze Speech
- πΎ Speech DB Viewer (with manual ID input)
-
π οΈ Prompt Settings
- π οΈ Prompt Editor
- π Prompt DB Viewer (with manual ID input)
-
βοΈ Model Settings
- π§© Edit Model Settings (temperature, top_p, etc.)
- ποΈ Model DB Viewer
This project uses Poetry to manage dependencies and virtual environments.
curl -sSL https://install.python-poetry.org | python3 -Ensure it's on your PATH:
export PATH="$HOME/.local/bin:$PATH"git clone https://github.com/your-org/kaiser-data-masterspeakai_streamlit.git
cd kaiser-data-masterspeakai_streamlit
poetry installpoetry run streamlit run frontend/app.pypoetry run python init_db.pyCreates:
speech_db.dbprompt_db.dbmodel_settings.db
poetry run uvicorn backend.main:app --reloadVisit the docs at: http://localhost:8000/docs
Create a .env file with your OpenAI key:
OPENAI_API_KEY=your-key-here
- β³ User authentication
- β³ Role-based prompt/model visibility
- β³ Speech-to-text input support
- β³ Export results to CSV
- β³ Admin edit/delete for DB records
MIT License.