π€** AI Chatbot with Pinecone + OpenAI (RAG System)**
A smart AI chatbot built using Node.js, OpenAI embeddings, and Pinecone vector database. It uses a Retrieval-Augmented Generation (RAG) approach to answer questions based on custom data.
πΏ** Features** π custom .txt data π§ Convert text into embeddings using OpenAI π¦ Store embeddings in Pinecone vector DB π Semantic search using user queries π€ AI-generated responses using OpenAI GPT models π§© Modular backend architecture (controllers, services, utils)
ποΈ** Tech Stack** Node.js Express.js OpenAI API (Embeddings + Chat Completions) Pinecone Vector Database JavaScript (ES Modules)
π Project Structure
src/ β
βββ config/ β βββ openai.js β βββ pinconeapi.js β
βββ controllers/ β βββ chatController.js β βββ adminController.js β
βββ services/ β βββ embeddingServices.js β βββ openaiServices.js β βββ pineconeService.js β
βββ utils/ β βββ searchContext.js β
βββ routes/ β βββ adminRoutes.js β βββ chatRoutes.js β
βββ data/ β βββ about.txt β βββ skills.txt β
βββ scripts/ (optional used for testing purpose only) βββ uploadData.js
βοΈ How It Works (RAG Flow) User Question
β
Generate Embedding (OpenAI)
β
Search Similar Vectors (Pinecone)
β
Retrieve Relevant Context
β
Send Context + Question to GPT
β
AI Response
β‘ Performance Notes Embeddings are generated using OpenAI API
Pinecone handles fast semantic search
Response time: ~2β4 seconds (normal RAG behavior)
π§ Key Concepts Used Embeddings (vector representation of text)
Semantic Search
Vector Database (Pinecone)
RAG Architecture
π€ Author
Kinza AI-Focused MERN Stack Developer