{"id":25230553,"url":"https://github.com/cikavelja/support-chat-bot","last_synced_at":"2026-02-05T21:31:42.188Z","repository":{"id":275921797,"uuid":"927645116","full_name":"cikavelja/support-chat-bot","owner":"cikavelja","description":"Sample Tech Support Chat Bot","archived":false,"fork":false,"pushed_at":"2025-02-08T08:13:35.000Z","size":448,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-26T06:28:48.723Z","etag":null,"topics":["ai","csharp","ollama","qdrant-vector-database","rag","webapi-core"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cikavelja.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-02-05T09:57:27.000Z","updated_at":"2025-03-11T13:11:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"37e2fe61-b214-456f-9e1c-adcf2f2f6bbb","html_url":"https://github.com/cikavelja/support-chat-bot","commit_stats":null,"previous_names":["cikavelja/support-chat-bot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cikavelja/support-chat-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cikavelja%2Fsupport-chat-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cikavelja%2Fsupport-chat-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cikavelja%2Fsupport-chat-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cikavelja%2Fsupport-chat-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cikavelja","download_url":"https://codeload.github.com/cikavelja/support-chat-bot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cikavelja%2Fsupport-chat-bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29135047,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T20:50:26.975Z","status":"ssl_error","status_checked_at":"2026-02-05T20:49:26.082Z","response_time":65,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","csharp","ollama","qdrant-vector-database","rag","webapi-core"],"created_at":"2025-02-11T11:59:43.423Z","updated_at":"2026-02-05T21:31:42.172Z","avatar_url":"https://github.com/cikavelja.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📌 Support Chat Bot\n\n## 📖 Overview\nThis repository provides a **custom AI-powered support chat bot**, built using:\n- 🖥 **C# API** utilizing the **Ollama AI server** with the `all-minilm` model\n- 📊 **Qdrant Vector Database** for storing and retrieving support topics\n- 🌐 **Angular and React** as UI options\n\nThis guide will walk you through setting up the chat bot, installing dependencies, and running the project.\n\n---\n\n## 🎥 Video Explanation\nFor a detailed video explanation, watch this video:\n[![Watch the video](https://img.youtube.com/vi/P9sKwAVuDTw/0.jpg)](https://youtu.be/P9sKwAVuDTw)\n\n---\n\n## ⚙️ **Prerequisites**\nEnsure you have the following installed:\n- 🐳 **Docker** (for running Qdrant)\n- 🏗 **.NET Core 9+** (for running the API)\n- 📦 **Node.js \u0026 npm/yarn** (for running Angular or React UI)\n- 🔗 **Git** (for cloning the repository)\n\n---\n\n## 🏗 **1. Install Ollama AI Server**\nOllama is required to generate embeddings using the `all-minilm` model.\n\n### 🐧 **Linux/macOS**\n```sh\ncurl -fsSL https://ollama.ai/install.sh | sh\n```\n\n### 🖥 **Windows**\n1. Download the **Windows installer** from [Ollama AI](https://ollama.ai/download)\n2. Run the installer and follow the instructions\n\nVerify the installation:\n```sh\nollama --version\n```\n\n---\n\n## 🔄 **2. Pull the All-MiniLM Model**\nOnce Ollama is installed, pull the `all-minilm` model:\n```sh\nollama pull all-minilm\n```\nConfirm the model is available:\n```sh\nollama list\n```\n\n---\n\n## 🗄 **3. Install and Run Qdrant Vector Database**\nQdrant is used as a **vector database** to store and retrieve support topics efficiently.\n\n### 🐳 **Using Docker**\nPull Qdrant using the following command:\n```sh\ndocker pull qdrant/qdrant\n```\nRun Qdrant using the following command:\n```sh\ndocker run -p 6333:6333 -p 6334:6334  -v qdrant_storage:/qdrant/storage qdrant/qdrant\n```\n\nCheck if Qdrant is running:\n🌐 **http://localhost:6333/**\n\nQdrant dashboard:\n🌐 **http://localhost:6333/dashboard**\n\n---\n\n## 🔽 **4. Clone the Repository**\nClone the chat bot repository from GitHub:\n```sh\ngit clone https://github.com/cikavelja/support-chat-bot.git\ncd support-chat-bot\n```\n\n---\n\n## 🏗 **5. Set Up the C# API**\nNavigate to the backend folder:\n```sh\ncd backend\n```\n\n### 📦 **Install Dependencies**\n```sh\ndotnet restore\n```\n\n### 🚀 **Run the API**\n```sh\ndotnet run\n```\n\nThe API should now be running at 🌐 `http://localhost:5140/`.\n\n---\n\n## 🌐 **6. Run the Angular UI**\nNavigate to the Angular frontend directory:\n```sh\ncd frontend-angular\n```\n\n### 📦 **Install Dependencies**\n```sh\nnpm install\n```\n\n### 🚀 **Run the Angular App**\n```sh\nnpm start\n```\n\nThe Angular UI should now be accessible at 🌐 `http://localhost:4200/`.\n\n---\n\n## ⚛️ **7. Run the React UI**\nNavigate to the React frontend directory:\n```sh\ncd frontend-react\n```\n\n### 📦 **Install Dependencies**\n```sh\nnpm install\n```\n\n### 🚀 **Run the React App**\n```sh\nnpm start\n```\n\nThe React UI should now be accessible at 🌐 `http://localhost:3000/`.\n\n---\n\n## 🛠 **8. Usage**\n1. Open the **Angular or React UI**.\n2. Enter a support query or topic.\n3. The query is converted to an **embedding vector** using Ollama AI.\n4. The **Qdrant vector database** searches for the most relevant support topics.\n5. The result is displayed in the UI.\n\n---\n\n## 🔗 **9. API Endpoints**\n\n### 📌 **POST `/api/Support/query`** (User Query)\n- **Request Body:**\n```json\n{\n  \"userPrompt\": \"How do I update my payment details?\",\n  \"connectionId\": \"12345\"\n}\n```\n- **Response:**\n```json\n{\n  \"response\": \"To update your payment method, go to the 'Billing' section and update your payment details.\"\n}\n```\n\n### 📌 **POST `/api/SupportAdmin/add`** (Admin Adds New Support Topic)\n- **Request Body:**\n```json\n{\n  \"title\": \"Payment Update\",\n  \"description\": \"To update payment details, navigate to 'Billing' and select 'Payment Methods'.\"\n}\n```\n- **Response:**\n```json\n{\n  \"message\": \"Support topic added successfully!\",\n  \"id\": 123456789\n}\n```\n\n---\n\n## 🤝 **10. Contributing**\n1. Fork the repository\n2. Create a new branch\n3. Make your changes\n4. Submit a pull request\n\n---\n\n## 🛠 **11. Troubleshooting**\n\n### ❓ **Qdrant Not Running?**\nCheck if the container is running:\n```sh\ndocker ps\n```\nIf not, restart it:\n```sh\ndocker start qdrant\n```\n\n### ❓ **API Not Responding?**\nCheck if the API is running at 🌐 `http://localhost:5140/`:\n```sh\ncurl http://localhost:5140/api/Support/query\n```\n\n### ❓ **Frontend Not Loading?**\nEnsure that the React/Angular app is running and check the console for errors.\n\n---\n\n## 📜 **12. License**\nThis project is licensed under the **MIT License**.\n\n---\n\n## 📧 **13. Contact**\nFor support, contact: ✉️ `veljkovic.nenad@gmail.com`\n\n🚀 Happy Coding!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcikavelja%2Fsupport-chat-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcikavelja%2Fsupport-chat-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcikavelja%2Fsupport-chat-bot/lists"}