{"id":27948528,"url":"https://github.com/hamza-cpp/research-assistant","last_synced_at":"2025-05-07T14:59:17.273Z","repository":{"id":288997931,"uuid":"969781369","full_name":"Hamza-cpp/research-assistant","owner":"Hamza-cpp","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-20T23:21:39.000Z","size":779,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-07T14:59:13.660Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/Hamza-cpp.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-20T23:06:19.000Z","updated_at":"2025-04-20T23:21:42.000Z","dependencies_parsed_at":"2025-04-21T00:38:12.560Z","dependency_job_id":null,"html_url":"https://github.com/Hamza-cpp/research-assistant","commit_stats":null,"previous_names":["hamza-cpp/research-assistant"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hamza-cpp%2Fresearch-assistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hamza-cpp%2Fresearch-assistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hamza-cpp%2Fresearch-assistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hamza-cpp%2Fresearch-assistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hamza-cpp","download_url":"https://codeload.github.com/Hamza-cpp/research-assistant/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252902605,"owners_count":21822258,"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":[],"created_at":"2025-05-07T14:59:16.617Z","updated_at":"2025-05-07T14:59:17.260Z","avatar_url":"https://github.com/Hamza-cpp.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Research Article Assistant\n\nA web application that helps users summarize and search scientific articles from ArXiv and HAL archives. It provides automatic summarization of scientific articles and keyword extraction to help users quickly understand research papers.\n\n## Screenshots\n\n### Article Summary View\n\n![Article Summary](imgs/image.png)\n*Example of an article summary showing details, generated summary, and key concepts*\n\n### Search Results View\n\n![Search Results](imgs/image2.png)\n*Search interface showing results from HAL archives*\n\n### API view\n\n![Search Results](imgs/image3.png)\n\n## Features\n\n- **Article Summarization**: Generate concise summaries of scientific papers\n- **Key Concept Extraction**: Identify the most important concepts in research papers\n- **Research Search**: Search for articles on ArXiv and HAL archives\n- **Clean User Interface**: Modern, responsive design for easy navigation\n\n## Project Structure\n\nThe project is divided into two main components:\n\n1. **Backend (Flask API)**: Handles article extraction, summarization, and search\n2. **Frontend (React)**: Provides user interface for interacting with the API\n\n## Technologies Used\n\n### Backend\n\n- Python 3.11+\n- Flask (Web framework)\n- LangChain (LLM integration)\n- Groq (LLM provider)\n- Pinecone (Vector database)\n\n### Frontend\n\n- React 19\n- JavaScript/JSX\n- CSS\n- Vite (Build tool)\n\n## Setup and Installation\n\n### Prerequisites\n\n- Python 3.11+\n- Node.js 18+ (for frontend)\n- pnpm or npm\n- Groq API Key\n- Pinecone API Key and environment\n\n### Backend Setup\n\n1. Clone the repository\n\n   ```bash\n   git clone https://github.com/Hamza-cpp/research-assistant.git\n   cd research-assistant\n   ```\n\n2. Create a Python virtual environment\n\n    ```bash\n    python -m venv .venv\n    source .venv/bin/activate  # On Windows: venv\\\\Scripts\\\\activate\n    ```\n\n3. Install backend dependencies\n\n   ```bash\n   pip install -e .\n   ```\n\n4. Configure environment variables by creating a `.env` file in the root directory:\n\n   ```bash\n   # Flask settings\n    FLASK_APP=main.py\n    FLASK_DEBUG=True\n    PORT=5000\n\n    # API Keys\n    GROQ_API_KEY=your_groq_api_key_here\n    PINECONE_API_KEY=your_pinecone_api_key_here\n    PINECONE_ENVIRONMENT=your_pinecone_environment_here\n    ```\n\n5. Run the backend server\n\n   ```bash\n   python main.py\n   ```\n\n   The API will be available at \u003chttp://localhost:5000\u003e\n\n### Frontend Setup\n\n1. Navigate to the web-ui directory\n\n   ```bash\n   cd web-ui\n   ```\n\n2. Install frontend dependencies using pnpm\n\n   ```bash\n   pnpm install\n   ```\n\n   (Alternatively, you can use npm: `npm install`)\n\n3. Start the development server\n\n   ```bash\n   pnpm run dev # or npm run dev\n   ```\n\n4. The frontend application will be available at \u003chttp://localhost:5173\u003e\n\n## API Endpoints\n\nThe backend provides the following API endpoints:\n\n- `GET /api/health`: Health check endpoint\n- `POST /api/summarize`: Summarize an article from its URL\n\n    ```bash\n    // Request Body\n    {\n    \"article_url\": \"https://arxiv.org/abs/2303.08774\"\n    }\n    ```\n\n- `GET /api/search`: Search for articles\n\n    ```bash\n    // Query Parameters\n    ?q=machine+learning\u0026source=arxiv\u0026max_results=10\n    ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhamza-cpp%2Fresearch-assistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhamza-cpp%2Fresearch-assistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhamza-cpp%2Fresearch-assistant/lists"}