{"id":27812883,"url":"https://github.com/thatsimo/yet-another-chatbot","last_synced_at":"2026-04-18T02:32:51.890Z","repository":{"id":290620618,"uuid":"975065831","full_name":"thatsimo/yet-another-chatbot","owner":"thatsimo","description":"Yet Another Chatbot is a web application designed to manage chat sessions based on documents uploaded by users.","archived":false,"fork":false,"pushed_at":"2025-04-29T18:27:24.000Z","size":97,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-04T07:16:35.335Z","etag":null,"topics":["langchain","nextjs","openai-api"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/thatsimo.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-04-29T18:18:17.000Z","updated_at":"2025-04-29T23:33:59.000Z","dependencies_parsed_at":"2025-05-01T12:01:25.676Z","dependency_job_id":null,"html_url":"https://github.com/thatsimo/yet-another-chatbot","commit_stats":null,"previous_names":["thatsimo/yet-another-chatbot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thatsimo/yet-another-chatbot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thatsimo%2Fyet-another-chatbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thatsimo%2Fyet-another-chatbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thatsimo%2Fyet-another-chatbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thatsimo%2Fyet-another-chatbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thatsimo","download_url":"https://codeload.github.com/thatsimo/yet-another-chatbot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thatsimo%2Fyet-another-chatbot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31953783,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T00:39:45.007Z","status":"online","status_checked_at":"2026-04-18T02:00:07.018Z","response_time":103,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["langchain","nextjs","openai-api"],"created_at":"2025-05-01T12:01:22.578Z","updated_at":"2026-04-18T02:32:51.863Z","avatar_url":"https://github.com/thatsimo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Yet Another Chatbot\n\n## Project Description\n\nYet Another Chatbot is a web application designed to manage chat sessions based on documents uploaded by users. It leverages technologies such as Pinecone for document indexing and retrieval, langchain (RAG) and OpenAI for generating intelligent responses.\n\n## Installation and Configuration\n\n### Prerequisites\n\n- Node.js (version 18 or higher)\n- Python (version 3.9 or higher)\n- pip\n- pnpm (package manager for Node.js)\n\n### Installation Steps\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/thatsimo/yet-another-chatbot.git\n   cd yet-another-chatbot\n   ```\n\n2. Configure environment variables:\n   Create a `.env` file in the `worker/` directory and add the following variables:\n\n   ```env\n   PINECONE_API_KEY=\u003cyour Pinecone API Key\u003e\n   PINECONE_INDEX=\u003cPinecone index name\u003e\n   PINECONE_NAMESPACE=\u003cnamespace prefix\u003e\n   EMBEDDING_MODEL=\u003cOpenAI embedding model, e.g., \"text-embedding-ada-002\"\u003e\n   OPENAI_API_KEY=\u003cyour OpenAI API Key\u003e\n   DATABASE_URL=sqlite:///./sessions.db\n   ```\n\n   Create a `.env` file in the `webapp/` directory and add the following variables:\n\n   ```env\n   NEXT_PUBLIC_API_URL=http://localhost:8000\n   ```\n\n3. Install backend dependencies:\n\n   ```bash\n   cd worker\n   pip install -r requirements.txt\n   ```\n\n4. Install frontend dependencies:\n\n   ```bash\n   cd webapp\n   pnpm install\n   ```\n\n## Running the Project\n\n### Starting the Frontend\n\n1. Navigate to the `webapp` directory:\n   ```bash\n   cd webapp\n   ```\n2. Start the development server:\n   ```bash\n   pnpm dev\n   ```\n3. Access the application at `http://localhost:3000`.\n\n### Starting the Backend\n\n1. Navigate to the `worker` directory:\n   ```bash\n   cd worker\n   ```\n2. Start the FastAPI server:\n   ```bash\n   uvicorn main:app --reload --host 0.0.0.0 --port 8000\n   ```\n3. The backend will be available at `http://localhost:8000`.\n\n## Technical Details\n\n### Libraries and Tools Used\n\n#### Frontend\n\n- **Next.js**: React framework for web applications.\n- **Tailwind CSS**: CSS framework for rapid and customizable styling.\n- **Radix UI**: Accessible and modular UI components.\n- **React Query**: Asynchronous state management.\n\n#### Backend\n\n- **FastAPI**: Python framework for fast and performant APIs.\n- **Pinecone**: Service for vector indexing and retrieval.\n- **LangChain**: Tools for managing LLM (Large Language Models) chains.\n\n#### Other Tools\n\n- **Prettier**: Code formatting.\n- **pnpm**: Package manager for Node.js.\n\n### Template and Structure\n\n- The project uses a modular structure with separate folders for the frontend (`webapp`) and backend (`worker`).\n- UI components are organized in the `webapp/components/ui` directory for easy reusability.\n- The backend is designed to handle chat sessions and upload documents to Pinecone for contextual retrieval.\n\nFor more information, refer to the code documentation or contact the development team.\n\n## License\n\nDo not use this code for any commercial purposes. This project is for educational purposes only and is not intended for production use.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthatsimo%2Fyet-another-chatbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthatsimo%2Fyet-another-chatbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthatsimo%2Fyet-another-chatbot/lists"}