How kkg2001/price-intelligence-tracker works
Price Intelligent Tracker is a product and price advice assistant. A user selects a product and asks a question in Streamlit; the UI requests the FastAPI endpoint, which validates the product and invokes the agent. The agent consults the Groq model and dispatches product, price-analysis, recommendation, or product-knowledge tools; the UI displays the answer and execution trace. The README also documents semantic retrieval and structured price intelligence. The graph follows the sampled runtime code; vector-store persistence is configured, but its directory is not in the supplied tree.
Main entry points: database.py SQLite access · app.py Streamlit UI · tools.py Agent tools · rag.py Knowledge retrieval
Components 13
User interface
- Streamlit UI
app.py
Query service
- FastAPI query API
api.py
Agent and intelligence
- Tool-calling agent
agent.py - Agent tools
tools.py - Price analysis
analytics.py - Knowledge retrieval
rag.py
Product data
- Chroma vector store
- Product knowledge CSV
data/product_knowledge.csv - SQLite product store
price_intelligence.db - SQLite access
database.py
Other components
- User
- Groq LLM
- Embedding model
Connections 17
- User → Streamlit UI: asks question
- Streamlit UI → SQLite access: loads products
- SQLite access → SQLite product store: reads products
- Streamlit UI → FastAPI query API: POSTs query
- FastAPI query API → SQLite access: validates product
- FastAPI query API → Tool-calling agent: invokes agent
- Tool-calling agent → Groq LLM: calls model
- Tool-calling agent → Agent tools: dispatches tools
- Agent tools → SQLite access: gets product
- Agent tools → Price analysis: requests analysis
- Price analysis → SQLite access: reads product history
- SQLite access → SQLite product store: reads records
- Agent tools → Knowledge retrieval: retrieves knowledge
- Knowledge retrieval → Product knowledge CSV: loads documents
- Knowledge retrieval → Embedding model: creates embeddings
- Knowledge retrieval → Chroma vector store: searches vectors
- Streamlit UI → User: shows answer