{"id":19632606,"url":"https://github.com/jacky-xbb/ai-assistant","last_synced_at":"2025-10-25T12:41:03.993Z","repository":{"id":245871905,"uuid":"819371797","full_name":"jacky-xbb/ai-assistant","owner":"jacky-xbb","description":"A Chatbot Using Your Documents with LangChain and Vector Database","archived":false,"fork":false,"pushed_at":"2024-06-24T13:55:22.000Z","size":298,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-09T15:14:58.057Z","etag":null,"topics":["chatbot","langchain-js"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jacky-xbb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2024-06-24T11:23:41.000Z","updated_at":"2024-06-24T14:13:12.000Z","dependencies_parsed_at":"2024-06-24T15:37:33.703Z","dependency_job_id":"c0f7b9a7-88c2-4118-bedb-dc306023e7db","html_url":"https://github.com/jacky-xbb/ai-assistant","commit_stats":null,"previous_names":["jacky-xbb/ai-assistant"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacky-xbb%2Fai-assistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacky-xbb%2Fai-assistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacky-xbb%2Fai-assistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacky-xbb%2Fai-assistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jacky-xbb","download_url":"https://codeload.github.com/jacky-xbb/ai-assistant/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240934436,"owners_count":19880992,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["chatbot","langchain-js"],"created_at":"2024-11-11T12:14:43.619Z","updated_at":"2025-10-25T12:40:58.948Z","avatar_url":"https://github.com/jacky-xbb.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AI Assistant\n\n![flowchart](https://raw.githubusercontent.com/jacky-xbb/pics/main/uPic/fIFruC.png)\n\n## Introduction\n\nThis project provides a chatbot that interacts with users based on the contents of provided documents. It integrates AI capabilities to understand and respond to user queries using the context of the documents stored in a vector database.\n\n## Features\n\n- Natural Language Processing with LangChain and OpenAI\n- Efficient document storage and retrieval with Supabase\n- React-based front-end with TailwindCSS for styling\n- Persistent chat history using local storage\n\n## Technologies Used\n\n- [Vite](https://vitejs.dev/)\n- [React](https://reactjs.org/)\n- [TailwindCSS](https://tailwindcss.com/)\n- [LangChain](https://langchain.com/)\n- [OpenAI](https://openai.com/)\n- [Supabase](https://supabase.io/)\n\n## Setup\n\nFollow these steps to set up the project locally:\n\n1. **Clone the repository:**\n\n   ```bash\n   git clone https://github.com/jacky-xbb/ai-assistant\n   cd chatbot-docs\n   ```\n\n2. **Install dependencies:**\n\n   ```bash\n   npm install\n   ```\n\n3. **Set up environment variables:**\n   Create a `.env` file in the root of your project and add your API keys:\n\n   ```plaintext\n   VITE_SUPABASE_BASE_URL=your-supabase-url\n   VITE_SUPABASE_API_KEY=your-supabase-api-key\n   VITE_OPENAI_API_KEY=your-openai-api-key\n   VITE_OPENAI_BASE_URL=https://api.openai.com/v1\n   ```\n\n4. **Start the development server:**\n\n   ```bash\n   npm run dev\n   ```\n\n## Project Structure\n\n```\nsrc/\n├── components/\n│   ├── Avatar.jsx\n│   ├── Chat.jsx\n│   ├── ChatBox.jsx\n│   ├── Header.jsx\n│   └── Message.jsx\n├── utils/\n│   ├── chain.js\n│   ├── combineDocuments.js\n│   ├── formatConvHistory.js\n│   └── retriever.js\n├── App.jsx\n├── main.jsx\n├── index.css\n└── custom.css\n```\n\n## Usage\n\n1. **Open your browser:**\n   Navigate to `http://localhost:5173`.\n\n2. **Interact with the chatbot:**\n   Type your queries in the chatbox and receive responses based on the context of your documents.\n\n## Contributing\n\nContributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacky-xbb%2Fai-assistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjacky-xbb%2Fai-assistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacky-xbb%2Fai-assistant/lists"}