{"repo": "buvanipai/instalilyai-partselect-chatbot", "files": {"README.md": {"d2fb9954543384771f5c6cbe6b07449470955615": {"t": 1785746599.4334157, "n": 2782, "h": "a617e0c6464fd26d", "c": "# PartSelect Chat Agent\n\n## Overview\nA lightweight chat agent for PartSelect’s refrigerator & dishwasher parts, supporting:\n- Install guidance\n- Compatibility checks\n- Troubleshooting steps\n- Product info & availability\n- Cart management & order status\n\nAll logic is handled by four modular backend agents (Intent, Retrieval, Product, Transaction) behind a single `/chat` Express endpoint.\n\n## Tech Stack\n- **Frontend:** React (Create React App template in `case-study/`)\n- **Backend:** Node.js & Express (in `backend/`)\n- **Agents:**\n - **IntentAgent** → Deepseek-chat for intent classification\n - **RetrievalAgent** → OpenAI embeddings (`text-embedding-ada-002`) + cosine similarity over static catalog\n - **ProductAgent** → Deepseek-chat for answer generation\n - **TransactionAgent** → In-memory cart and order logic\n- **Environment Variables:**\n - `DEEPSEEK_API_KEY` → Deepseek completions\n - `OPENAI_API_KEY` → OpenAI embeddings\n - `PORT` → Backend port (default `5001`)\n\n## Setup & Run\n1. **Clone & install**\n ```bash\n git clone https://github.com/buvanipai/Instalilyai-partselect-chatbot.git\n cd partselect\n npm install # installs both frontend & backend dependencies\n ```\n\n2. **Configure**\n Create a root-level `.env` with:\n ```ini\n DEEPSEEK_API_KEY=sk-...\n OPENAI_API_KEY=sk-...\n ```\n\n3. **Start services**\n - **Backend:**\n ```bash\n cd backend\n node server.js\n ```\n - **Frontend:**\n ```bash\n cd ../case-study\n npm start # or npm run dev\n ```\n - Backend → `http://localhost:5001`\n - Frontend → `http://localhost:3000`\n\n## Usage Examples\n- “How do I install PS11752778?”\n- “Is PS11753379 compatible with WDT780SAEM1?”\n- “My ice maker is leaking—what should I replace?”\n- “Add PS11752778 and PS11750092 to my cart, then view my cart.”\n\n## Design Process & Rationale\n- **Agent-Driven Decomposition:** I started by identifying key responsibilities—intent parsing, part retrieval, response generation, and transactions—and encapsulated each in its own agent to support clear ownership and future swaps.\n- **Embedding-Based Retrieval:** To avoid fragile keyword rules, I experimented with dumping the entire catalog before realizing embedding a focused, static parts list offered both semantic flexibility and performance without extra services.\n- **Iterative Prompt Refinement:** I tested large-prompt RAG and then refined it to feed only the most relevant part’s data to Deepseek-chat, which cut down token usage and improved answer precision.\n- **Minimal Transaction Infrastructure:** For rapid delivery, I prototyped in-memory cart and mock-order flows, ensuring end-to-end user experience with zero external dependencies, leaving room to integrate real order systems later.\n"}, "6b599aaa15335b6c869708fe3d022e1c4e8f56ad": {"t": 1785766194.161739, "n": 2782, "h": "a617e0c6464fd26d", "c": "# PartSelect Chat Agent\n\n## Overview\nA lightweight chat agent for PartSelect’s refrigerator & dishwasher parts, supporting:\n- Install guidance\n- Compatibility checks\n- Troubleshooting steps\n- Product info & availability\n- Cart management & order status\n\nAll logic is handled by four modular backend agents (Intent, Retrieval, Product, Transaction) behind a single `/chat` Express endpoint.\n\n## Tech Stack\n- **Frontend:** React (Create React App template in `case-study/`)\n- **Backend:** Node.js & Express (in `backend/`)\n- **Agents:**\n - **IntentAgent** → Deepseek-chat for intent classification\n - **RetrievalAgent** → OpenAI embeddings (`text-embedding-ada-002`) + cosine similarity over static catalog\n - **ProductAgent** → Deepseek-chat for answer generation\n - **TransactionAgent** → In-memory cart and order logic\n- **Environment Variables:**\n - `DEEPSEEK_API_KEY` → Deepseek completions\n - `OPENAI_API_KEY` → OpenAI embeddings\n - `PORT` → Backend port (default `5001`)\n\n## Setup & Run\n1. **Clone & install**\n ```bash\n git clone https://github.com/buvanipai/Instalilyai-partselect-chatbot.git\n cd partselect\n npm install # installs both frontend & backend dependencies\n ```\n\n2. **Configure**\n Create a root-level `.env` with:\n ```ini\n DEEPSEEK_API_KEY=sk-...\n OPENAI_API_KEY=sk-...\n ```\n\n3. **Start services**\n - **Backend:**\n ```bash\n cd backend\n node server.js\n ```\n - **Frontend:**\n ```bash\n cd ../case-study\n npm start # or npm run dev\n ```\n - Backend → `http://localhost:5001`\n - Frontend → `http://localhost:3000`\n\n## Usage Examples\n- “How do I install PS11752778?”\n- “Is PS11753379 compatible with WDT780SAEM1?”\n- “My ice maker is leaking—what should I replace?”\n- “Add PS11752778 and PS11750092 to my cart, then view my cart.”\n\n## Design Process & Rationale\n- **Agent-Driven Decomposition:** I started by identifying key responsibilities—intent parsing, part retrieval, response generation, and transactions—and encapsulated each in its own agent to support clear ownership and future swaps.\n- **Embedding-Based Retrieval:** To avoid fragile keyword rules, I experimented with dumping the entire catalog before realizing embedding a focused, static parts list offered both semantic flexibility and performance without extra services.\n- **Iterative Prompt Refinement:** I tested large-prompt RAG and then refined it to feed only the most relevant part’s data to Deepseek-chat, which cut down token usage and improved answer precision.\n- **Minimal Transaction Infrastructure:** For rapid delivery, I prototyped in-memory cart and mock-order flows, ensuring end-to-end user experience with zero external dependencies, leaving room to integrate real order systems later.\n"}, "0c95b66226ee8245460b66a4e63d966717cbb047": {"t": 1785766195.5233216, "n": 2758, "h": "2171b0dc9176cb28", "c": "# PartSelect Chat Agent\n\n## Overview\nA lightweight chat agent for PartSelect’s refrigerator & dishwasher parts, supporting:\n- Install guidance\n- Compatibility checks\n- Troubleshooting steps\n- Product info & availability\n- Cart management & order status\n\nAll logic is handled by four modular backend agents (Intent, Retrieval, Product, Transaction) behind a single `/chat` Express endpoint.\n\n## Tech Stack\n- **Frontend:** React (Create React App template in `case-study/`)\n- **Backend:** Node.js & Express (in `backend/`)\n- **Agents:**\n - **IntentAgent** → Deepseek-chat for intent classification\n - **RetrievalAgent** → OpenAI embeddings (`text-embedding-ada-002`) + cosine similarity over static catalog\n - **ProductAgent** → Deepseek-chat for answer generation\n - **TransactionAgent** → In-memory cart and order logic\n- **Environment Variables:**\n - `DEEPSEEK_API_KEY` → Deepseek completions\n - `OPENAI_API_KEY` → OpenAI embeddings\n - `PORT` → Backend port (default `5001`)\n\n## Setup & Run\n1. **Clone & install**\n ```bash\n git clone https://github.com/buvani/partselect.git\n cd partselect\n npm install # installs both frontend & backend dependencies\n ```\n\n2. **Configure**\n Create a root-level `.env` with:\n ```ini\n DEEPSEEK_API_KEY=sk-...\n OPENAI_API_KEY=sk-...\n ```\n\n3. **Start services**\n - **Backend:**\n ```bash\n cd backend\n node server.js\n ```\n - **Frontend:**\n ```bash\n cd ../case-study\n npm start # or npm run dev\n ```\n - Backend → `http://localhost:5001`\n - Frontend → `http://localhost:3000`\n\n## Usage Examples\n- “How do I install PS11752778?”\n- “Is PS11753379 compatible with WDT780SAEM1?”\n- “My ice maker is leaking—what should I replace?”\n- “Add PS11752778 and PS11750092 to my cart, then view my cart.”\n\n## Design Process & Rationale\n- **Agent-Driven Decomposition:** I started by identifying key responsibilities—intent parsing, part retrieval, response generation, and transactions—and encapsulated each in its own agent to support clear ownership and future swaps.\n- **Embedding-Based Retrieval:** To avoid fragile keyword rules, I experimented with dumping the entire catalog before realizing embedding a focused, static parts list offered both semantic flexibility and performance without extra services.\n- **Iterative Prompt Refinement:** I tested large-prompt RAG and then refined it to feed only the most relevant part’s data to Deepseek-chat, which cut down token usage and improved answer precision.\n- **Minimal Transaction Infrastructure:** For rapid delivery, I prototyped in-memory cart and mock-order flows, ensuring end-to-end user experience with zero external dependencies, leaving room to integrate real order systems later."}}}}